Цей пакет реалізує криптографічний провайдер для української постквантової криптографії на базі концепції стандарту ДСТУ-ПК 2026.
- Стандарт: ДСТУ 7564:2014 (модифікація для постквантової стійкості)
- Розмір хешу: 512 біт
- Стійкість: 256 біт (Category 5)
import "github.com/vpnclient/https-vpn/crypto/ua/kupyna"
hash := kupyna.Sum512([]byte("повідомлення"))- Стандарт: ДСТУ 7624:2014 (модифікація з 512-бітним ключем)
- Розмір блоку: 512 біт
- Розмір ключа: 512 біт
- Режим: GCM для аутентифікованого шифрування
import "github.com/vpnclient/https-vpn/crypto/ua/kalyna"
cipher, err := kalyna.NewCipher512(key)- Основа: Module-LWE (аналог ML-KEM/Kyber-1024)
- Стійкість: 256 біт (Category 5)
- Гібридний режим: X25519 + Malva для TLS
- Основа: SIS/решітки (аналог ML-DSA/Dilithium-5)
- Стійкість: 256 біт (Category 5)
- Гібридний режим: ДСТУ 4145 + Сокіл
| ID | Назва | Опис |
|---|---|---|
| 0xD001 | TLS_UA_KALYNA_512_GCM_KUPYNA_512 | Основний постквантовий suite |
| 0xD002 | TLS_UA_KALYNA_256_GCM_KUPYNA_256 | Полегшений варіант |
{
"tlsSettings": {
"cipherSuites": "ua"
}
}import (
"github.com/vpnclient/https-vpn/crypto"
_ "github.com/vpnclient/https-vpn/crypto/ua" // Реєстрація провайдера
)
provider, ok := crypto.Get("ua")
if ok {
err := provider.ConfigureTLS(tlsConfig)
}| Компонент | Статус | Тести |
|---|---|---|
| Купина-512 | Базова реалізація | Структура OK |
| Калина-512 | Базова реалізація | Encrypt/Decrypt OK |
| Мальва-1024 | Базова реалізація | KeyGen OK |
| Сокіл-512 | Базова реалізація | KeyGen OK |
| TLS провайдер | Реалізовано | 12/12 PASS |
| Гібридний KEM | Очікує | - |
Примітка: Постквантові алгоритми (Мальва, Сокіл) мають базову структуру. Для production використання потрібна повна реалізація NTT та тестові вектори.
vpnclientNONC
- ДСТУ 7564:2014 - Хеш-функція Купина
- ДСТУ 7624:2014 - Блочний шифр Калина
- NIST FIPS 203 - ML-KEM (референс для Мальви)
- NIST FIPS 204 - ML-DSA (референс для Сокола)