Szöcske (titkos)

Szöcske
Teremtő Oroszország FSB ,
InfoTeKS JSC
közzétett 2015
Szabványok GOST 34.12-2018 , GOST R 34.12-2015 , RFC 7801
Kulcsméret 256 bites
Blokkméret 128 bites
A körök száma tíz
Típusú Helyettesítő-permutációs hálózat

A Grasshopper ( angolul  Kuznyechik [1] vagy angolul  Kuznyechik [2] [3] ) egy szimmetrikus blokk titkosítási algoritmus 128 bites blokkmérettel és 256 bites kulcshosszal, amely SP hálózatot használ kerek kulcsok generálására .

Általános információk

Ezt a titkosítást ( a Magma blokk titkosítással együtt ) szabványként hagyta jóvá a GOST R 34.12-2015 „Információs technológia. Az információk kriptográfiai védelme. Block ciphers" a 2015. június 19-i 749-st [4] számú végzéssel . A szabvány 2016. január 1-jén lépett hatályba [5] . A titkosítást az Orosz Szövetségi Biztonsági Szolgálat Információvédelmi és Speciális Kommunikációs Központja fejlesztette ki az Information Technologies and Communication Systems JSC ( InfoTeKS JSC ) részvételével. A Technikai Szabványügyi Bizottság által bevezetett TC 26 "Információ kriptográfiai védelme" [6] [7] .

A 2018. november 29-én kelt 54. sz. jegyzőkönyv , a GOST R 34.12-2015 alapján , az Államközi Metrológiai, Szabványügyi és Tanúsítási Tanács elfogadta a GOST 34.12-2018 államközi szabványt . A Szövetségi Műszaki Szabályozási és Mérésügyi Ügynökség 2018. december 4 -i , 1061-st számú rendelete értelmében a GOST 34.12-2018 szabványt az Orosz Föderáció nemzeti szabványaként 2019. június 1-jétől hatályba léptették .

Jelölés

 a Galois-mező modulo az irreducibilis polinom .

 egy bijektív leképezés, amely a gyűrű ( ) egy elemét társítja annak bináris ábrázolásához.

 a kijelző inverze a .

 egy bijektív leképezés, amely egy bináris karakterláncot társít a mező egy eleméhez .

 - inverz megjelenítése

Az algoritmus leírása

A következő funkciók titkosításra, visszafejtésére és kulcs generálására szolgálnak:

, ahol , …  alakú bináris karakterláncok ( a karakterlánc összefűzési  szimbóluma ).

...  a transzformáció inverze.

…… _

 - az átalakítás fordítottja, és ......

, hol  van a transzformációk összetétele stb .

Nemlineáris transzformáció

A nemlineáris transzformációt az S = Bin 8 S' Bin 8 −1 szubsztitúció adja .

Az S' helyettesítési értékek S ' = (S'(0), S'(1), …, S'(255)) tömbként vannak megadva :

Lineáris transzformáció

Kijelző által beállítva :

ahol az összeadás és szorzás műveleteit a terepen hajtják végre .

Kulcsgenerálás

A kulcsgeneráló algoritmus iteratív konstansokat használ , i=1,2,…32. A megosztott kulcs be van állítva ... .

Az iterációs kulcsok kiszámítása megtörténik

Titkosító algoritmus

... ahol a egy 128 bites karakterlánc.

Dekódoló algoritmus

Példa [8]

Az "a" karakterlánc hexadecimálisan van megadva, mérete 16 bájt, és minden bájtot két hexadecimális szám határoz meg.

Karakterlánc-leképezési táblázat bináris és hexadecimális formában:

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
0 egy 2 3 négy 5 6 7 nyolc 9 a b c d e f

N-transzformációs példa

G-transzformációs példa

H-transzformációs példa

Kulcsgenerálási példa









Ennek eredményeként iteratív kulcsokat kapunk:

Példa egy titkosítási algoritmusra

egyszerű szöveg

Biztonság

Az új "Grasshopper" blokkrejtjel várhatóan ellenáll a blokkrejtjelek elleni mindenféle támadásnak .

A CRYPTO 2015 konferencián Alex Biryukov, Leo Perrin és Alexey Udovenko bemutatott egy jelentést, amely szerint a fejlesztők állítása ellenére a Grasshopper titkosítás S-blokkjának és a Stribog hash függvénynek az értékei nem (pszeudo) véletlen számok. , hanem egy rejtett algoritmus alapján generálódnak, amit visszafejtési módszerekkel sikerült helyreállítaniuk [9] . Később Leo Perrin és Aleksey Udovenko két alternatív algoritmust publikált az S-box generálására, és bebizonyították annak kapcsolatát a fehérorosz BelT titkosítás S-boxával [10] . Ebben a tanulmányban a szerzők azzal is érvelnek, hogy bár az ilyen struktúra használatának okai továbbra is tisztázatlanok, a rejtett algoritmusok használata S-boxok generálására ellentétes a „nincs trükk a lyukban” elvvel , amely bizonyítékként szolgálhat a szándékosan beágyazott sérülékenységek hiánya az algoritmus tervezésében.

Riham AlTawy és Amr M. Youssef egy találkozást írt le a középső támadásban a Grasshopper titkosítás 5 fordulójában, amelynek számítási összetettsége 2140 , és 2153 memóriát és 2113 adatot igényel [11] .

Jegyzetek

  1. A GOST R 34.12-2015 és az RFC 7801 szerint a titkosításra angolul Kuznyechik néven hivatkozhatunk
  2. A GOST 34.12-2018 szerint a titkosításra angolul Kuznechik néven hivatkozhatunk .
  3. ↑ A nyílt forráskódú titkosítás egyes szoftvermegvalósításai a Grasshopper nevet használják
  4. "GOST R 34.12-2015" (hozzáférhetetlen link) . Letöltve: 2015. szeptember 4. Az eredetiből archiválva : 2015. szeptember 24.. 
  5. "Az új kriptográfiai szabványok bevezetéséről" . Letöltve: 2015. szeptember 4. Az eredetiből archiválva : 2016. szeptember 27..
  6. "www.tc26.ru" . Hozzáférés időpontja: 2014. december 14. Az eredetiből archiválva : 2014. december 18.
  7. Archivált másolat (a hivatkozás nem elérhető) . Letöltve: 2016. április 13. Az eredetiből archiválva : 2016. április 24.. 
  8. http://www.tc26.ru/standard/draft/GOSTR-bsh.pdf Archiválva : 2014. december 26. a Wayback Machine -nél, lásd: Tesztesetek
  9. Alex Biryukov, Leo Perrin, Aleksei Udovenko. A Streebog, a Kuznyechik és a STRIBOBr1 S-Box visszafordítása (teljes verzió) (2016. május 8.). Letöltve: 2021. május 21. Az eredetiből archiválva : 2021. március 4.
  10. Leo Perrin, Alekszej Udovenko. Exponenciális S-Boxok: kapcsolat a BelT és a Kuznyechik/Streebog S-Boxai között (2017. február 3.). Letöltve: 2017. szeptember 14. Az eredetiből archiválva : 2021. április 17.
  11. Riham AlTawy és Amr M. Youssef. A Meet in the Middle Attack a Reduced Round Kuznyechik ellen (2015. április 17.). Letöltve: 2016. június 8. Az eredetiből archiválva : 2017. július 16.

Linkek