SNOW (kryptering)

SNOW  er en ord-orienteret synkron strøm-chiffer udviklet af Lunds Universitet (Sverige). I øjeblikket har den 3 modifikationer: SNOW 2.0, SNOW 3G, SNOW-V. SNOW 3G bruges til sikker mobil datatransmission.

Historie

SNOW 1.0, oprindeligt kun SNOW [1] , blev udviklet i 2000. Chifferen fungerer med 32-bit ord og understøtter både 128- og 256-bit nøgler. Chifferen består af en kombination af et lineært feedback-skiftregister (LFSR) og en tilstandsmaskine (FA).

Der blev fundet svagheder i den første version [2] , og som et resultat blev SNOW ikke inkluderet i NESSIE- algoritmepakken . I 2003 udviklede forfatterne en ny version af SNOW cipher 2.0 [3] , som eliminerede mangler og forbedrede ydeevnen. Under evaluering af European Telecommunications Standards Institute ( ETSI ) [4] gruppe af eksperter i sikre algoritmer ( eng.  SAGE ) [ 4] blev krypteringsalgoritmen yderligere modificeret for at øge dens modstand mod algebraiske angreb. Resultatet af disse forbedringer i 2006 var ændringen af ​​SNOW 3G-chifferet [5] [6] .  

I 2019 reviderede Ericsson Research sammen med Lunds Universitet SNOW 3G-algoritmen og opdaterede den til en ny, hurtigere chiffer kaldet SNOW-V [7] , som kan bruges til sikker datatransmission i den nye generation af 5G -kommunikation .

Arbejdsplan SNOW

Generel arbejdsplan

Generatoren består af et lineært tilbagekoblingsskiftregister med længde 16 over et felt . Outputtet fra registret føres til indgangen på tilstandsmaskinen. KA består af to 32-bit registre kaldet R1 og R2, samt nogle operationer til at beregne output og den næste tilstand (den næste værdi af R1 og R2). Chifferen fungerer som følger. Først initialiseres nøglen. Denne procedure giver startværdier for LFSR såvel som for registre R1, R2 i statsmaskinen. Derefter beregnes de første 32 bit af nøglestrømmen ved bitvis addition af KA-output og den sidste LFSR-record. Derefter synkroniseres hele processen, og de næste 32 bit af nøglestrømmen beregnes ved at tilføje endnu en bitvis tilføjelse af output fra tilstandsmaskinen og den sidste LFSR-indgang. Vi synkroniserer igen og fortsætter i samme ånd. [2]

Detaljeret arbejdsplan

På det indledende tidspunkt t = 0 initialiseres skiftregisteret med 32-bit værdier , som er specificeret ved hjælp af den genererede nøgle.

Feedbackfunktionen for registret er givet af et polynomium:

hvor er givet ved et irreducerbart polynomium

,

over og .

Lad os kalde udgangen KA . Det beregnes ved hjælp af følgende formel:

,

hvor  er heltalsaddition over .

Statusmaskinens output sammenlignes med modulo 2 for at danne en streamingnøgle, dvs.

,

hvor  er tilføjelsen slut .

Inde i statsmaskinen er nye værdier for R1 og R2 tildelt i henhold til følgende formler:

,

hvor  er et cyklisk skift til venstre

Endelig består S-boksen , betegnet med , af fire identiske 8x8 bit S-bokse og en permutation af de resulterende bits. Indgangsdataene er opdelt i 4 bytes, hver byte er inkluderet i en ikke-lineær mapping fra 8 bit til 8 bit. Efter denne kortlægning byttes bitsene i det resulterende ord for at danne det endelige S-boks [1] resultat .

For den endelige dannelse af chifferteksten sammenlignes strømnøglen med klartekst modulo 2.

Bemærkelsesværdige angreb

Ansøgning

SNOW 2.0 er en af ​​stream-cifrene inkluderet i ISO/IEC ISO/IEC 18033-4 [10] krypteringsstandarden , som definerer inferensfunktioner til sammenkædning af en nøglestrøm med almindelig tekst, nøglestrømsgeneratorer til generering af en nøglestrøm og objektidentifikatorer tildelt til udvalgte nøglestrømsgeneratorer i overensstemmelse med ISO/IEC 9834 for strømkryptering.

SNOW 3G [6] er valgt som strømnøglegenerator for 3GPP UEA2 og UIA2 [11] krypteringsalgoritmerne .

Noter

  1. 1 2 Patrik Ekdahl, Thomas Johansson. SNOW-a new stream cipher  : [ eng. ] // Proceedings of first open NESSIE workshop, KU-Leuven. - 2000. - 13. november. - S. 167-168.
  2. 1 2 Patrik Ekdahl, Thomas Johansson. En ny version af Stream Cipher SNOW  : [ eng. ] // Springer. - 2003. - Bd. 2595. - S. 47-61. ISSN 0302-9743 .
  3. O. Billet, H. Gilbert. Modstand af SNOW 2.0 mod algebraiske angreb  : [ eng. ] // Springer. - 2005. - Bd. 3376. - S. 19-28. - doi : 10.1007/978-3-540-30574-3_3 .
  4. Sikkerhedsalgoritmer . Hentet 25. november 2020. Arkiveret fra originalen 26. juli 2020.
  5. UEA2 Design and Evaluation Report  ( 6. september 2006). Hentet 20. oktober 2020. Arkiveret fra originalen 29. oktober 2020.
  6. 1 2 J. Molina-Gil, Caballero-Gil, Caballero-Gil, Amparo Fúster-Sabater. Analyse og implementering af SNOW 3G-generatoren brugt i 4G/LTE-systemer  : [ eng. ] // Springer. - 2013. - Bd. 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. En ny SNOW stream cipher kaldet SNOW-V  : [ eng. ] // ToSC. - 2019. - Bd. 2019, nr. 3. - S. 1-42. - doi : 10.13154/tosc.v2019.i3.1-42 .
  8. Philip Hawkes, Gregory G. Rose. Gæt-og-bestem angreb på SNOW  : [ eng. ] // Springer. - 2002. - Bd. 2595.—S. 37–46. - doi : 10.1007/3-540-36492-7\_4 .
  9. Dai Watanabe, Alex Biryukov, Christophe De Cannière. Et karakteristisk angreb af SNOW 2.0  med lineær maskeringsmetode ] // Springer. - 2003. - Bd. 3006. - S. 222-233.
  10. ISO/IEC 18033-4:2011  : Informationsteknologi - Sikkerhedsteknikker - Krypteringsalgoritmer - Del 4: Stream- cifre : ] . - 2. - International Organisation for Standardization (ISO), 2011. - 92 s.
  11. UEA2 & UIA2 Specification  ( 16. marts 2009). Hentet 13. november 2020. Arkiveret fra originalen 19. januar 2022.