SNÖ (chiffer)

SNÖ  är ett ordorienterat synkront strömchiffer utvecklat av Lunds universitet (Sverige). För närvarande har den 3 modifieringar: SNOW 2.0, SNOW 3G, SNOW-V. SNOW 3G används för säker mobil dataöverföring.

Historik

SNOW 1.0, ursprungligen bara SNOW [1] , utvecklades 2000. Chifferet fungerar med 32-bitars ord och stöder både 128- och 256-bitars nycklar. Chifferet består av en kombination av ett linjärt återkopplingsskiftregister (LFSR) och en tillståndsmaskin (FA).

Svagheter hittades i den första versionen [2] och som ett resultat inkluderades inte SNOW i NESSIE- algoritmsviten . År 2003 utvecklade författarna en ny version av SNOW-chifferet 2.0 [3] , som eliminerade brister och förbättrade prestanda. Under utvärdering av European Telecommunications Standards Institute ( ETSI ) [4] expertgrupp för säkra algoritmer ( eng.  SAGE ) [ 4] modifierades krypteringsalgoritmen ytterligare för att öka dess motståndskraft mot algebraiska attacker. Resultatet av dessa förbättringar 2006 var modifieringen av SNOW 3G-chifferet [5] [6] .  

2019 reviderade Ericsson Research , tillsammans med Lunds universitet, SNOW 3G-algoritmen och uppdaterade den till ett nytt, snabbare chiffer kallat SNOW-V [7] , som kan användas för säker dataöverföring i den nya generationen 5G- kommunikation .

Arbetsschema SNÖ

Allmänt arbetsschema

Generatorn består av ett linjärt återkopplingsskiftregister med längden 16 över ett fält . Utsignalen från registret matas till tillståndsmaskinens ingång. KA består av två 32-bitars register som kallas R1 och R2, samt några operationer för att beräkna utsignalen och nästa tillstånd (nästa värde på R1 och R2). Chifferet fungerar enligt följande. Först initieras nyckeln. Denna procedur tillhandahåller initiala värden för LFSR, såväl som för register R1, R2 i tillståndsmaskinen. Sedan beräknas de första 32 bitarna av nyckelströmmen genom bitvis addition av KA-utgången och den sista LFSR-posten. Därefter synkroniseras hela processen, och de nästa 32 bitarna av nyckelströmmen beräknas genom att addera ytterligare en bitvis addition av utmatningen från tillståndsmaskinen och den sista LFSR-posten. Vi synkroniserar igen och fortsätter i samma anda. [2]

Detaljerat arbetsschema

Vid den initiala tiden t = 0 initieras skiftregistret med 32-bitars värden , som specificeras med den genererade nyckeln.

Återkopplingsfunktionen för registret ges av ett polynom:

där ges av ett irreducerbart polynom

,

över och .

Låt oss kalla utgången KA . Det beräknas med hjälp av följande formel:

,

var  är heltalstillägg över .

Tillståndsmaskinens utdata jämförs med modulo 2 för att bilda en strömningsnyckel, dvs.

,

var  är tillägget över .

Inuti tillståndsmaskinen tilldelas nya värden för R1 och R2 enligt följande formler:

,

där  är en cyklisk förskjutning till vänster

Slutligen består S-boxen , betecknad med , av fyra identiska 8x8 bitars S-boxar och en permutation av de resulterande bitarna. Indata är uppdelad i 4 byte, varje byte ingår i en icke-linjär mappning från 8 bitar till 8 bitar. Efter denna mappning byts bitarna i det resulterande ordet för att bilda det slutliga S-box- resultatet [1] .

För den slutliga bildningen av chiffertexten jämförs strömnyckeln med klartexten modulo 2.

Anmärkningsvärda attacker

Applikation

SNOW 2.0 är ett av strömchiffrorna som ingår i krypteringsstandarden ISO/IEC ISO/IEC 18033-4 [10] , som definierar slutledningsfunktioner för att sammanfoga en nyckelström med klartext, nyckelströmsgeneratorer för att generera en nyckelström och objektidentifierare som tilldelas valda nyckelströmsgeneratorer i enlighet med ISO/IEC 9834 för strömchiffer.

SNOW 3G [6] väljs som strömnyckelgenerator för krypteringsalgoritmerna 3GPP UEA2 och UIA2 [11] .

Anteckningar

  1. 1 2 Patrik Ekdahl, Thomas Johansson. SNÖ-ett nytt strömchiffer  : [ eng. ] // Förlopp från den första öppna NESSIE-workshopen, KU-Leuven. - 2000. - 13 november. - S. 167-168.
  2. 1 2 Patrik Ekdahl, Thomas Johansson. En ny version av Stream Cipher SNOW  : [ eng. ] // Springer. - 2003. - Vol. 2595. - S. 47-61. ISSN 0302-9743 .
  3. O. Billet, H. Gilbert. Resistance of SNOW 2.0 mot algebraiska attacker  : [ eng. ] // Springer. - 2005. - Vol. 3376. - S. 19-28. - doi : 10.1007/978-3-540-30574-3_3 .
  4. Säkerhetsalgoritmer . Hämtad 25 november 2020. Arkiverad från originalet 26 juli 2020.
  5. UEA2 design- och utvärderingsrapport  ( 6 september 2006). Hämtad 20 oktober 2020. Arkiverad från originalet 29 oktober 2020.
  6. 1 2 J. Molina-Gil, Caballero-Gil, Caballero-Gil, Amparo Fúster-Sabater. Analys och implementering av SNOW 3G-generatorn som används i 4G/LTE-system  : [ eng. ] // Springer. - 2013. - Vol. 239.—S. 499-508. ISBN 978-3-319-01854-6 . - doi : 10.1007/978-3-319-01854-6_51 .
  7. P.Ekdahl, T.Johansson, A.Maximov, J.Yang. Ett nytt SNOW-strömchiffer som heter SNOW-V  : [ eng. ] // ToSC. - 2019. - Vol. 2019, nej. 3. - S. 1-42. - doi : 10.13154/tosc.v2019.i3.1-42 .
  8. Philip Hawkes, Gregory G. Rose. Gissa-och-bestäm attacker mot SNÖ  : [ eng. ] // Springer. - 2002. - Vol. 2595.—S. 37–46. - doi : 10.1007/3-540-36492-7\_4 .
  9. Dai Watanabe, Alex Biryukov, Christophe De Cannière. En utmärkande attack av SNOW 2.0  med linjär maskeringsmetod ] // Springer. - 2003. - Vol. 3006. - S. 222-233.
  10. ISO/IEC 18033-4:2011  : Informationsteknik - Säkerhetstekniker - Krypteringsalgoritmer - Del 4: Strömchiffer : ] . - 2. - International Organization for Standardization (ISO), 2011. - 92 sid.
  11. UEA2 & UIA2 Specification  ( 16 mars 2009). Hämtad 13 november 2020. Arkiverad från originalet 19 januari 2022.