GOST 28147-89

GOST 28147-89
Luoja

KGB , 8. osasto (salakirjoittajien ryhmä) - Zabotin Ivan Aleksandrovich (päällikkö), Lopatin Vjatšeslav Aleksandrovitš, Lopatkin Aleksei Vasiljevitš, Afanasjev Aleksandr Aleksandrovitš,

Fedjukin Mihail Vladimirovitš
Luotu 1978
julkaistu 1989
Standardit GOST 34.12-2018 , GOST R 34.12-2015 , GOST 28147-89, RFC 5830 , RFC 8891
Avaimen koko 256 bittiä
Lohkon koko 64-bittinen
Kierrosten lukumäärä 32\16
Tyyppi Feistelin verkko

GOST 28147-89 “ Tietojenkäsittelyjärjestelmät. Kryptografinen suojaus. Kryptografinen muunnosalgoritmi "- vanhentunut (katso käytön kronologia ) Neuvostoliiton valtion standardi (ja myöhemmin IVY:n valtioiden välinen standardi ), joka kuvaa symmetrisen lohkosalausalgoritmin ja sen toimintatapoja .

Se on esimerkki DES :n kaltaisista salausjärjestelmistä , jotka on luotu klassisen Feistelin iteratiivisen kaavan mukaan .

Salauksen luomisen historia ja kehittäjien kriteerit esiteltiin ensimmäisen kerran julkisesti vuonna 2014, ja algoritmin kehittäjäryhmän johtaja Zabotin Ivan Aleksandrovich esitteli luennossa, joka oli omistettu venäläisen standardin käyttöönoton 25-vuotispäivälle. symmetrinen salaus [1] [2] .

Myöhemmin standardin perustan muodostaneen algoritmin työskentely aloitettiin osana Magma-teemaa (tietojen suojaaminen kryptografisilla menetelmillä Unified System -sarjan tietokoneissa ) kahdeksannen pääosaston tieteellisen ja teknisen neuvoston puolesta . Neuvostoliiton KGB (nykyisin FSB :n rakenteessa ) maaliskuussa 1978 vuonna 1976 julkaistun DES - standardin pitkän alustavan tutkimuksen jälkeen . Itse asiassa työ DES -algoritmia muistuttavan algoritmin (tai algoritmiryhmän) luomiseksi aloitettiin jo vuonna 1976 .

Aluksi teoksilla oli otsikko " Top Secret ". Sitten ne alennettiin " Salainen " -leimaksi. Vuonna 1983 algoritmi alennettiin " rajoitetuksi ". Juuri viimeisellä merkinnällä algoritmi valmisteltiin julkaistavaksi vuonna 1989 . 9. maaliskuuta 1987 joukko kryptografeja (hakija - sotilasyksikkö 43753) sai tekijänoikeustodistuksen, jonka prioriteetti on 333297 Magma-2-algoritmia käyttävän salauslaitteen keksinnölle [3] .

Käytön kronologia

Hyväksytty 2. kesäkuuta 1989 annetulla Neuvostoliiton valtion standardin asetuksella nro 1409 , voimaan 1. heinäkuuta 1990 [4] .

31. maaliskuuta 1996 se julkaistiin uudelleen ja otettiin käyttöön IVY:n osavaltioiden välisenä standardina [5] .

Valko-Venäjän tasavallan valtion standardin asetuksella nro 3 17. joulukuuta 1992 se otettiin käyttöön Valko-Venäjän tasavallan valtion standardina . Julkaistu uudelleen maaliskuussa 2011 [6] .

Ukrainan valtion kuluttajastandardien määräyksellä nro 495, päivätty 22. tammikuuta 2008, GOST 28147-89 julkaistiin uudelleen Ukrainan alueella ja se tuli voimaan 1. helmikuuta 2009 nimellä DSTU GOST 28147:2009 [ 7] . Nykyisten tilausten mukaan DSTU GOST 28147:2009 on voimassa 1.1.2022 asti [8] . Korvataan asteittain DSTU:lla 7624:2014 ( koodi "Kalina").

Standardi on peruutettu Venäjän ja IVY -maiden alueella 31. toukokuuta 2019 lähtien uusien valtioiden välisten standardien käyttöönoton vuoksi, jotka korvaavat sen kokonaan GOST 34.12-2018 ( kuvaa Magma- ja Grasshopper - salauksia ) ja GOST 34.13-2018 (kuvaa lohkosalausten toimintatilat ).

FSB :n GOST 28147-89 -lohkosalausalgoritmin käyttömenettelyä koskevan tiedonannon mukaan salaustietojen suojaustyökaluja, jotka on suunniteltu suojaamaan tietoja , jotka eivät sisällä valtiosalaisuuksia muodostavia tietoja , mukaan lukien ne, jotka toteuttavat GOST 28147-89 -algoritmin . kehitetty 1. kesäkuuta 2019 jälkeen , paitsi jos tällaisten työkalujen GOST 28147-89 -algoritmi on suunniteltu varmistamaan yhteensopivuus olemassa olevien työkalujen kanssa, jotka toteuttavat tämän algoritmin [9] .

