Heinäsirkka (salakirjoitus)

Heinäsirkka
Luoja Venäjän FSB ,
InfoTeKS JSC
julkaistu 2015
Standardit GOST 34.12-2018 , GOST R 34.12-2015 , RFC 7801
Avaimen koko 256 bittiä
Lohkon koko 128 bittinen
Kierrosten lukumäärä kymmenen
Tyyppi Korvaus-permutaatioverkko

Grasshopper ( englanniksi  Kuznyechik [1] tai englanniksi  Kuznechik [2] [3] ) on symmetrinen lohkosalausalgoritmi , jonka lohkokoko on 128 bittiä ja avaimen pituus 256 bittiä ja joka käyttää SP-verkkoa pyöreiden avainten luomiseen .

Yleistä tietoa

Tämä salaus on hyväksytty (yhdessä Magma-lohkosalauksen kanssa ) standardiksi GOST R 34.12-2015 "Tietotekniikka. Tietojen kryptografinen suojaus. Block ciphers" 19. kesäkuuta 2015 annetulla määräyksellä nro 749-st [4] . Standardi tuli voimaan 1.1.2016 [5] . Salauksen on kehittänyt Venäjän liittovaltion turvallisuuspalvelun Tietosuoja- ja erityisviestintäkeskus, johon osallistui Information Technologies and Communication Systems JSC ( InfoTeKS JSC ). Standardointiteknisen komitean TC 26 "Tiedon salaussuojaus" [6] [7] esittelemä .

29. marraskuuta 2018 päivätty pöytäkirja nro 54 , joka perustuu standardiin GOST R 34.12-2015 , Interstate Council for Metrology, Standardization and Certification hyväksyi osavaltioiden välisen standardin GOST 34.12-2018 . Liittovaltion teknisen määräyksen ja metrologian viraston 4. joulukuuta 2018 antamalla määräyksellä nro 1061-st GOST 34.12-2018 -standardi otettiin käyttöön Venäjän federaation kansallisena standardina 1. kesäkuuta 2019 alkaen .

Merkintä

 on Galois'n kenttä modulo redusoitumaton polynomi .

 on bijektiivinen kartoitus, joka yhdistää renkaan ( ) elementin sen binääriesitykseen.

 on näytön käänteisarvo .

 on bijektiivinen kuvaus, joka yhdistää binäärimerkkijonon kentän elementtiin .

 - näyttö käänteisesti

Algoritmin kuvaus

Seuraavia toimintoja käytetään salaamaan, purkamaan ja luomaan avainta:

, jossa ,  ovat muotoa … ( on merkkijonon ketjutussymboli  ) .

...  on käänteismuunnos .

…… _

 - käänteinen muunnokselle ja ... ...

, missä  on muunnosten koostumus jne .

Epälineaarinen muunnos

Epälineaarinen muunnos saadaan substituutiolla S = Bin 8 S' Bin 8 −1 .

