XTEA

06-08-2017 Nick Horn X
FONT SIZE:
fontsize_dec
fontsize_inc

I kryptering XTEA er en blok cipher som blev indført i 1997 af David Wheeler og Roger Needham, it-afdelingen af ​​University of Cambridge, til at rette sårbarheder opdaget i deres algoritme TEA. Den XTEA er ikke underlagt nogen patenter.

Enkelheden i sin struktur og kompakthed kode gør XTEA et interessant valg i mange situationer, hvor du har ekstreme begrænsninger knyttet til de ressourcer, for eksempel i de gamle hardware systemer, hvor mængden af ​​hukommelse er ofte minimal.

Struktur

Selv XTEA, såsom TEA, er struktureret på funktion kaldet Feistel netværk og opererer på blokke af data fra 64 bits, krypteringsnøgler på 128 bits og en anbefalet antal 64 passager. Forskellene er mere slående end TEA algoritme nøglehåndtering mere kompleks og en anden rækkefølge af operationer XOR, addition og flytte bits.

Block TEA

All'XTEA sammen, forfatterne fremlagde også en yderligere variant af den oprindelige kaldet Block TEA, som brugte den samme interne funktion dell'XTEA anvendt cyklisk, men hele beskeden i flere iterationer. Da der opererer på hele meddelelsen, Blokken TEA har den egenskab at den ikke kræver en driftsform.

Saarinen i 1998 viste et angreb for at blokere TEA som helhed, angreb, der også opsøgte en sårbarhed i blok TEA efterfølger, den xxtea.

Sikkerhed

Den bedste angreb blev beskrevet af all'XTEA Youngdai Ko og andre forfattere, der i 2004 viste, hvordan man bruger differentieret kryptoanalyse relateret til nøglen for at overtræde 26 af 64 passerer dell'XTEA, angreb, der kræver 2 udvalgte plaintexts og en tid 2.

Implementeringer

Følgende er de funktioner, kryptering og dekryptering dell'XTEA, udgivet som offentlig ejendom af forfatterne, skrevet i C-sprog:

Koden er ikke egnet til 64-bit-systemer: på dem vil fungere korrekt ved at bruge 128-bit-blokke på grund af de lange 64-bit unsigned heltal i stedet for 32. For at udføre koden, skal det ændres til brug af typer, som sikrer 32-bit, som uint32_t bibliotek stdint.h. I Java, ville den bruge datatypen "int" og & gt; & gt; & gt; i stedet for & gt; & gt;.

Den anbefalede værdi for parameteren "num_rounds" er 32 og ikke 64, da for hver iteration af cicle udfører to trin i Feistel netværket. For at øge hastigheden kan være præ-beregner værdierne af summen + k.

Forrige artikel Xavier Henry
Næste artikel Xorn