STRUMOK

STRUMOK
Skapare Oleksandr Kuznetsov, Mariya Lutsenko, Dmytro Ivanenko, Institutet för informationsteknologi PAT
Skapad 2016
Standarder DSTU 8845:2019
Nyckelstorlek 256, 512 bitar
Sorts Stream chiffer

" STRUMOK " ( eng.  STRUMOK ; Russian stream; flow; jet) är ett strömmande symmetriskt chiffer som beskrivs i Ukrainas nationella standard DSTU 8845:2019 "Informationsteknologier. Kryptografiskt skydd av information. Algoritm för symmetrisk strömmande transformation” [1] . Standarden trädde i kraft den 1 oktober 2019.

Beroende på längden på den hemliga nyckeln har den två driftlägen: "STRUMOK-256" och "STRUMOK-512".

STRUMOK ger en hög genereringshastighet för nyckelström (mer än 10 Gbit/s).

Arbetsschema

Allmänt arbetsschema

STRUMOK-algoritmen är baserad på idén om spel , som består i att "påtvinga" en sekvens av slumpmässiga nummer på vanlig text . STRUMOK pseudoslumptalsgeneratorn använder en 256-bitars initieringsvektor och en 256-bitars eller 512-bitars hemlig nyckel och ger säkerhet, med hänsyn till möjlig användning av kvantkryptografisk analys . Kryptoalgoritmen är orienterad mot 64-bitars datorsystem, därför definieras ordstorleken till 64 bitar .

De huvudsakliga strukturella komponenterna i en generator är ett linjärt återkopplingsskiftregister och en tillståndsmaskin i vilken en icke-linjär transformation utförs. Indata ( nyckel och initialiseringsvektor ) används för att initiera tillståndsvariabeln , som består av arton 64-bitars block:

  1. 16 linjära återkopplingsskiftregisterceller  :  ;
  2. två statliga maskinregister .

Utdata är en nyckelström ( gamma ) som är bildad av 64-bitars ord .

Algoritm

Det finns tre huvudfunktioner i STRUMOK-algoritmen:

  1. en initialiseringsfunktion som tar en nyckel och en initialiseringsvektor som indata och producerar initialvärdet för tillståndsvariabeln ;
  2. en nästa tillståndsfunktion som tar en tillståndsvariabel som indata och producerar nästa värde på tillståndsvariabeln ;
  3. en nyckelströmsfunktion som tar en tillståndsvariabel som indata och producerar en nyckelström (64 bitar) som utdata.
Initieringsfunktion

Ingång: 256 eller 512-bitars nyckel , 256-bitars initialiseringsvektor .

Output: initialvärdet för tillståndsvariabeln .

  1. Skiftregistrets 16 celler är fyllda med värden som genereras på basis av nyckeln och initialiseringsvektorn. Sålunda bildas .
  2. 32 initieringscykler utförs utan att generera en nyckelström (exekvering av Next -funktionen i INIT -initieringsläget ): .
  3. Tillståndsvariabelns initiala värde beräknas: .
  4. Värdet visas .
Nästa tillstånd funktion

Ingång: Tillståndsvariabel och driftsätt (normalt eller initialiseringsläge).

Utgång: Tillståndsvariabel .

  1. Statsmaskinens registervärden uppdateras .
  2. Värdet på 15 skiftregisterceller uppdateras:
  3. Värdet för cell 16 uppdateras: under drift i normalmod och under initialiseringsmod.
  4. Värdet visas .
Keystream-funktion

Ingång: Tillståndsvariabel .

Utdata: keystream .

  1. Värdet beräknas .
  2. Värdet visas .
Ange maskinfunktion

Funktionen tillståndsmaskin används i funktionerna och .

Ingång: tre 64-bitarslinjer .

Utdata: 64-bitars sträng .

  1. Värdet beräknas .
  2. Värdet visas .
  • betecknar operationen att addera heltal modulo 2 64 .

Schema för skiftregistret

Återkoppling i ett linjärt återkopplingsskiftregister kan beskrivas genom operationer på finita fältelement .

Återkopplingen i skiftregistret byggs över polynomfältet :

var är roten till polynomet över fältet :

,

var är roten till polynomet över fältet :

.

Fältet är konstruerat över fältet av ett polynom .

Perioden för skiftregistrets utdatasekvens är maximal och lika med .

Jämförelse med SNOW 2.0

STRUMOK-nyckelströmsgeneratorn liknar SNOW 2.0 i sitt koncept . Men SNOW 2.0 är designad för användning i 32-bitars datorsystem, medan STRUMOK är designad för användning i mer kraftfulla 64-bitars datorsystem. I detta avseende, i Strumok-algoritmen, ökar hastigheten för att generera en pseudo-slumpmässig sekvens. [2] I STRUMOK-algoritmen, jämfört med SNOW2.0 , ökas längden på den hemliga nyckeln och initialiseringsvektorn. Detta gör att du på ett tillförlitligt sätt kan använda strömchifferet även under förhållanden där användningen av kvantkrypteringsanalys är tillgänglig för en angripare. [3]

Tester som syftar till att bestämma slumpmässigheten hos binära NIST -sekvenser visar att STRUMOK-algoritmen är sämre än SNOW 2.0 . [fyra]

STRUMOK-nyckelströmsgeneratorn låter dig generera pseudo-slumpmässiga sekvenser med en hastighet på mer än 10 Gbps (Intel Core i9-7980XE 2,60 GHz och OS Windows® 10 Pro). [5]

Anteckningar

  1. DSTU 8845:2019 Informationsteknik. Kryptografiskt skydd av information. Algoritm för symmetrisk strömmande transformation.
  2. Olexandr Kuznetsov, Mariya Lutsenko, Dmytro Ivanenko. Strumok Stream Chiffer: Specifikation och grundläggande egenskaper  // Institutionen för säkerhet för informations- och kommunikationssystem, VN Karazin Kharkiv National University, Charkiv, Ukraina.
  3. O.O. KUZNETSOV, I.D. Gorbenko, Yu.I. Gorbenko, A.M. OLEKSIYCHUK. MATEMATISKA STRUKTUR HOS STRÖMSKIFTER AV STROMS  (ukr.)  // Kharkiv National University uppkallat efter V.N. Karazin. — 2018.
  4. Oleksii Nariezhnii, Egor Eremin, Vladislav Frolenko, Kyrylo Chernov, Tetiana Kuznetsova, Yevhen Demenko. STATISTISKA EGENSKAPER FÖR MODERNA STREAMCHIFTER  // VN Karazin Kharkiv National University. — ISSN 2519-2310 . Arkiverad från originalet den 14 juli 2020.
  5. Ivan Gorbenko, Yurii Gorbenko, Vladyslav Tymchenko, Olena Kachko. TESTA HASTIGHETEN PÅ MODERNA STREAMCHIFTER  // Kharkivs nationella universitet för radioelektronik. - 2018. - ISSN 2519-2310 .