Tiny Encryption Algorithm
Cet article est une ébauche concernant l’informatique et la cryptologie.
| Concepteur(s) | David Wheeler et Roger Needham |
|---|---|
| Première publication | 1997 |
| Dérivé de | aucun |
| Chiffrement(s) basé(s) sur cet algorithme | XTEA |
| Taille(s) du bloc | 64 bVoir et modifier les données sur Wikidata |
|---|---|
| Longueur(s) de la clé | 128 bits |
| Structure | Réseau de Feistel |
| Nombre de tours | Variable; 64 tours de Feistel recommandés (32 cycles) |
Meilleure cryptanalyse
Tiny Encryption Algorithm (ou TEA) est un algorithme de chiffrement par bloc connu pour la simplicité de sa description et de son implémentation (généralement quelques lignes de codes). Il s’agit d’un réseau de Feistel comprenant un nombre important de tours : 32. Il fut conçu par David Wheeler et Roger Needham, du laboratoire informatique de Cambridge, et présenté au salon Fast Software Encryption en 1994 [1] . Il n'est l'objet d'aucun brevet.
Vikram Reddy Andem, présenta une cryptanalyse du chiffrement pour son mémoire de master[2] .
Code source
[modifier | modifier le code ]Le code qui suit est une adaptation du code source en C paru dans l’article original de Wheeler et Needham[1] .
#include<stdint.h> voidchiffrer(uint32_t*v,uint32_t*k){ uint32_tv0=v[0],v1=v[1],sum=0,i;/* initialisation */ uint32_tdelta=0x9e3779b9;/* constantes de clef */ uint32_tk0=k[0],k1=k[1],k2=k[2],k3=k[3];/* mise en cache de la clef */ for(i=0;i<32;i++){/* boucle principale */ sum+=delta; v0+=((v1<<4)+k0)^(v1+sum)^((v1>>5)+k1); v1+=((v0<<4)+k2)^(v0+sum)^((v0>>5)+k3); } v[0]=v0;v[1]=v1; } voiddechiffrer(uint32_t*v,uint32_t*k){ uint32_tv0=v[0],v1=v[1],sum=0xC6EF3720,i;/* initialisation */ uint32_tdelta=0x9e3779b9;/* constantes de clefs */ uint32_tk0=k[0],k1=k[1],k2=k[2],k3=k[3];/* mise en cache de la clef */ for(i=0;i<32;i++){/* boucle principale */ v1-=((v0<<4)+k2)^(v0+sum)^((v0>>5)+k3); v0-=((v1<<4)+k0)^(v1+sum)^((v1>>5)+k1); sum-=delta; } v[0]=v0;v[1]=v1; }
Notes et références
[modifier | modifier le code ]Références
[modifier | modifier le code ]- ↑ a et b Wheeler et Needham 1994.
- ↑ (en) A cryptanalysis of the tiny Encryption Algorithm , Vikram Reddy Andem
Notes
[modifier | modifier le code ]- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Tiny Encryption Algorithm » (voir la liste des auteurs).
Annexes
[modifier | modifier le code ]Bibliographie
[modifier | modifier le code ]- (en) David J. Wheeler et Roger M. Needham, « TEA, a tiny encryption algorithm », Fast Software Encryption, , p. 363–366 (DOI 10.1007/3-540-60590-8_29 )
Liens externes
[modifier | modifier le code ]| Algorithmes courants | |
|---|---|
| Algorithmes moins courants | |
| Autres algorithmes | |
| Architecture | |
| Attaques | |
| Standardisation | |
| Articles liés | |