Saranče | |
---|---|
Tvůrce |
FSB Ruska , InfoTeKS JSC |
zveřejněno | 2015 |
Normy | GOST 34.12-2018 , GOST R 34.12-2015 , RFC 7801 |
Velikost klíče | 256 bit |
Velikost bloku | 128 bit |
Počet kol | deset |
Typ | Substitučně-permutační síť |
Grasshopper ( anglicky Kuznyechik [1] nebo anglicky Kuznechik [2] [3] ) je algoritmus symetrické blokové šifry s velikostí bloku 128 bitů a délkou klíče 256 bitů, který ke generování kulatých klíčů využívá síť SP .
Tato šifra je schválena (spolu s blokovou šifrou Magma ) jako standard v GOST R 34.12-2015 „Informační technologie. Kryptografická ochrana informací. Blokové šifry“ příkazem ze dne 19. června 2015 č. 749-st [4] . Norma nabyla účinnosti 1. ledna 2016 [5] . Šifru vyvinulo Centrum pro ochranu informací a speciální komunikace Federální bezpečnostní služby Ruska za účasti společnosti Informační technologie a komunikační systémy JSC ( InfoTeKS JSC ). Zavedeno Technickým výborem pro normalizaci TC 26 „Kryptografická ochrana informací“ [6] [7] .
Protokol č. 54 ze dne 29. listopadu 2018 , založený na GOST R 34.12-2015 , přijala Mezistátní rada pro metrologii, normalizaci a certifikaci mezistátní normu GOST 34.12-2018 . Nařízením Federální agentury pro technickou regulaci a metrologii ze dne 4. prosince 2018 č. 1061-st byla od 1. června 2019 uvedena v platnost norma GOST 34.12-2018 jako národní norma Ruské federace .
je Galoisovo pole modulo neredukovatelný polynom .
je bijektivní zobrazení, které spojuje prvek kruhu ( ) s jeho binární reprezentací.
je zobrazení inverzní k .
je bijektivní mapování, které spojuje binární řetězec s prvkem pole .
- zobrazení inverzní k
K šifrování, dešifrování a generování klíče se používají následující funkce:
, kde , jsou binární řetězce ve tvaru … ( je symbol zřetězení řetězce ).
... je opakem transformace.
… …
- obráceně k transformaci a ... ...
, kde je složení přeměn atp .
Nelineární transformace je dána substitucí S = Bin 8 S' Bin 8 −1 .
Substituční hodnoty S' jsou uvedeny jako pole S' = (S'(0), S'(1), …, S'(255)) :
Nastavení podle displeje :
…
kde se operace sčítání a násobení provádějí na poli .
Algoritmus generování klíče používá iterační konstanty i=1,2,…32. Sdílený klíč je nastaven ... .
Vypočítají se iterační klíče
…
…
…
... kde a je 128bitový řetězec.
…
Řetězec "a" je zadán v šestnáctkové soustavě a má velikost 16 bajtů, přičemž každý bajt je určen dvěma hexadecimálními čísly.
Tabulka mapování řetězců v binárním a hexadecimálním tvaru:
0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
0 | jeden | 2 | 3 | čtyři | 5 | 6 | 7 | osm | 9 | A | b | C | d | E | F |
…
V důsledku toho získáme iterační klíče:
prostý text
Očekává se, že nová bloková šifra „Grasshopper“ bude odolná vůči všem druhům útoků na blokové šifry .
Na konferenci CRYPTO 2015 představili Alex Biryukov, Leo Perrin a Alexey Udovenko zprávu, která uvádí, že navzdory tvrzení vývojářů nejsou hodnoty S-bloku šifry Grasshopper a hashovací funkce Stribog (pseudo) náhodná čísla. , ale jsou generovány na základě skrytého algoritmu, který se jim podařilo obnovit metodami reverzního inženýrství [9] . Později Leo Perrin a Aleksey Udovenko publikovali dva alternativní algoritmy pro generování S-boxu a dokázali jeho spojení s S-boxem běloruské šifry BelT [10] . V této studii autoři také tvrdí, že ačkoli důvody pro použití takové struktury zůstávají nejasné, použití skrytých algoritmů pro generování S-boxů je v rozporu se zásadou „žádný trik v díře“ , která by mohla sloužit jako důkaz absence záměrně vložených zranitelností v návrhu algoritmu.
Riham AlTawy a Amr M. Youssef popsali setkání ve středním útoku na 5 kol šifry Grasshopper, která má výpočetní náročnost 2140 a vyžaduje 2153 paměti a 2113 dat [11] .
Symetrické kryptosystémy | |
---|---|
Streamové šifry | |
Síť Feistel | |
Síť SP | |
jiný |