HÓ (rejtjel)

A SNOW  egy szóorientált szinkron adatfolyam-rejtjel , amelyet a Lund Egyetem (Svédország) fejlesztett ki. Jelenleg 3 módosítása van: SNOW 2.0, SNOW 3G, SNOW-V. A SNOW 3G biztonságos mobil adatátvitelre szolgál.

Történelem

A SNOW 1.0, eredetileg csak SNOW [1] , 2000-ben fejlesztették ki. A titkosítás 32 bites szavakkal működik, és támogatja a 128 és 256 bites kulcsokat is. A titkosítás egy lineáris visszacsatolási eltolási regiszter (LFSR) és egy állapotgép (FA) kombinációjából áll.

Az első verzióban gyengeségeket találtak [2] , és ennek eredményeként a SNOW nem került be a NESSIE algoritmuscsomagba . 2003-ban a szerzők kifejlesztették a SNOW cipher 2.0 új verzióját [3] , amely kiküszöbölte a hiányosságokat és javította a teljesítményt. Az Európai Távközlési Szabványügyi Intézet ( ETSI ) [4] biztonságos algoritmusokkal foglalkozó szakértői csoportja ( eng.  SAGE ) [ 4] által végzett értékelés során a titkosítási algoritmust tovább módosították, hogy növeljék az algebrai támadásokkal szembeni ellenállását. E fejlesztések eredménye 2006-ban a SNOW 3G titkosító módosítása [5] [6] .  

2019-ben az Ericsson Research a Lundi Egyetemmel közösen felülvizsgálta a SNOW 3G algoritmust, és frissítette egy új, gyorsabb titkosításra, a SNOW-V [7] névre , amely biztonságos adatátvitelre használható az 5G kommunikáció új generációjában .

Munkavázlat HÓ

Általános munkaséma

A generátor egy mező feletti 16 hosszúságú lineáris visszacsatoló regiszterből áll . A regiszter kimenete az állapotgép bemenetére kerül. A KA két 32 bites R1 és R2 regiszterből áll, valamint néhány műveletből a kimenet és a következő állapot (R1 és R2 következő értéke) kiszámítására. A titkosítás a következőképpen működik. Először is inicializálják a kulcsot. Ez az eljárás kezdeti értékeket biztosít az LFSR-hez, valamint az állapotgépben az R1, R2 regiszterekhez. Ezután a kulcsfolyam első 32 bitje kiszámításra kerül a KA kimenet és az utolsó LFSR rekord bitenkénti összeadásával. Ezt követően az egész folyamatot szinkronizáljuk, és a kulcsfolyam következő 32 bitjét az állapotgép kimenetének és az utolsó LFSR bejegyzés bitenkénti hozzáadásával számítjuk ki. Ismét szinkronizálunk, és ugyanabban a szellemben folytatjuk. [2]

A munka részletes sémája

A t = 0 kezdeti időpontban a shift regiszter 32 bites értékekkel inicializálódik , amelyeket a generált kulccsal adunk meg.

A regiszter visszacsatolási függvényét egy polinom adja meg:

ahol egy irreducibilis polinom adja meg

,

át és .

Nevezzük a kimenetet KA -nak . Kiszámítása a következő képlettel történik:

,

ahol  az egész szám összeadás vége .

Az állapotgép kimenetét a modulo 2- vel összehasonlítva streaming kulcsot alkotunk, azaz.

,

hol  van az összeadás vége .

Az állapotgépen belül az R1 és R2 új értékei a következő képletek szerint vannak hozzárendelve:

,

ahol  ciklikus eltolódás balra

Végül az S-box , amelyet jelöl , négy azonos 8x8 bites S-boxból és a kapott bitek permutációjából áll. A bemeneti adatok 4 bájtra vannak osztva, minden bájt egy nemlineáris leképezésben szerepel 8 bittől 8 bitig. A leképezés után az eredményül kapott szó bitjei felcserélődnek, így létrejön a végső S-box [1] eredmény .

A titkosított szöveg végső kialakításához a stream kulcsot összehasonlítjuk a modulo 2 egyszerű szöveggel.

Figyelemre méltó támadások

Alkalmazás

A SNOW 2.0 egyike az ISO/IEC ISO/IEC 18033-4 [10] titkosítási szabványban szereplő adatfolyam-rejtjeleknek , amely következtetési függvényeket határoz meg a kulcsfolyamok egyszerű szöveggel való összekapcsolásához, kulcsfolyam generátorokat a kulcsfolyam generálásához, valamint a kiválasztott objektumazonosítókat. kulcs stream generátorok az ISO/IEC 9834 szabványnak megfelelően az adatfolyam titkosításokhoz.

A SNOW 3G [6] van kiválasztva a 3GPP UEA2 és UIA2 [11] titkosítási algoritmusok adatfolyam-kulcs-generátoraként .

Jegyzetek

  1. 1 2 Patrik Ekdahl, Thomas Johansson. HÓ-egy új adatfolyam titkosítás  : [ eng. ] // Az első nyílt NESSIE műhelymunka, KU-Leuven. - 2000. - november 13. - P. 167-168.
  2. 1 2 Patrik Ekdahl, Thomas Johansson. A Stream Cipher SNOW új verziója  : [ eng. ] // Springer. - 2003. - 1. évf. 2595. - P. 47-61. ISSN 0302-9743 .
  3. O. Billet, H. Gilbert. A SNOW 2.0 ellenállása algebrai támadásokkal szemben  : [ eng. ] // Springer. - 2005. - 20. évf. 3376. - P. 19-28. - doi : 10.1007/978-3-540-30574-3_3 .
  4. Biztonsági algoritmusok . Letöltve: 2020. november 25. Az eredetiből archiválva : 2020. július 26.
  5. UEA2 tervezési és értékelési jelentés  ( 2006. szeptember 6.). Letöltve: 2020. október 20. Az eredetiből archiválva : 2020. október 29.
  6. 1 2 J. Molina-Gil, Caballero-Gil, Caballero-Gil, Amparo Fúster-Sabater. A 4G/LTE rendszerekben használt SNOW 3G generátor elemzése és megvalósítása  : [ eng. ] // Springer. - 2013. - Kt. 239.—P. 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. Egy új SNOW stream titkosítás, a SNOW-V  : [ eng. ] // ToSC. - 2019. - 1. évf. 2019, sz. 3. - P. 1-42. - doi : 10.13154/tosc.v2019.i3.1-42 .
  8. Philip Hawkes, Gregory G. Rose. Találd ki és határozd meg a HÓ elleni támadásokat  : [ eng. ] // Springer. - 2002. - 20. évf. 2595.—P. 37–46. - doi : 10.1007/3-540-36492-7\_4 .
  9. Dai Watanabe, Alex Biryukov, Christophe De Cannière. A SNOW 2.0 megkülönböztető támadása lineáris maszkolási  módszerrel ] // Springer. - 2003. - 1. évf. 3006. - P. 222-233.
  10. ISO/IEC 18033-4:2011  : Információtechnológia – Biztonsági technikák – Titkosítási algoritmusok – 4. rész: Adatfolyam -rejtjelek : ] . - 2. - Nemzetközi Szabványügyi Szervezet (ISO), 2011. - 92 p.
  11. UEA2 és UIA2 specifikáció  ( 2009. március 16.). Letöltve: 2020. november 13. Az eredetiből archiválva : 2022. január 19.