XTEA

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 publié en 1997 (Needham and Wheeler, 1997). Il n'est soumis à aucun brevet.

Tout comme TEA, XTEA est basé sur un réseau de Feistel de blocs de 64 bits, avec une clé de 128 bits en 64 tours recommandés. Plusieurs différences sont notables vis-à-vis de TEA, notamment un plan de génération de clés plus élaboré et un arrangement des décalages, XOR et additions.

Parallèlement à XTEA, un algorithme de chiffrement par blocs de tailles variables, dénommé Block TEA, est présenté dans le même rapport ; il utilise la fonction par tour de XTEA mais s'applique cycliquement à tout le message lors de plusieurs itérations. Vu qu'il traite l'ensemble du message, Block TEA a la particularité de n'avoir pas besoin d'un mode d'opération. Une attaque sur cet algorithme est décrite par Markku-Juhani Saarinen dans un rapport de 1998 non publié ; il a aussi découvert une faiblesse dans XXTEA, le successeur de Block TEA.

Jusqu'en 2004, la meilleure attaque sur XTEA est une cryptanalyse différentielle par clé apparentée sur 24 des 64 tours de XTEA, demandant 220.5 textes choisis et une complexité de 2115.15 (Ko et al, 2004).

Sommaire

Implémentations

Ce code source standard en langage C — mis dans le domaine public par David Wheeler et Roger Needham — procède au chiffrement et au déchiffrement en utilisant XTEA :

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;
}

Voir aussi

Article connexe

  • RC4 - un algorithme de chiffrement de flux qui, comme XTEA, est conçu pour une implémentation très simple.

Bibliographie

  • 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. Dans « Proceedings of FSE '04 », notes de lecture de « Computer Science, 2004 ». Springer-Verlag.
  • Seokhie Hong, Deukjo Hong, Youngdai Ko, Donghoon Chang, Wonil Lee, and Sangjin Lee. Differential cryptanalysis of TEA and XTEA., « Proceedings of ICISC 2003 », 2003b.
  • Dukjae Moon, Kyungdeok Hwang, Wonil Lee, Sangjin Lee, and Jongin Lim. Impossible differential cryptanalysis of reduced round XTEA and TEA. notes de lecture dans « Computer Science », 2365: 49-60, 2002. ISSN 0302-9743.
  • Roger M. Needham and David J. Wheeler. Tea extensions. Rapport technique, université de Cambridge, octobre 1997 (PDF).
  • Vikram Reddy Andem. A Cryptanalysis of the Tiny Encryption Algorithm, thèse de master, Université d'Alabama, Tuscaloosa, 2003.
  • Markku-Juhani Saarinen. Cryptanalysis of Block TEA. manuscript non publié, octobre 1998. Peut être trouvé dans les archives de sci.crypt.research de Usenet

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article XTEA de Wikipédia en français (auteurs)

Игры ⚽ Поможем написать реферат

Regardez d'autres dictionnaires:

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

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

  • 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

  • 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”