Magma

Vuonna 2015 uuden " Grasshopper " -algoritmin ohella GOST 28147-89 -algoritmin variantti julkaistiin nimellä " Magma " osana GOST R 34.12-2015 standardia ja myöhemmin osana GOST 34.12-2018 standardi . Vuonna 2020 Magma - algoritmi julkaistiin nimellä RFC 8891 .

Ominaisuudet:

Salauksen kuvaus

GOST 28147-89 on lohkosalaus, jossa on 256- bittinen avain ja 32 muunnoskierrosta (kutsutaan kierroksia), joka toimii 64-bittisillä lohkoilla. Salausalgoritmin perustana on Feistel -verkko .

GOST 28147-89:ssä on neljä toimintatilaa:

Toimintatavat

Helppo vaihtotila

Salaamista varten tässä tilassa 64-bittinen tekstilohko jaetaan ensin kahteen puolikkaaseen: T o = ( A 0 , B 0 ) [10] . I : nnellä syklillä käytetään aliavainta X i :

( = binaarinen " yksinoikeus tai "),

Aliavainten luomiseksi alkuperäinen 256-bittinen avain jaetaan kahdeksaan 32-bittiseen numeroon: K 0 ... K 7 .

Alaavaimet X 0 ... X 23 ovat K 0 ... K 7 : n syklisiä toistoja . Tulpat X 24 ... X 31 ovat K 7 ... K 0 .

Algoritmin kaikkien 32 kierroksen tulos on 64-bittinen salatekstilohko : T w = ( A 32 , B 32 ) .

Salauksen purku suoritetaan saman algoritmin mukaan kuin salaus, sillä muutoksella, että aliavaimien järjestys on käänteinen: X 0 ... X 7 ovat K 7 ... K 0 ja X 8 ... X 31 ovat syklisiä toistoja K 7 ... K 0 . _

Tulo- ja lähtötiedoissa 32-bittiset luvut esitetään järjestyksessä vähiten merkitsevästä bitistä merkittävimpään ( little endian ).

Funktio lasketaan seuraavasti:

A i ja X i lisätään modulo 2 32 .

Tulos jaetaan kahdeksaan 4-bittiseen osasekvenssiin, joista kukin syötetään sen korvaustaulukon solmun (bittiprioriteetin nousevassa järjestyksessä) syötteeseen, jota kutsutaan alla S-boxiksi . S-laatikoiden kokonaismäärä standardissa on kahdeksan, mikä on sama kuin osajaksojen määrä. Jokainen S-laatikko on permutaatio numeroista 0-15 (S-laatikoiden erityistä muotoa ei ole määritelty standardissa). Ensimmäinen 4-bittinen osasekvenssi on ensimmäisen S-laatikon tulo, toinen on toisen syöte ja niin edelleen.

Jos S-box- solmu näyttää tältä:

1, 15, 13, 0, 5, 7, 10, 4, 9, 2, 3, 14, 6, 11, 8, 12

ja S-laatikon tulo on 0, niin lähtö on 1; jos tulo on 4, lähtö on 5; jos tulo on 12, niin lähtö on 6 jne.

Kaikkien kahdeksan S-laatikon lähdöt yhdistetään 32-bittiseksi sanaksi, jonka jälkeen koko sanaa käännetään vasemmalle (korkea kerta) 11 bittiä.

Yksinkertaisella vaihtotilalla on seuraavat haitat:

Siten GOST 28147-89:n käyttö yksinkertaisessa korvaustilassa on toivottavaa vain avaintietojen salaukseen [11] .

Uhkapelit

Kun GOST 28147-89 toimii gammatilassa , muodostetaan edellä kuvatulla tavalla kryptografinen gamma, joka sitten lisätään bitti bitiltä modulo 2 alkuperäiseen selkeään tekstiin salatekstin saamiseksi . Gamma-tilassa tapahtuvassa salauksessa ei ole haittoja, jotka ovat ominaisia ​​yksinkertaiselle korvausmoodille [11] . Joten jopa identtiset lähdetekstin lohkot antavat erilaisen salatekstin, ja teksteissä, joiden pituus ei ole 64 bitin kerrannainen, "ylimääräiset" gammabitit hylätään. Lisäksi gamma voidaan generoida etukäteen, mikä vastaa salauksen toimintaa suoratoistotilassa.

