ZĂPADĂ

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
ZĂPADĂ
General
Designeri Thomas Johansson și Patrik Ekdahl
Prima publicație 2000 (SNOW 1.0) și 2002 (SNOW 2.0)
Detalii
Dimensiunea cheii 128 și 256 de biți
Dimensiunea vectorului de inițializare 64 (SNOW 1.0) sau 128 (SNOW 2.0) bit
Structura LFSR
Numărul de pase numărul de pași
Criptanaliză mai bună
SNOW 1.0 a fost criptat și nu este sigur. Cu toate acestea, nu este cunoscută nicio criptanaliză pentru SNOW 2.0

Termenul SNOW indică două cifre de flux dezvoltate de Thomas Johansson și Patrik Ekdahl de la Universitatea suedeză din Lund numite SNOW 1.0 și SNOW 2.0 . Prima versiune a algoritmului, inițial SNOW numai, a fost prezentat în 2000 ca un candidat pentru Nessie (Schemele nou european pentru semnături, integritate și criptare), un proiect european pentru selectarea criptografice primitivelor existente 2000 pentru a de la 2003 de . Algoritmul a fost eliminat deoarece a fost considerat nesigur și autorii au lansat o a doua versiune în 2002, care a fost revizuită și corectată a punctelor slabe constatate.

SNOW 1.0

Algoritmul original folosește chei lungi de 128 sau 256 biți și un vector opțional de inițializare pe 64 biți (VI) .
Procedura începe cu gestionarea cheii : aceasta este utilizată pentru a inițializa un registru de traducere LFSR , care reprezintă starea internă a algoritmului. Următorul pas este reprezentat de reducerea la zero a 2 registre pe 32 de biți ale mașinii de stat finite (FSM) , un fel de funcție S-box și de executarea unor cicluri fără încărcare.

În acest moment, criptarea reală poate începe: se generează o cheie de execuție pe 32 de biți, care este XORată cu textul simplu pentru a produce mesajul criptat. Generarea se realizează prin combinarea ieșirii FSM cu ultimul bloc de 32 de biți al LFSR. Odată ce criptarea este terminată, starea internă a algoritmului este actualizată, astfel încât LFSR să producă o rotație și să reseteze întregul lanț.

Operațiunea de decriptare are loc în același mod, deoarece algoritmul utilizat este același cu cel pentru criptare.

Algoritmul funcționează în 2 moduri: modul standard , descris mai sus și modul VI . Acesta din urmă diferă de modul standard prin faptul că VI-ul transmis algoritmului este combinat cu cheia pentru inițializarea LFSR.

SNOW 2.0

Punctele slabe descoperite în structura originală SNOW ( vezi mai jos ) i-au determinat pe autori să revizuiască codul algoritmului. Astfel, Johansson și Ekdahl au lansat SNOW 2.0 la sfârșitul anului 2002.
Diferențele sunt minime: FSM ia acum 2 date pe 32 de biți ca intrare în loc de una; VI este 128 de biți; S-box-ul integrat în FSM se bazează acum pe o trecere a algoritmului Rijndael ( AES ).

Comparativ cu originalul, noua versiune este, de asemenea, mai rapidă: 5/6 cicluri pe octet.

Siguranță

SNOW 1.0 a fost criptat de P. Hawkes și G. Rose, care au demonstrat cum analiza a 2 95 de caractere generate de algoritm permite recuperarea cheii cu un calcul total de 2 224 operațiuni [1] . Alți autori au raportat posibilitatea de a efectua un atac discriminator (adică distinge ieșirea cifrului de ieșirea unui generator de numere aleatoare hardware reale) de aceeași complexitate prin analiza a 2 95 de caractere generate de SNOW [2] .
Deși atacurile nu au fost practic aplicabile datorită complexității necesare, au arătat totuși o structură internă de Zăpadă afectată de slăbiciuni, ceea ce i-a determinat pe analiștii NESSIE să renunțe la algoritm.

SNOW 2.0, pe de altă parte, este mult mai sigur și până în prezent nu se cunoaște niciun atac cunoscut mai eficient decât simpla forță brută .

Notă

  1. ^ P. Hawkes și G. Rose: „Ghiciți și determinați atacurile asupra Zăpezii”, zone selectate în criptografie (SAC) 2002
  2. ^ D. Coppersmith, S. Halevi, C. Jutla: "Cryptanalysis of stream ciphers with linear masking", publicat în Advances in Cryptology - CRYPTO 2002 , Lecture Notes of Computer Science series , Ed. Springer (2002)

linkuri externe

  • Pagina de pornire SNOW , pe it.lth.se. Accesat la 3 octombrie 2008 (arhivat din original la 3 ianuarie 2009) .
  • Descrierea SNOW 1.0 în modul VI ( PDF ), pe it.lth.se. Adus la 3 octombrie 2008 (arhivat din original la 25 februarie 2007) .
  • Sursa SNOW 1.0 ( ZIP ), pe it.lth.se. Adus la 3 octombrie 2008 (arhivat din original la 22 februarie 2007) .
  • Descrierea SNOW 2.0 ( PDF ), pe it.lth.se. Adus la 3 octombrie 2008 (arhivat din original la 25 februarie 2007) .
  • Sursa SNOW 2.0 ( ZIP ), pe it.lth.se. Adus la 3 octombrie 2008 (arhivat din original la 22 februarie 2007) .