XTEA

XTEA
XTEA
XTEA
Zwei Feistel Runden (ein Zyklus) von XTEA
Entwickler Roger Needham, David Wheeler
Veröffentlicht 1997
Abgeleitet von TEA
Schlüssellänge 128 Bit
Blockgröße 64 Bit
Struktur Feistelchiffre
Runden variabel, 64 Feistelrunden (32 Zyklen) empfohlen
Beste bekannte Kryptoanalyse
Mit Stand vom Jahr 2004 ist der beste bekannte Angriff auf eine reduzierte Anzahl von 26 Feistelrunden bekannt.

Der XTEA (eXtended Tiny Encryption Algorithm) ist eine Blockchiffre welche eine Erweiterung und Verbesserung der Blockchiffre TEA darstellt. XTEA ist wie TEA bekannt für ihre einfache Beschreibung und Implementierung. Der Code als C-Programm umfasst normalerweise nur einige Zeilen Code. Er wurde von David Wheeler und Roger Needham an der Universität Cambridge im Jahr 1997 entwickelt. XTEA ist so wie sein Vorgänger TEA frei von Patenten.

Inhaltsverzeichnis

Eigenschaften

XTEA arbeitet auf 64-bit großen Blöcken und benutzt einen 128-bit langen Schlüssel. Er stellt eine Feistelchiffre mit einer vorgeschlagenen Feistel-Rundenanzahl von 64 dar. Normalerweise ist er so implementiert, dass 2 Runden einen Zyklus darstellen. Er hat einen sehr einfachen Mechanismus zur Erzeugung des jeweiligen Rundenschlüssels. Das Einbringen eines sogenannten Deltas, das wie bei TEA als (\sqrt{5}-1) \cdot 2^{31} definiert ist, verhindert einen Angriff, der auf der Symmetrie der einzelnen Runden basiert. Allerdings wird bei XTEA das Delta anders in die Runde eingebracht, was die eigentliche Stärkung des Algorithmus bewirkt.

Mit Stand vom Jahr 2004 ist der beste bekannte Angriff in Form der verwandten Schlüssel-Attacke (engl. related-key attack) auf XTEA in einer bewusst schwächer gewählten Implementierung von nur 26 Runden (empfohlen sind 64) bekannt. Dieser Angriff benötigt mindestens 220,5 frei gewählte Klartextblöcke.[1]

Referenzcode

Es folgt die Adaptierung der Referenzimplementierung der Ver- und Entschlüsselungsroutinen in C, die als Public Domain von David Wheeler und Roger Needham veröffentlicht wurde:

void encipher(unsigned int num_rounds, unsigned long* v, unsigned long* k) {
    unsigned long v0=v[0], v1=v[1], i;
    unsigned long sum=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;
}

void decipher(unsigned int num_rounds, unsigned long* v, unsigned long* k) {
    unsigned long v0=v[0], v1=v[1], i;
    unsigned long delta=0x9E3779B9, sum=delta*num_rounds;
    for(i=0; i<num_rounds; i++) {
        v1 -= (((v0 << 4) ^ (v0 >> 5)) + v0) ^ (sum + k[(sum>>11) & 3]);
        sum -= delta;
        v0 -= (((v1 << 4) ^ (v1 >> 5)) + v1) ^ (sum + k[sum & 3]);
    }
    v[0]=v0; v[1]=v1;
}

Referenzen

  1. Youngdai Ko, Seokhie Hong, Wonil Lee, Sangjin Lee, and Jongin Lim. "Related key differential attacks on 26 rounds of XTEA and full rounds of GOST." In Proceedings of FSE '04, Lecture Notes in Computer Science, 2004. Springer-Verlag.

Weblinks



Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • XTEA — Создатель: Дэвид Уилер и Роджер Нидхэм Создан: 1997 г …   Википедия

  • XTEA — Infobox block cipher name = XTEA caption = Two Feistel rounds (one cycle) of XTEA designers = Roger Needham, David Wheeler publish date = 1997 derived from = TEA derived to = Corrected Block TEA key size = 128 bits block size = 64 bits structure …   Wikipedia

  • XTEA — En cryptographie, XTEA (eXtended TEA) est un algorithme de chiffrement conçu pour corriger les faiblesses de TEA. David Wheeler et Roger Needham, de l université de Cambridge, ont conçu cet algorithme qui fut proposé dans un rapport technique non …   Wikipédia en Français

  • Extended Tiny Encryption Algorithm — XTEA Zwei Feistel Runden (ein Zyklus) von XTEA Entwickler Roger Needham, David Wheeler Veröffentlicht 1997 Abgeleitet von …   Deutsch Wikipedia

  • TEA — Эту статью следует викифицировать. Пожалуйста, оформите её согласно правилам оформления статей. У этого термина существуют и другие значения, см. TEA (значения) …   Википедия

  • Extended Tiny Encryption Algorithm — (XTEA (eXtended TEA) es un algoritmo criptográfico utilizado para el cifrado por bloques, al igual que el algoritmo TEA (presentado en 1994), pero corrigiendo las deficiencias de éste último. Sus diseñadores fueron David Wheeler y Roger Needham… …   Wikipedia Español

  • XXTEA — Corrected Block TEA (XXTEA) One round of XXTEA General Designers David Wheeler, Roger Needham First published October 1998 Derived from …   Wikipedia

  • Tiny Encryption Algorithm — Infobox block cipher name = TEA caption = Two Feistel rounds (one cycle) of TEA designers = Roger Needham, David Wheeler publish date = 1994 derived from = derived to = XTEA key size = 128 bits block size = 64 bits structure = Feistel network… …   Wikipedia

  • Tiny Encryption Algorithm — En criptografía, el Tiny Encryption Algorithm (TEA) (Algoritmo Diminuto de Cifrado) es un algoritmo para el cifrado por bloques notable por su simplicidad de descripción e implementación (generalmente unas pocas líneas de código). Fue diseñado… …   Wikipedia Español

  • XXTEA — Создатель: Дэвид Вилер Создан: 1998 г. Опубликован: 1998 г …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”