Gamma generoidaan avaimen ja ns. sync-viestin perusteella, joka asettaa generaattorin alkutilan. Luontialgoritmi on seuraava:

  1. Synkronointiviesti salataan kuvatulla yksinkertaisella korvausalgoritmilla, saadut arvot kirjoitetaan 32-bittisiin apurekistereihin N 3 ja N 4  - vastaavasti vähiten merkitseviin ja merkittävimpiin bitteihin.
  2. N 3 summataan modulo 2 32 vakiolla C 2 = 1010101 16
  3. N 4 summataan modulo 2 32 −1 vakiolla C 1 = 1010104 16
  4. N3 ja N4 kirjoitetaan uudelleen N1 : ksi ja N2 : ksi , vastaavasti , jotka sitten salataan käyttämällä yksinkertaista korvausalgoritmia. Tuloksena on 64 bittiä gammaa.
  5. Vaiheet 2-4 toistetaan salatun tekstin pituuden mukaan.

Salauksen purkamiseksi sinun on selvitettävä sama gamma ja lisättävä se sitten bitti kerrallaan modulo 2 salatekstin kanssa. Ilmeisesti tätä varten sinun on käytettävä samaa synkronointiviestiä kuin salauksessa. Tässä tapauksessa gamman ainutlaatuisuuden vaatimusten perusteella on mahdotonta käyttää yhtä synkronointiviestiä useiden tietoryhmien salaamiseen. Synkronointiviesti lähetetään pääsääntöisesti tavalla tai toisella salatekstin mukana.

GOST 28147-89:n ominaisuus gammatilassa on, että kun salatekstin yksi bitti muuttuu, vain yksi bitti salatusta tekstistä muuttuu. Toisaalta tällä voi olla myönteinen vaikutus melunsietoon; toisaalta, hyökkääjä voi tehdä joitain muutoksia tekstiin edes purkamatta sitä [11] .

Palautteen pelillistäminen

Salausalgoritmi on samanlainen kuin gammatila, mutta gamma perustuu edelliseen salatun tiedon lohkoon, joten nykyisen lohkon salaustulos riippuu myös edellisistä lohkoista. Tästä syystä tätä toimintatapaa kutsutaan myös interlocking-skaalaukseksi.

Salausalgoritmi on seuraava:

  1. Synkronointiviesti syötetään rekistereihin N1 ja N2 .
  2. Rekistereiden N1 ja N2 sisältö salataan yksinkertaisen korvausalgoritmin mukaisesti . Tuloksena on 64-bittinen gammalohko.
  3. Gamma-lohko lisätään bittikohtaisesti modulo 2 selväkieliseen lohkoon. Tuloksena oleva salateksti syötetään rekistereihin N1 ja N2 .
  4. Toiminnot 2-3 suoritetaan muille salausta vaativille tekstilohkoille.

Vaihdettaessa yhtä bittiä palautegamma-algoritmilla saatua salatekstiä, vain yksi bitti muuttuu vastaavassa salatun tekstin lohkossa, ja se vaikuttaa myös myöhempään selkeän tekstin lohkoon. Tässä tapauksessa kaikki muut lohkot pysyvät ennallaan [11] .

Kun käytät tätä tilaa, muista, että synkronointiviestiä ei voi käyttää uudelleen (esimerkiksi salattaessa loogisesti erillisiä tietolohkoja - verkkopaketteja, kiintolevysektoreita jne.). Tämä johtuu siitä tosiasiasta, että salatekstin ensimmäinen lohko saadaan vain modulo kahdella summauksella salatun synkronointiviestin kanssa; siten vain alkuperäisen ja salatekstin ensimmäisten 8 tavun tunteminen mahdollistaa minkä tahansa muun salatekstin ensimmäisten 8 tavun lukemisen synkronointiviestin uudelleenkäytön jälkeen.

Simuloidun lisäyksen luontitapa

Tämä tila ei ole salaustila perinteisessä mielessä. Kun työskentelet lisäyssimulaatiotilassa, luodaan lisälohko, joka riippuu koko tekstistä ja avaintiedoista. Tätä lohkoa käytetään tarkistamaan, ettei salatekstiä ole peukaloitu vahingossa tai tarkoituksella. Tämä on erityisen tärkeää gamma-salauksessa, jossa hyökkääjä voi muuttaa tiettyjä bittejä edes tietämättä avainta; muissa tiloissa toimiessa todennäköisiä vääristymiä ei kuitenkaan voida havaita, jos lähetetyssä datassa ei ole redundanttia informaatiota.

Jäljitelmä luodaan M ≥ 2:lle 64-bittiselle selvätekstilohkolle. Algoritmi on seuraava:

  1. Avoin datalohko kirjoitetaan rekistereihin N1 ja N2 , minkä jälkeen se käy läpi ensimmäisiä 16 salausjaksoa vastaavan muunnoksen yksinkertaisessa korvaustilassa.
  2. Seuraava avoimen datan lohko lisätään bitti bitiltä modulo 2 saatuun tulokseen. Viimeinen lohko on tarvittaessa pehmustettu nolilla. Summa on myös salattu 1 kohdan mukaisesti.
  3. Kun viimeinen lohko on lisätty ja salattu, tuloksesta valitaan L -bitin pituinen jäljitelmälisäys: bitistä numero 32 − L - 32 (laskenta alkaa 1:stä). Standardi suosittelee L :n valitsemista sen perusteella, että väärien tietojen määräämisen todennäköisyys on 2 L . Huijaus lähetetään viestintäkanavan kautta salattujen lohkojen jälkeen.

