Kalyna / Калина
DSTU 7624:2014 · block cipherблочний шифр
verified
верифіковано
"kalyna" — guelder rose / viburnum, a plant name
«калина» — назва рослини, символічної для української культури
All 5 block/key-size variants; full DSTU 7624 mode coverage
(ECB/CBC/CFB/OFB/CTR/CMAC/KW/CCM/GCM/GMAC/XTS).
Усі 5 варіантів блоку/ключа; повне покриття режимів DSTU 7624
(ECB/CBC/CFB/OFB/CTR/CMAC/KW/CCM/GCM/GMAC/XTS).
Official test vectors, cross-checked against real
Bouncy Castle (Java & .NET). CCM/GCM modes are dual-oracle but not yet confirmed
against the primary DSTU 7624 text itself — see the callout below.
Офіційні тестові вектори, звірені з реальною Bouncy
Castle (Java і .NET). Режими CCM/GCM пройшли подвійний оракул, але ще не звірені з самим
первинним текстом DSTU 7624 — див. примітку нижче.
Kupyna / Купина
DSTU 7564:2014 · hash functionгеш-функція
verified
верифіковано
"kupyna" — literally "bush"
«купина» — буквально «кущ»
256- and 512-bit output, one-shot digest and streaming
update/finalize.
Вихід 256 і 512 біт, одноразовий дайджест і потокові
update/finalize.
Official test vectors, cross-checked against real
Bouncy Castle (Java & .NET).
Офіційні тестові вектори, звірені з реальною Bouncy
Castle (Java і .NET).
Strumok / Струмок
DSTU 8845:2019 · stream cipherпотоковий шифр
provisional
попередньо
"strumok" — brook, a small stream
«струмок» — невеликий потік води, струмочок
256- and 512-bit keystream generation.
Генерація keystream, 256 і 512 біт.
UAPKI-attributed vectors, plus additional
officially-sourced supplementary vectors obtained separately — an upgrade, not a closure:
still not confirmed against the primary, paid DSTU 8845 text itself.
Вектори, атрибутовані UAPKI, плюс додаткові офіційні
вектори, отримані окремо, — це підвищення довіри, а не закриття питання: досі не звірено
з самим первинним, платним текстом DSTU 8845.
DSTU 4145
DSTU 4145-2002 · digital signatureцифровий підпис
verified
верифіковано
ECDSA-style signatures on a national elliptic curve
ECDSA-подібний підпис на національній еліптичній кривій
crypto_sign: deterministic, Kupyna-KMAC-derived
nonce — no caller-supplied randomness to get wrong.
crypto_sign: детермінований nonce, похідний від
Kupyna-KMAC — немає користувацької випадковості, яку можна зіпсувати.
Vector-confirmed against the primary standard text.
Звірено з первинним текстом стандарту за тестовими
векторами.
DSTU 9041
DSTU 9041:2020 · asymmetric encryptionасиметричне шифрування
verified
верифіковано
Hybrid encryption over twisted Edwards curves
Гібридне шифрування на скручених кривих Едвардса
crypto_box: the libsodium crypto_box_seal
equivalent — a KEM wraps a random seed, which derives the key for the actual message via
crypto_secretstream.
crypto_box: аналог crypto_box_seal з
libsodium — KEM обгортає випадкове зерно, яке породжує ключ для самого повідомлення через
crypto_secretstream.
Vector-confirmed against the standard's own worked
example (Додаток Г), but only the recommended l(p)=256/E256/1 curve — the
standard also defines 384/512/768-bit variants, not yet implemented. The
crypto_box composition itself (KEM + KDF + crypto_secretstream)
isn't DSTU-specified, so it has no vector oracle of its own — verified by property and
tamper testing instead, the same posture as crypto_secretstream.
Звірено з власним прикладом стандарту (Додаток Г), але
лише для рекомендованої кривої l(p)=256/E256/1 — стандарт також визначає
варіанти на 384/512/768 біт, ще не реалізовані. Сама композиція crypto_box
(KEM + KDF + crypto_secretstream) не визначена стандартом, тож не має власного
тестового оракула — верифікована властивісними тестами й тестами на підробку, як і
crypto_secretstream.
Two constructions worth reading the fine print on
Дві конструкції, варті уваги в деталях
Kalyna-CCM/GCM (used by the mid-level kalyna-ccm
CLI command and by crypto_secretbox): dual-oracle verified, but not yet
confirmed against the primary DSTU 7624 text for these specific modes. The AEAD
framing behind uacrypt encrypt/decrypt
(crypto_secretstream) is provisional in a stronger sense still — it's an
original, chunked-streaming construction with no DSTU standard defining anything like it, so
no official vector can ever exist for it. It's verified instead by property, tamper, and
misuse testing, not by a vector match.
Kalyna-CCM/GCM (використовується у CLI-команді
kalyna-ccm та в crypto_secretbox): пройшли подвійний оракул, але ще
не звірені з первинним текстом DSTU 7624 саме для цих режимів. AEAD-обгортка за
uacrypt encrypt/decrypt (crypto_secretstream)
— попередня в ще сильнішому сенсі: це власна, чанкована потокова конструкція, для якої в
DSTU взагалі немає відповідника, тож офіційний тестовий вектор для неї в принципі не може
існувати. Її перевіряють властивісними тестами, тестами на підробку та тестами на
хибне використання — а не звірянням із вектором.