XTEA

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
TEA extins (XTEA)
XTEA InfoBox Diagram.png
Două etape ale funcției Feistel (1 ciclu) în XTEA
General
Designeri Roger Needham , David Wheeler
Prima publicație 1997
Provin de la CEAI
Succesori XXTEA
Detalii
Dimensiunea cheii 128 biți
Dimensiunea blocului 64 de biți
Structura Rețeaua Feistel
Numărul de pase variabile: recomandate 64 de pași ai funcției Feistel (32 cicluri)
Criptanaliză mai bună
În 2004 s-a demonstrat că un atac de criptanaliză diferențială legat de cheie poate încălca 26 din cele 64 de pasaje ale XTEA cu 2 20,5 text clar ales și un timp de 2 115,15 .

În criptografie, XTEA ( eXtended TEA ) este un cifru bloc care a fost introdus în 1997 de David Wheeler și Roger Needham , de la departamentul de calculatoare al Universității din Cambridge , [1] pentru a corecta vulnerabilitățile descoperite în algoritmul lor TEA . XTEA nu face obiectul niciunui brevet .

Simplitatea structurii sale și compactitatea codului fac din XTEA o alegere interesantă în multe situații în care există constrângeri extreme legate de resurse, de exemplu în sistemele hardware vechi în care cantitatea de memorie este adesea minimă.

Structura

Chiar și XTEA, ca și TEA, este structurat pe funcția cunoscută sub numele de rețea Feistel și funcționează pe blocuri de date pe 64 de biți , chei de criptare pe 128 de biți și un număr recomandat de 64 de pași. Cele mai izbitoare diferențe în comparație cu TEA sunt un algoritm de gestionare a cheilor mai complex și o ordine diferită a operațiunilor XOR , adiție și schimbare de biți.

Blocați ceaiul

Împreună cu XTEA, autorii au prezentat și o variantă suplimentară a algoritmului original numit Block TEA , care a folosit aceeași funcție internă a XTEA, dar s-a aplicat ciclic pe întregul mesaj pentru mai multe iterații. Deoarece funcționează pe întregul mesaj, BLock TEA are proprietatea de a nu necesita un mod de operare .

În 1998, Saarinen a arătat un atac asupra Block TEA în întregime, un atac care a descoperit, de asemenea, o vulnerabilitate în succesorul Block TEA, XXTEA .

Siguranță

Cel mai bun atac asupra XTEA a fost descris de Youngdai Ko și alți autori care, în 2004, au arătat cum să utilizeze criptanaliza diferențială legată de cheie pentru a încălca 26 din cele 64 de pasaje ale XTEA, un atac care necesită 2 20,5 text clar ales și un timp de 2 115,15 .

Implementări

Următoarele sunt funcțiile de criptare și decriptare XTEA, lansate în domeniul public de către autori, scrise în limbajul C :

 cifrare nulă ( nesemnate int num_rounds , nesemnate lung * v , nesemnate lung * k ) {
    nesemnat lung v0 = v [ 0 ], v1 = v [ 1 ], i ;
    suma lungă nesemnată = 0 , delta = 0x9E3779B9 ;
    for ( i = 0 ; i < num_rounds ; i ++ ) {
       v0 + = ((( v1 << 4 ) ^ ( v1 >> 5 )) + v1 ) ^ ( sum + k [ sum & 3 ]);
        sum + = delta ;
        v1 + = ((( v0 << 4 ) ^ ( v0 >> 5 )) + v0 ) ^ ( sum + k [( sum >> 11 ) & 3 ]);
    }
    v [ 0 ] = v0 ; v [ 1 ] = v1 ;
}

descifrare nulă ( nesemnate num_rounds int , nesemnate lung * v , nesemnate lung * k ) {
    nesemnat lung v0 = v [ 0 ], v1 = v [ 1 ], i ;
    delta lungă nesemnată = 0x9E3779B9 , sumă = delta * num_rounds ;
    for ( i = 0 ; i < num_rounds ; i ++ ) {
        v1 - = (((( v0 << 4 ) ^ ( v0 >> 5 )) + v0 ) ^ ( sum + k [( sum >> 11 ) & 3 ]);
        suma - = delta ;
        v0 - = ((( v1 << 4 ) ^ ( v1 >> 5 )) + v1 ) ^ ( sum + k [ sum & 3 ]);
    }
    v [ 0 ] = v0 ; v [ 1 ] = v1 ;
}

Codul nu este potrivit pentru sistemele pe 64 de biți : va funcționa incorect pe ele folosind blocuri pe 128 de biți datorită numerelor întregi lungi nesemnate pe 64 de biți în loc de 32. Pentru a transporta codul, acesta trebuie modificat pentru a utiliza tipuri care garantează 32 de biți, cum ar fi uint32_t din biblioteca stdint.h . În Java , tipul de date „int” și operatorul >>> trebuie utilizate în locul >>.

Valoarea recomandată pentru parametrul „num_rounds” este 32 și nu 64, deoarece pentru fiecare iterație bucla efectuează 2 treceri ale rețelei Feistel. Pentru a crește viteza, puteți pre-calcula valorile sumei + k [].

Notă

Bibliografie

  • Youngdai Ko, Seokhie Hong, Wonil Lee, Sangjin Lee și Jongin Lim. "Atac cu cheie asociat | Atacuri cu cheie asociat diferențiat pe 26 de runde de XTEA și runde complete de GOST." In Proceedings of FSE '04 - Note de curs în informatică, 2004 (Springer Science + Business Media | Springer-Verlag)
  • Seokhie Hong, Deukjo Hong, Youngdai Ko, Donghoon Chang, Wonil Lee și Sangjin Lee. „Criptanaliza diferențială a TEA și XTEA.” - Procesele ICISC 2003 (2003b)
  • Dukjae Moon, Kyungdeok Hwang, Wonil Lee, Sangjin Lee și Jongin Lim. „Criptanaliza diferențială imposibilă a XTEA și TEA rotunde reduse”. - Note de curs în informatică, 2365: 49-60, 2002. ISSN 0302-9743.
  • Roger M. Needham și David J. Wheeler. „Extensii de ceai”. Raport tehnic, Laboratorul de calculatoare, Universitatea din Cambridge (1997) (PDF) .

Elemente conexe

linkuri externe