Vahvistamista varten vastaanottava osapuoli suorittaa kuvatun kaltaisen menettelyn. Jos tulos ei vastaa hyväksyttyä simulaatiolisäystä, kaikki vastaavat M-lohkot katsotaan vääriksi.

Lisäysjäljitelmän generointi voidaan suorittaa rinnakkain salauksen kanssa käyttämällä yhtä yllä kuvatuista toimintatavoista [11] .

Korvaavat solmut (S-lohkot)

Kaikki kahdeksan S-laatikkoa voivat olla erilaisia. Jotkut uskovat, että ne voivat olla lisäavainmateriaalia, joka lisää avaimen tehollista pituutta; On kuitenkin olemassa käytännön hyökkäyksiä, joiden avulla ne voidaan määrittää [12] . Avaimen pituutta ei kuitenkaan tarvitse kasvattaa, 256 bittiä riittää tällä hetkellä [13] . Korvaustaulukot ovat tyypillisesti pitkän aikavälin skeema-asetus, joka on yhteinen tietylle käyttäjäryhmälle.

GOST 28147-89 -standardin teksti osoittaa, että täyttökorvausyksiköiden (S-lohkojen) toimitus suoritetaan määrätyllä tavalla, toisin sanoen algoritmin kehittäjällä.

RFC 4357 :n määrittämät korvaavat solmut

ID: id-Gost28147-89-CryptoPro-A-ParamSet

OID: 1.2.643.2.2.31.1

S-lohkon numero Merkitys
0 yksi 2 3 neljä 5 6 7 kahdeksan 9 A B C D E F
yksi 9 6 3 2 kahdeksan B yksi 7 A neljä E F C 0 D 5
2 3 7 E 9 kahdeksan A F 0 5 2 6 C B neljä D yksi
3 E neljä 6 2 B 3 D kahdeksan C F 5 A 0 7 yksi 9
neljä E 7 A C D yksi 3 9 0 2 B neljä F kahdeksan 5 6
5 B 5 yksi 9 kahdeksan D F 0 E neljä 2 3 C 7 A 6
6 3 A D C yksi 2 0 B 7 5 9 neljä kahdeksan F E 6
7 yksi D 2 9 7 A 6 0 kahdeksan C neljä 5 F 3 B E
kahdeksan B A F 5 0 C E kahdeksan 6 2 3 9 yksi 7 D neljä

CryptoPRO CSP käyttää tätä korvaussolmua oletuksena. Tätä korvaussolmua käytetään myös Verba-O-ohjelmistossa [14] .

ID: id-Gost28147-89-CryptoPro-B-ParamSet

OID: 1.2.643.2.2.31.2

S-lohkon numero Merkitys
0 yksi 2 3 neljä 5 6 7 kahdeksan 9 A B C D E F
yksi kahdeksan neljä B yksi 3 5 0 9 2 E A C D 6 7 F
2 0 yksi 2 A neljä D 5 C 9 7 3 F B kahdeksan 6 E
3 E C 0 A 9 2 D B 7 5 kahdeksan F 3 6 yksi neljä
neljä 7 5 0 D B 6 yksi 2 3 A C F neljä E 9 kahdeksan
5 2 7 C F 9 5 A B yksi neljä 0 D 6 kahdeksan E 3
6 kahdeksan 3 2 6 neljä D E B C yksi 7 F A 0 9 5
7 5 2 A B 9 yksi C 3 7 neljä D 0 6 F kahdeksan E
kahdeksan 0 neljä B E kahdeksan 3 7 yksi A 2 9 6 F D 5 C

CryptoPRO CSP käyttää tätä korvaussolmua.

Tunniste: id-Gost28147-89-CryptoPro-C-ParamSet

OID: 1.2.643.2.2.31.3

S-lohkon numero Merkitys
0 yksi 2 3 neljä 5 6 7 kahdeksan 9 A B C D E F
yksi yksi B C 2 9 D 0 F neljä 5 kahdeksan E A 7 6 3
2 0 yksi 7 D B neljä 5 2 kahdeksan E F C 9 A 6 3
3 kahdeksan 2 5 0 neljä 9 F A 3 7 C D 6 E yksi B
neljä 3 6 0 yksi 5 D A kahdeksan B 2 9 7 E F C neljä
5 kahdeksan D B 0 neljä 5 yksi 2 9 3 C E 6 F A 7
6 C 9 B yksi kahdeksan E 2 neljä 7 3 6 5 A 0 F D
7 A 9 6 kahdeksan D E 2 0 F 3 5 B neljä yksi C 7
kahdeksan 7 neljä 0 5 A 2 F E C 6 yksi B D 9 3 kahdeksan

CryptoPRO CSP käyttää tätä korvaussolmua.