Korvausarvot S' annetaan taulukkona S' = (S'(0), S'(1), …, S'(255)) :

Lineaarinen muunnos

Asetettu näytön mukaan :

jossa yhteen- ja kertolaskuoperaatiot suoritetaan kentällä .

Avaimen luominen

Avainten luontialgoritmi käyttää iteratiivisia vakioita i=1,2,…32. Jaettu avain on asetettu ... .

Iterointiavaimet lasketaan

Salausalgoritmi

... missä a on 128-bittinen merkkijono.

Salauksen purkualgoritmi

Esimerkki [8]

Merkkijono "a" on määritetty heksadesimaalimuodossa ja sen koko on 16 tavua, ja jokainen tavu on määritelty kahdella heksadesimaaliluvulla.

Merkkijonokartoitustaulukko binääri- ja heksadesimaalimuodossa:

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
0 yksi 2 3 neljä 5 6 7 kahdeksan 9 a b c d e f

N-muunnosesimerkki

G-muunnosesimerkki

H-muunnos esimerkki

Esimerkki avainten luomisesta









Tuloksena saamme iteratiiviset avaimet:

Esimerkki salausalgoritmista

tavallista tekstiä

Turvallisuus

Uuden lohkosalauksen "Grasshopper" odotetaan kestävän kaikenlaisia ​​lohkosalauksiin kohdistuvia hyökkäyksiä .

CRYPTO 2015 -konferenssissa Alex Biryukov, Leo Perrin ja Alexey Udovenko esittelivät raportin, jossa todettiin, että kehittäjien väitteistä huolimatta Grasshopper-salauksen S-lohkon ja Stribog-hajautusfunktion arvot eivät ole (pseudo)satunnaislukuja . , mutta ne luodaan piilotetun algoritmin perusteella, jonka he onnistuivat palauttamaan käänteissuunnittelumenetelmillä [9] . Myöhemmin Leo Perrin ja Aleksei Udovenko julkaisivat kaksi vaihtoehtoista algoritmia S-laatikon luomiseen ja osoittivat sen yhteyden Valko-Venäjän BelT -salauksen S-laatikkoon [10] . Tässä tutkimuksessa kirjoittajat väittävät myös, että vaikka tällaisen rakenteen käytön syyt ovat edelleen epäselviä, piilotettujen algoritmien käyttö S-laatikoiden luomiseen on vastoin "ei temppua reiässä" -periaatetta , mikä voisi toimia todisteena algoritmin suunnittelussa ei ole tarkoituksellisesti upotettuja haavoittuvuuksia.

Riham AlTawy ja Amr M. Youssef kuvasivat tapaamista keskihyökkäyksessä 5 Grasshopper-salauksen kierrokselle, jonka laskennallinen monimutkaisuus on 2140 ja vaatii 2153 muistia ja 2113 dataa [11] .

Muistiinpanot

  1. GOST R 34.12-2015 ja RFC 7801 mukaan salakirjoitukseen voidaan viitata englanniksi nimellä Kuznyechik
  2. GOST 34.12-2018: n mukaan salaukseen voidaan viitata englanniksi nimellä Kuznechik .
  3. Jotkut avoimen lähdekoodin salauksen ohjelmistototeutukset käyttävät nimeä Grasshopper
  4. "GOST R 34.12-2015" (pääsemätön linkki) . Haettu 4. syyskuuta 2015. Arkistoitu alkuperäisestä 24. syyskuuta 2015. 
  5. "Uusien salausstandardien käyttöönotosta" . Haettu 4. syyskuuta 2015. Arkistoitu alkuperäisestä 27. syyskuuta 2016.
  6. "www.tc26.ru" . Käyttöpäivä: 14. joulukuuta 2014. Arkistoitu alkuperäisestä 18. joulukuuta 2014.
  7. Arkistoitu kopio (linkki ei saatavilla) . Haettu 13. huhtikuuta 2016. Arkistoitu alkuperäisestä 24. huhtikuuta 2016. 
  8. http://www.tc26.ru/standard/draft/GOSTR-bsh.pdf Arkistoitu 26. joulukuuta 2014 Wayback Machinessa , katso testitapaukset
  9. Alex Biryukov, Leo Perrin, Aleksei Udovenko. Streebogin, Kuznyechikin ja STRIBOBr1:n (täysi versio) S-Boxin käänteinen suunnittelu ( 8. toukokuuta 2016). Haettu 21. toukokuuta 2021. Arkistoitu alkuperäisestä 4. maaliskuuta 2021.
  10. Leo Perrin, Aleksei Udovenko. Eksponentiaaliset S-Boxit: yhteys BelT:n ja Kuznyechik/Streebogin S-laatikoiden välillä (3. helmikuuta 2017). Haettu 14. syyskuuta 2017. Arkistoitu alkuperäisestä 17. huhtikuuta 2021.
  11. Riham AlTawy ja Amr M. Youssef. A Meet in the Middle Attack on Reduced Round Kuznyechik (17. huhtikuuta 2015). Haettu 8. kesäkuuta 2016. Arkistoitu alkuperäisestä 16. heinäkuuta 2017.

Linkit