Kobylka (šifra)

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 .

Obecné informace

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 .

Notace

 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

Popis algoritmu

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

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)) :

Lineární transformace

Nastavení podle displeje :

kde se operace sčítání a násobení provádějí na poli .

Generování klíčů

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

Šifrovací algoritmus

... kde a je 128bitový řetězec.

Dešifrovací algoritmus

Příklad [8]

Ř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

Příklad N-transformace

Příklad G-transformace

Příklad H-transformace

Příklad generování klíče









V důsledku toho získáme iterační klíče:

Příklad šifrovacího algoritmu

prostý text

Zabezpečení

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] .

Poznámky

  1. Podle GOST R 34.12-2015 a RFC 7801 může být šifra v angličtině označována jako Kuznyechik
  2. Podle GOST 34.12-2018 může být šifra v angličtině označována jako Kuznechik .
  3. Některé softwarové implementace šifry s otevřeným zdrojovým kódem používají název Grasshopper
  4. "GOST R 34.12-2015" (nepřístupný odkaz) . Získáno 4. září 2015. Archivováno z originálu 24. září 2015. 
  5. „O zavedení nových kryptografických standardů“ . Získáno 4. září 2015. Archivováno z originálu 27. září 2016.
  6. "www.tc26.ru" . Datum přístupu: 14. prosince 2014. Archivováno z originálu 18. prosince 2014.
  7. Archivovaná kopie (odkaz není dostupný) . Získáno 13. dubna 2016. Archivováno z originálu 24. dubna 2016. 
  8. http://www.tc26.ru/standard/draft/GOSTR-bsh.pdf Archivováno 26. prosince 2014 na Wayback Machine viz testovací případy
  9. Alex Biryukov, Leo Perrin, Aleksei Udovenko. Reverzní inženýrství S-Boxu Streebog, Kuznyechik a STRIBOBr1 (plná verze) (8. května 2016). Získáno 21. května 2021. Archivováno z originálu dne 4. března 2021.
  10. Leo Perrin, Aleksei Udovenko. Exponenciální S-Box: propojení mezi S-boxy BelT a Kuznyechik/Streebog (3. února 2017). Získáno 14. září 2017. Archivováno z originálu 17. dubna 2021.
  11. Riham AlTawy a Amr M. Youssef. A Meet in the Middle Attack on Reduced Round Kuznyechik (17. dubna 2015). Získáno 8. června 2016. Archivováno z originálu 16. července 2017.

Odkazy