ID: id-Gost28147-89-CryptoPro-D-ParamSet

OID: 1.2.643.2.2.31.4

S-lohkon numero Merkitys
0 yksi 2 3 neljä 5 6 7 kahdeksan 9 A B C D E F
yksi F C 2 A 6 neljä 5 0 7 9 E D yksi B kahdeksan 3
2 B 6 3 neljä C F E 2 7 D kahdeksan 0 5 A 9 yksi
3 yksi C B 0 F E 6 5 A D neljä kahdeksan 9 3 7 2
neljä yksi 5 E C A 7 0 D 6 2 B neljä 9 3 F kahdeksan
5 0 C kahdeksan 9 D 2 A B 7 3 6 5 neljä E F yksi
6 kahdeksan 0 F 3 2 5 E B yksi A neljä 7 C 9 D 6
7 3 0 6 F yksi E 9 2 D kahdeksan C neljä B A 5 7
kahdeksan yksi A 6 kahdeksan F B 0 neljä C 3 5 9 7 D 2 E

CryptoPRO CSP käyttää tätä korvaussolmua.

RFC 7836 :n määrittämät korvaavat solmut

Korvaussolmu, jonka on määrittänyt Rosstandartin teknisen standardointikomitean "Cryptographic Information Protection" (lyhennettynä TC 26) [15] .

Tunniste: id-tc26-gost-28147-param-Z

OID: 1.2.643.7.1.2.5.1.1

S-lohkon numero Merkitys
0 yksi 2 3 neljä 5 6 7 kahdeksan 9 A B C D E F
yksi C neljä 6 2 A 5 B 9 E kahdeksan D 7 0 3 F yksi
2 6 kahdeksan 2 3 9 A 5 C yksi E neljä 7 B D 0 F
3 B 3 5 kahdeksan 2 F A D E yksi 7 neljä C 9 6 0
neljä C kahdeksan 2 yksi D neljä F 6 7 0 A 5 3 E 9 B
5 7 F 5 A kahdeksan yksi 6 D 0 9 3 E B neljä 2 C
6 5 D F 6 9 2 C A B 7 kahdeksan yksi neljä 3 E 0
7 kahdeksan E 2 5 6 9 yksi C F neljä B 0 D A 3 7
kahdeksan yksi 7 E D 0 5 kahdeksan 3 neljä F A 6 9 C B 2

Tämä solmu on kiinteä TK26-ohjeiden [16] suositusten mukaisesti ja ainoana GOST R 34.12-2015 [17] ja GOST 34.12-2018 [18] standardien sekä RFC 7836 ja RFC uudessa versiossa. 8891 .

Ukrainassa määritellyt korvaavat yksiköt

Korvaus nro 1 ohjeesta nro 114

Korvaussolmu nro 1 ( DKE nro 1 - ukrainalainen kaksoismerkkijonoavainelementti ) , joka on määritelty "Ohjeissa salaustietojen suojaustyökalujen avainten toimittamista ja käyttöä koskevissa menettelyissä " [19] .

S-lohkon numero Merkitys
0 yksi 2 3 neljä 5 6 7 kahdeksan 9 A B C D E F
yksi A 9 D 6 E B neljä 5 F yksi 3 C 7 0 kahdeksan 2
2 kahdeksan 0 C neljä 9 6 7 B 2 3 yksi F 5 E A D
3 F 6 5 kahdeksan E B A neljä C 0 3 7 2 9 yksi D
neljä 3 kahdeksan D 9 6 B F 0 2 5 C A neljä E yksi 7
5 F kahdeksan E 9 7 2 0 D C 6 yksi 5 B neljä 3 A
6 2 kahdeksan 9 7 5 F 0 B C yksi D E A 3 6 neljä
7 3 kahdeksan B 5 6 neljä E A 2 C yksi 7 9 F D 0
kahdeksan yksi 2 3 E 6 D B kahdeksan F A C 5 7 9 0 neljä

Ukrainan valtion erityisviestintäpalvelun 21. joulukuuta 2020 antaman määräyksen nro 1273/35556 " RFC 5652 :n tekniset tiedot " mukaan tätä korvaava solmu on oletusarvoisesti käytössä ja se on pakattuna (64 tavua) julkisen avaimen varmenteen parametrit , luotu standardin DSTU 4145-2002 [20] mukaisesti .

Standardin edut

  • raa'an voiman hyökkäyksen turha ( XSL-hyökkäyksiä ei oteta huomioon, koska niiden tehokkuutta ei ole tällä hetkellä täysin todistettu);
  • toteutuksen tehokkuutta ja vastaavasti korkeaa suorituskykyä nykyaikaisissa tietokoneissa . (Itse asiassa GOST 28147-89:n ohjelmistototeutukset, kuten kaikki Feistelin verkkosalaukset, ovat hitaampia kuin nykyaikaiset salaukset, kuten AES ja muut. Ja vain yhdessä "GEOM_GOST"-toteutuksessa FreeBSD-käyttöjärjestelmälle, GOST 28147- nopeus. 89-salaus osoittautui verrattavissa olevaksi AES-salauksen nopeuteen FreeBSD-käyttöjärjestelmän levyasemien GEOM-alijärjestelmän toteutuksen ominaisuuksien vuoksi. .);
  • suojaus väärien tietojen määräämistä vastaan ​​(väärennöslisäyksen kehittyminen) ja sama salausjakso kaikissa neljässä standardin algoritmissa.

