STRUMOK

STRUMOK
Luoja Oleksandr Kuznetsov, Marija Lutsenko, Dmytro Ivanenko, Tietotekniikan instituutti PAT
Luotu 2016
Standardit DSTU 8845:2019
Avaimen koko 256, 512 bittiä
Tyyppi Suoratoiston salaus

" STRUMOK " ( eng.  STRUMOK ; Russian stream; flow; jet) on suoratoiston symmetrinen salaus , joka on kuvattu Ukrainan kansallisessa standardissa DSTU 8845:2019 "Tietoteknologiat. Tietojen kryptografinen suojaus. Algoritmi symmetriselle suoratoistomuunnokselle” [1] . Standardi tuli voimaan 1.10.2019.

Salaisen avaimen pituudesta riippuen sillä on kaksi toimintatilaa: "STRUMOK-256" ja "STRUMOK-512".

STRUMOK tarjoaa korkean avaimen suoratoistonopeuden (yli 10 Gbit/s).

Työsuunnitelma

Yleinen työsuunnitelma

STRUMOK-algoritmi perustuu ajatukseen pelaamisesta , joka koostuu satunnaislukujen sarjan "asettamisesta" tekstiin . STRUMOK -pseudosatunnaislukugeneraattori käyttää 256-bittistä alustusvektoria ja 256-bittistä tai 512-bittistä salaista avainta ja tarjoaa turvallisuutta, ottaen huomioon kvanttisalausanalyysin mahdollisen käytön . Salausalgoritmi on suunnattu 64-bittisille laskentajärjestelmille, joten sanan kooksi määritellään 64 bittiä .

Generaattorin päärakennekomponentit ovat lineaarinen takaisinkytkentäsiirtorekisteri ja tilakone , jossa suoritetaan epälineaarinen muunnos. Syöttötietoja ( avain ja alustusvektori ) käytetään tilamuuttujan alustamiseen , joka koostuu kahdeksastatoista 64-bittisestä lohkosta:

  1. 16 lineaarisen takaisinkytkennän siirtorekisterisolua  :  ;
  2. kaksi tilakonerekisteriä .

Tulos on avainvirta ( gamma ), joka muodostuu 64-bittisistä sanoista .

Algoritmi

STRUMOK-algoritmissa on kolme päätoimintoa:

  1. alustusfunktio , joka ottaa avaimen ja alustusvektorin syötteenä ja tuottaa tilamuuttujan alkuarvon ;
  2. seuraava tilafunktio , joka ottaa tilamuuttujan syötteenä ja tuottaa tilamuuttujan seuraavan arvon ;
  3. avainvirtafunktio , joka ottaa tilamuuttujan tulona ja tuottaa avainvirran (64 bittiä) ulostulona.
Alustustoiminto

Tulo: 256- tai 512-bittinen avain , 256-bittinen alustusvektori .

Lähtö: tilamuuttujan alkuarvo .

  1. Siirtorekisterin 16 solua täytetään avaimen ja alustusvektorin perusteella luoduilla arvoilla. Näin muodostuu .
  2. 32 aloitusjaksoa suoritetaan generoimatta avainvirtaa ( Seuraava -toiminnon suorittaminen INIT - alustustilassa ): .
  3. Tilamuuttujan alkuarvo lasketaan: .
  4. Arvo näytetään .
Seuraava tilafunktio

Tulo: Tilamuuttuja ja toimintatapa (normaali tai alustustila).

Tulos: Tilamuuttuja .

  1. Tilakonerekisterin arvot päivitetään .
  2. 15 siirtorekisterin solun arvo päivitetään:
  3. Solun 16 arvoa päivitetään: toiminnan aikana normaalitilassa ja alustustilassa.
  4. Arvo näytetään .
Keystream-toiminto

Syöte: Tilamuuttuja .

Lähtö: Keystream .

  1. Arvo lasketaan .
  2. Arvo näytetään .
Tilakonetoiminto

Tilakonetoimintoa käytetään funktioissa ja .

Tulo: kolme 64-bittistä riviä .

Lähtö: 64-bittinen merkkijono .

  1. Arvo lasketaan .
  2. Arvo näytetään .
  • tarkoittaa kokonaislukujen yhteenlaskutoimintoa modulo 2 64 .

Vuororekisterin kaavio

Lineaarisen takaisinkytkentäsiirtorekisterin takaisinkytkentä voidaan kuvata operaatioilla äärellisillä kenttäelementeillä .

Siirtorekisterin palaute on rakennettu polynomikentän päälle :

missä on kentän yläpuolella olevan polynomin juuri :

,

missä on kentän yläpuolella olevan polynomin juuri :

.

Kenttä on konstruoitu kentän päälle polynomin avulla .

Siirtorekisterin lähtöjakson jakso on suurin ja yhtä suuri kuin .

Vertailu SNOW 2.0:aan

STRUMOK-avainvirtageneraattori on konseptiltaan samanlainen kuin SNOW 2.0 . Mutta SNOW 2.0 on suunniteltu käytettäväksi 32-bittisissä laskentajärjestelmissä, kun taas STRUMOK on suunniteltu käytettäväksi tehokkaammissa 64-bittisissä laskentajärjestelmissä. Tässä suhteessa Strumok-algoritmissa näennäissatunnaisen sekvenssin generointinopeus kasvaa. [2] STRUMOK-algoritmissa salaisen avaimen ja alustusvektorin pituuksia kasvatetaan verrattuna SNOW2.0 :aan. Tämän avulla voit käyttää stream-salausta luotettavasti myös olosuhteissa, joissa hyökkääjän käytettävissä on kvanttisalausanalyysi. [3]

NIST -binäärisekvenssien satunnaisuuden määrittämiseen tähtäävä testaus osoittaa, että STRUMOK-algoritmi on huonompi kuin SNOW 2.0 . [neljä]

STRUMOK-avainvirtageneraattorin avulla voit luoda näennäissatunnaisia ​​sekvenssejä yli 10 Gbps:n nopeudella (Intel Core i9-7980XE 2,60 GHz ja käyttöjärjestelmä Windows® 10 Pro). [5]

Muistiinpanot

  1. DSTU 8845:2019 Tietotekniikat. Tietojen kryptografinen suojaus. Algoritmi symmetriselle suoratoistomuunnokselle.
  2. Oleksandr Kuznetsov, Marija Lutsenko, Dmytro Ivanenko. Strumok Stream Cipher: Spesification and Basic Properties  // Tieto- ja viestintäjärjestelmien turvallisuusosasto, VN Karazin Kharkiv National University, Kharkiv, Ukraina.
  3. O.O. KUZNETSOV, I.D. Gorbenko, Yu.I. Gorbenko, A.M. OLEKSIYCHUK. STROMSIN VIRASALAUKSEN MATEMAATTINEN RAKENNE  (ukr.)  // V.N.:n mukaan nimetty Kharkivin kansallinen yliopisto. Karazin. – 2018.
  4. Oleksii Nariezhnii, Egor Eremin, Vladislav Frolenko, Kyrylo Chernov, Tetiana Kuznetsova, Jevhen Demenko. MODERNIEN VIRASALAJIEN TILASTOTIEDOT  // VN Karazin Kharkiv National University. — ISSN 2519-2310 . Arkistoitu alkuperäisestä 14. heinäkuuta 2020.
  5. Ivan Gorbenko, Juri Gorbenko, Vladyslav Tymchenko, Olena Kachko. MODERNIEN VIRASALAUKSEN NOPEUDEN TESTAUS  // Kharkiv National University of Radio Electronics. - 2018. - ISSN 2519-2310 .