STRUMOK | |
---|---|
Tvůrce | Oleksandr Kuzněcov, Marija Lutsenko, Dmytro Ivanenko, Institut informačních technologií PAT |
Vytvořeno | 2016 |
Normy | DSTU 8845:2019 |
Velikost klíče | 256, 512 bitů |
Typ | Streamová šifra |
„ STRUMOK “ ( ang. STRUMOK ; rusky stream; flow; jet) je streamovací symetrická šifra popsaná v národním standardu Ukrajiny DSTU 8845:2019 „Informační technologie. Kryptografická ochrana informací. Algoritmus pro symetrickou streamingovou transformaci“ [1] . Norma vstoupila v platnost 1. října 2019.
V závislosti na délce tajného klíče má dva provozní režimy: "STRUMOK-256" a "STRUMOK-512".
STRUMOK poskytuje vysokou rychlost generování toku klíčů (více než 10 Gbit/s).
Algoritmus STRUMOK je založen na myšlence hry , která spočívá v „vnucování“ sekvence náhodných čísel na prostý text . Generátor pseudonáhodných čísel STRUMOK využívá 256bitový inicializační vektor a 256bitový nebo 512bitový tajný klíč a poskytuje zabezpečení s ohledem na možné použití kvantové kryptografické analýzy . Kryptoalgoritmus je orientován na 64bitové výpočetní systémy, proto je velikost slova definována na 64 bitů .
Hlavními konstrukčními součástmi generátoru jsou lineární zpětnovazební posuvný registr a stavový stroj, ve kterém se provádí nelineární transformace. Vstupní data ( klíč a inicializační vektor ) slouží k inicializaci stavové proměnné , která se skládá z osmnácti 64bitových bloků:
Výstupem je keystream ( gama ), který je tvořen 64bitovými slovy .
Algoritmus STRUMOK má tři hlavní funkce:
Vstup: 256bitový nebo 512bitový klíč , 256bitový inicializační vektor .
Výstup: počáteční hodnota stavové proměnné .
Vstup: Stavová proměnná a režim činnosti (normální nebo inicializační režim).
Výstup: Stavová proměnná .
Vstup: Stavová proměnná .
Výstup: keystream .
Funkce stavového automatu se používá ve funkcích a .
Vstup: tři 64bitové linky .
Výstup: 64bitový řetězec .
Zpětnou vazbu v lineárním zpětnovazebním posuvném registru lze popsat operacemi na prvcích konečného pole .
Zpětná vazba v posuvném registru je postavena na polynomickém poli :
kde je kořen polynomu nad polem :
,kde je kořen polynomu nad polem :
.Pole je sestrojeno nad polem polynomem .
Perioda výstupní sekvence posuvného registru je maximální a rovná se .
Generátor keystreamu STRUMOK je svou koncepcí podobný SNOW 2.0 . SNOW 2.0 je však navržen pro použití v 32bitových počítačových systémech, zatímco STRUMOK je navržen pro použití ve výkonnějších 64bitových počítačových systémech. V tomto ohledu se v algoritmu Strumok zvyšuje rychlost generování pseudonáhodné sekvence. [2] V algoritmu STRUMOK jsou oproti SNOW2.0 prodlouženy délky tajného klíče a inicializačního vektoru. To vám umožní spolehlivě používat proudovou šifru i v podmínkách, kdy je útočníkovi k dispozici použití kvantové kryptoanalýzy. [3]
Testování zaměřené na určení náhodnosti binárních sekvencí NIST ukazuje, že algoritmus STRUMOK je horší než SNOW 2.0 . [čtyři]
Generátor toku klíčů STRUMOK umožňuje generovat pseudonáhodné sekvence rychlostí více než 10 Gbps (Intel Core i9-7980XE 2,60 GHz a OS Windows® 10 Pro). [5]
Symetrické kryptosystémy | |
---|---|
Streamové šifry | |
Síť Feistel | |
Síť SP | |
jiný |