Cryptanalysis

Uskotaan [21] , että GOST kestää sellaisia ​​laajalti käytettyjä menetelmiä kuin lineaarinen ja differentiaalinen kryptausanalyysi. Kahdeksalla viimeisellä kierroksella käytetty näppäinten käänteinen järjestys tarjoaa suojan liuku- ja heijastushyökkäykseltä. Rostovtsev A. G., Makhovenko E. B., Filippov A. S., Chechulin A. A. kuvasivat työssään [22] krypta-analyysin tyyppiä, joka rajoittuu algebrallisen tavoitefunktion rakentamiseen ja sen ääripään löytämiseen. Heikkojen näppäinten luokat tunnistettiin, erityisesti osoitettiin, että harvat näppäimet (merkittävällä 0 tai 1 ylivallalla) ovat heikkoja. Kirjoittajien mukaan heidän menetelmänsä on joka tapauksessa parempi kuin tyhjentävä luettelointi, mutta ilman numeerisia arvioita.

Toukokuussa 2011 tunnettu kryptanalyytikko Nicolas Courtois osoitti hyökkäyksen tätä salausta vastaan, jonka monimutkaisuus on 2 8 (256) kertaa pienempi kuin avainten suoran laskennan monimutkaisuus, edellyttäen, että avaimia on 2 64 "plaintext/suljettu" tekstiparia [23] [24 ] . Tätä hyökkäystä ei voida toteuttaa käytännössä liian suuren laskennallisen monimutkaisuuden vuoksi. Lisäksi 264 selväteksti/yksityinen teksti -parin tunteminen mahdollistaa tietysti salatekstien lukemisen ilman avaimen laskemista . Useimmissa muissakin teoksissa kuvataan hyökkäyksiä, jotka ovat sovellettavissa vain tietyillä oletuksilla, kuten tietyntyyppisillä avaimilla tai korvaustaulukoilla, jollain alkuperäisen algoritmin muokkauksella tai jotka vaativat silti saavuttamattomia määriä muistia tai laskentaa. Kysymys siitä, onko olemassa käytännön hyökkäyksiä hyödyntämättä yksittäisten avainten tai korvaavien taulukoiden heikkoutta, on edelleen avoin [12] .

Standardin kritiikki

Standardin suurimmat ongelmat liittyvät standardin epätäydellisyyteen avainten ja korvaustaulukoiden generoinnin kannalta. Uskotaan, että standardissa on "heikkoja" avaimia ja korvaustaulukoita [22] [25] , mutta standardi ei kuvaa kriteerejä "heikkojen" valinnalle ja hylkäämiselle.

Lokakuussa 2010 kansainvälisen standardointijärjestön ensimmäisen teknisen sekakomitean (ISO / IEC JTC 1 / SC 27) kokouksessa GOST nimettiin sisällytettäväksi kansainväliseen lohkosalausstandardiin ISO / IEC 18033-3. Tältä osin tammikuussa 2011 muodostettiin kiinteät korvaavat solmut ja analysoitiin niiden salausominaisuudet. GOST:ia ei kuitenkaan hyväksytty standardiksi, eikä vastaavia korvaustaulukoita julkaistu [26] .

Siten olemassa oleva standardi ei määrittele algoritmia korvaustaulukoiden (S-laatikoiden) generoimiseksi. Toisaalta tämä voi olla ylimääräistä salaisia ​​tietoja (avaimen lisäksi), ja toisaalta se herättää useita ongelmia:

  • on mahdotonta määrittää algoritmin kryptografista vahvuutta tietämättä etukäteen korvaava taulukko;
  • eri valmistajien algoritmin toteutukset voivat käyttää erilaisia ​​korvaustaulukoita ja ne voivat olla yhteensopimattomia keskenään;
  • Venäjän federaation lupaviranomaiset voivat tarkoituksellisesti toimittaa heikkoja korvaavia taulukoita;
  • mahdollisuus (ei standardissa kieltoa) käyttää korvaustaulukoita, joissa solmut eivät ole permutaatioita, mikä voi johtaa salauksen voimakkuuden äärimmäiseen heikkenemiseen.

Mahdolliset sovellukset

