Chiffrement du flux de neige

L'hiver. Il est temps de se vautrer dans la neige et de jouer aux boules de neige. Ou lisez un article sur les chiffrements de flux. Qui aime quoi de plus.





Cet article est un aperçu. Nous parlerons du principe de fonctionnement de la version 1 de SNOW 1.0, brièvement des différentes attaques effectuées sur le chiffrement et de l'utilisation de ses modifications.





Informations de base

Et le plus important, à mon avis.





Le chiffrement SNOW fait référence aux chiffrements de flux de mots. Il fonctionne avec des mots de 32 bits et prend en charge les clés de 128 et 256 bits et se compose d'une combinaison d'un registre à décalage à rétroaction linéaire (LFLR) et d'une machine à états finis (FSM).





Il a 3 modifications. Et l'un d'eux - SNOW 3G, est utilisé pour transférer des données mobiles. La dernière version de SNOW-V a été développée pour les réseaux 5G, mais n'est pas encore utilisée.





Un peu d'histoire

SNOW 1.0 , à l'origine juste SNOW, a été développé en 2000 à l'Université de Lund (Suède).





Dans la première version, des faiblesses ont été découvertes et, par conséquent, SNOW n'a pas été inclus dans la suite d'algorithmes NESSIE. En 2003, les auteurs ont développé une nouvelle version du chiffrement SNOW 2.0 , qui a éliminé les lacunes et amélioré les performances. Au cours de l'évaluation ETSI SAGE , l'algorithme de chiffrement a été encore modifié pour augmenter sa résistance aux attaques algébriques. Le résultat de ces améliorations en 2006 a été la modification du chiffrement SNOW 3G.





2019 Ericsson Research SNOW 3G , SNOW-V.





SNOW

. .





16 \ mathbb {F} _ {2 ^ {32}}. . 32- , R1 R2, ( R1 R2). . . , R1, R2 . 32 . , 32 . .









t = 0 32- s(1), s(2),…, s(16) , .









p (x) = x ^ {16} + x ^ {13} + x ^ {7} + \ alpha ^ {- 1}

\ mathbb {F} _ {2 ^ {32}},





 \ pi (x) = x ^ {32} + x ^ {29} + x ^ {20} + x ^ {15} + x ^ {10} + x + 1,

\ mathbb {F} _ {2}, \ pi (\ alpha) = 0 .





FSM_ {out}. :





FSM_ {out} = (s (1) \ boxplus R1) \ oplus R2,

\ boxplus \ mod2 ^ {32}.





FSM_ {out} s(16) 2 ,





clé en cours d'exécution = FSM_ {out} \ oplus s (16),

\ oplus mod 2.





R1 R2 :





newR1 = ((FSM_ {out} \ boxplus R2) \ lll 7) \ oplus R1,

\ je vais - ,





R2 = S (R1), R1 = nouveauR1

, S-, S(x), c S- 8×8 . 4 , 8 8 . , S-





2.





.





  • 2002 «Guess and determine attack» SNOW 1.0, , . -, , s(1). .  — SNOW 1.0.





  • 2003 , SNOW 2.0 .  2 ^ {230}  2 ^ {215} , , 256- .





  • 2010 SNOW 3G SNOW 3G ⊕ . IV 18 33 SNOW3G ⊕ 2 ^ {57} 2 ^ {53} .





  • 2020 Lin Jiao, Yongqiang Li Yonglin Hao SNOW-V «Guess and determine attack». .. , SNOW 1.0. , , . ?





  • SNOW 2.0 — , ISO/IEC 18033-4, , .





  • SNOW 3G 3GPP UEA2 UIA3.





  • SNOW-V , !





STRUMOK ( : 8845:2019 ""), SNOW 2.0.





(La différence réside dans la longueur de la clé secrète et du vecteur d'initialisation. SNOW 2.0 est également destiné à être utilisé dans les systèmes informatiques 32 bits et STRUMOK dans les systèmes 64 bits).





Petit résumé

Ce chiffre, bien sûr, n'est pas parfait. Qui est parfait? Mais il est moderne et je pense qu'il a un avenir. Le problème de la transmission sécurisée des données a toujours été d'actualité et demeure toujours!








All Articles