Muistiinpanot

  1. Venäläisen salausalgoritmin GOST 28147-89 vuosipäivä (14. toukokuuta 2014). Haettu: 9.1.2020.
  2. Zelenogradin salaustyökalujen kehittäjät juhlivat salausalgoritmin vuosipäivää (23. toukokuuta 2014). Haettu 9. tammikuuta 2020. Arkistoitu alkuperäisestä 21. syyskuuta 2016.
  3. Romanetit, 2016 .
  4. GOST 28147-89 FSUE "Standartinform" -sivustolla .
  5. GOST 28147-89 FSIS "Normdoc" -verkkosivustolla (linkki ei pääse) . Haettu 26. elokuuta 2019. Arkistoitu alkuperäisestä 26. elokuuta 2019. 
  6. GOST 28147-89 TNLA:n kansallisen rahaston verkkosivuilla . Haettu 25. elokuuta 2019. Arkistoitu alkuperäisestä 25. elokuuta 2019.
  7. Valtion standardin nro 495 määräys, päivätty 22. joulukuuta 2008. Kansainvälisten standardien hyväksymisestä kansallisiksi vahvistamalla ja ilmoittamalla asiaankuuluvat kansainväliset standardit . Haettu 25. elokuuta 2019. Arkistoitu alkuperäisestä 5. toukokuuta 2019.
  8. DP "UkrNDNC" määräys nro 539, päivätty 28. joulukuuta 2018. Kansallisten ja kansainvälisten standardien uusimisesta . Haettu 25. elokuuta 2019. Arkistoitu alkuperäisestä 25. elokuuta 2019.
  9. Huomautus GOST 28147-89 - lohkosalausalgoritmin käytöstä . Haettu 25. elokuuta 2019. Arkistoitu alkuperäisestä 25. elokuuta 2019.
  10. GOST-standardin kuvauksessa ne on merkitty N 1 ja N 2 vastaavasti.
  11. 1 2 3 4 5 6 A. Vinokurov. Salausalgoritmi GOST 28147-89, sen käyttö ja toteutus Intel x86 -alustan tietokoneissa Arkistoitu 1. huhtikuuta 2022 Wayback Machinessa
  12. 1 2 Panasenko S.P. Salausstandardi GOST 28147-89 Arkistoitu 1. joulukuuta 2012.
  13. Schneier B. Sovellettu kryptografia. Protokollat, algoritmit, lähdetekstit C-kielellä, 2. painos - M .: Triumph, 2002, 14.1
  14. Algoritmien kryptografisten parametrien tunnisteet . Haettu 21. huhtikuuta 2014. Arkistoitu alkuperäisestä 28. heinäkuuta 2013.
  15. Standardisointisuositukset “Korvaussolmujen asettaminen GOST 28147-89 -salausalgoritmin korvauslohkolle Arkistoitu kopio 8. syyskuuta 2017 Wayback Machinessa
  16. MP 26.2.003-2013 Arkistokopio 26.12.2019 Wayback Machinessa ”Information Technology. Tietojen kryptografinen suojaus. Korvaussolmujen asettaminen salausalgoritmin GOST 28147-89 korvauslohkolle
  17. GOST R 34.12-2015 “Tietotekniikka. Tietojen kryptografinen suojaus. Estä salaukset»
  18. GOST 34.12-2018 “Tietotekniikka. Tietojen kryptografinen suojaus. Estä salaukset»
  19. Ukrainan valtion erityisviestintäpalvelun määräys, päivätty 12. kesäkuuta 2007, nro 114 "Avainten toimittamista ja valintaa koskevien ohjeiden hyväksymisestä ennen tietojen salaussuojauksen saamista"  (ukr.) . www.zakon.rada.gov.ua _ Ukrainan ministerikabinetti (12. kesäkuuta 2007). Haettu 25. elokuuta 2019. Arkistoitu alkuperäisestä 30. huhtikuuta 2019.
  20. Tekniset tiedot ennen RFC 5652:ta . zakon.rada.gov.ua (20. elokuuta 2012). Haettu 4. toukokuuta 2021. Arkistoitu alkuperäisestä 25. helmikuuta 2022.
  21. Vitaly V. Shorin, Vadim V. Jelezniakov ja Ernst M. Gabidulin. Venäjän GOST:n lineaarinen ja differentiaalinen kryptaanalyysi // Diskreetin matematiikan elektroniset muistiinpanot. - 2001. - S. 538-547 .
  22. 1 2 Rostovtsev A.G., Makhovenko E.B., Filippov A.S., Chechulin A.A. GOST 28147–89:n vakaudesta  // Tietoturvaongelmat. Tietokonejärjestelmät. - 2003. - S. 75-83 . Arkistoitu alkuperäisestä 7. heinäkuuta 2011.
  23. Nicolas T. Courtois. GOST 28147-89:n turvallisuusarviointi kansainvälisen standardoinnin valossa . Arkistoitu alkuperäisestä 7. joulukuuta 2012. . Cryptology ePrint -arkisto: Raportti 2011/211
  24. SecurityLab: GOST 28147-89 -lohkosalaus murtunut . Haettu 22. toukokuuta 2011. Arkistoitu alkuperäisestä 14. toukokuuta 2013.
  25. Sergei Panasenko. Salausstandardi GOST 28147-89 (15. elokuuta 2007). Haettu 30. marraskuuta 2012. Arkistoitu alkuperäisestä 1. joulukuuta 2012.
  26. Tekninen standardointikomitea (TC 26) "Cryptographic Information Protection" Salausalgoritmin GOST 28147-89 kansainvälisen standardoinnin toiminnasta (linkki ei saavutettavissa) . Haettu 11. marraskuuta 2012. Arkistoitu alkuperäisestä 11. maaliskuuta 2012. 
  27. Leontiev S., Chudov G. Käyttämällä GOST 28147-89, GOST R 34.11-94, GOST R 34.10-94 ja GOST R 34.10-2001 algoritmeja kryptografisella viestisyntaksilla (CMS) ( toukokuu 2006). RFC 4490 . Haettu 21. kesäkuuta 2009. Arkistoitu alkuperäisestä 24. elokuuta 2011.  
  28. Leontiev, S., toim. ja G. Chudov, toim. GOST 28147-89 Cipher Suites for Transport Layer Security (TLS) ( joulukuu 2008). — Internet-luonnokset, työ kesken. Haettu 21. kesäkuuta 2009. Arkistoitu alkuperäisestä 24. elokuuta 2011.  
  29. S. Leontiev, P. Smirnov, A. Chelpanov. Käyttämällä GOST 28147-89-, GOST R 34.10-2001- ja GOST R 34.11-94 -algoritmeja XML-suojaukseen ( joulukuu 2008). — Internet-luonnokset, työ kesken. Haettu 21. kesäkuuta 2009. Arkistoitu alkuperäisestä 24. elokuuta 2011.  

Katso myös

Kirjallisuus

  • Melnikov VV Tietojen suojaus tietokonejärjestelmissä. - M .: Rahoitus ja tilastot, 1997.
  • Romanets Yu. V., Timofeev PA, Shangin VF Tietojen suojaus tietokonejärjestelmissä ja verkoissa. - M . : Radio ja viestintä, 1999.
  • Kharin Yu. S. , Bernik V. I., Matveev G. V. Kryptologian matemaattiset perusteet. - Mn. : BSU, 1999.
  • Gerasimenko V. A., Malyuk A. A. Tietoturvan perusteet. - M .: MGIFI, 1997.
  • Leonov A.P., Leonov K.P., Frolov G.V. Automatisoitujen pankki- ja toimistoteknologioiden turvallisuus. - Mn. : Nat. kirja. Valko-Venäjän kamari, 1996.
  • Zima V. M., Moldovyan A. A., Moldovyan N. A. Tietokoneverkot ja siirrettyjen tietojen suojaus. - Pietari. : Pietarin valtionyliopisto, 1998.
  • Schneier B. 14.1 Algoritmi GOST 28147-89 // Sovellettu kryptografia. Protokollat, algoritmit, lähdekoodi C-kielellä = Applied Cryptography. Protokollat, algoritmit ja lähdekoodi julkaisussa C. - M . : Triumph, 2002. - S. 373-377. — 816 s. - 3000 kappaletta.  - ISBN 5-89392-055-4 .
  • Popov, V., Kurepkin, I. ja S. Leontiev. Muita salausalgoritmeja käytettäväksi GOST 28147-89, GOST R 34.10-94, GOST R 34.10-2001 ja GOST R 34.11-94 algoritmien kanssa  // RFC 4357  . – IETF, tammikuu 2006.
  • Spesivtsev A.V., Wegner V.A., Krutyakov A.Yu. jne . Tietojen suojaus henkilökohtaisissa tietokoneissa . - M . : Radio ja viestintä, kansanedustaja "Vesta", 1992. - 192 s. — (Järjestelmän ohjelmoijan kirjasto). - ISBN 5-256-01137-5 .
  • Romanets Yu.V., Panasenko S.P., Zabotin I.A., Petrov S.V., Rakitin V.V., Dudarev D.A., Syrchin V.K., Salmanova Sh.A. Luku 3. GOST 28147-89 -algoritmin luomisen historia ja sen taustalla olevat periaatteet // Yritys "ANKAD" - 25 vuotta tietoturvan palveluksessa Venäjällä / toim. Yu. V. Romanets. - M. : Technosfera, 2016. - S. 9-19. — 256 s. - ISBN 978-5-94836-429-2 .

Linkit

  • Standardin GOST 28147-89 teksti "Tiedonkäsittelyjärjestelmät. Kryptografinen suojaus. Kryptografinen muunnosalgoritmi"
  • GOSTit OpenSSL:lle . on Cryptocom LLC:n salausprojekti venäläisten salausalgoritmien lisäämiseksi OpenSSL-kirjastoon. Haettu 16. marraskuuta 2008. Arkistoitu alkuperäisestä 24. elokuuta 2011.
  • https://github.com/gost-engine/engine on GOST-algoritmien avoin toteutus OpenSSL:lle.