Algoritmo di crittografia minuscolo

Algoritmo di crittografia minuscolo

riassunto
Designer David Wheeler e Roger Needham
Prima pubblicazione 1997
Derivato da no
Crittografia basata su questo algoritmo XTEA
Caratteristiche
Dimensioni blocco 64 bit
Lunghezza chiave 128 bit
Struttura Rete Feistel
Numero di giri Variabile; 64 giri Feistel consigliati (32 cicli)

Migliore crittoanalisi

Tiny Encryption Algorithm (o TEA) è un algoritmo di cifratura a blocchi noto per la semplicità della sua descrizione e della sua implementazione (di solito poche righe di codice). Questa è una rete Feistel che comprende un numero significativo di torri: 32. È stata progettata da David Wheeler e Roger Needham del Cambridge Computer Lab e presentata alla Fast Software Encryption nel 1994 . Non è oggetto di alcun brevetto.

Vikram Reddy Andem, ha presentato una crittoanalisi del cifrario per la sua tesi di laurea.

Codice sorgente

Il codice seguente è un adattamento del codice sorgente C dall'articolo originale di Wheeler e Needham.

#include <stdint.h> void chiffrer (uint32_t* v, uint32_t* k) { uint32_t v0=v[0], v1=v[1], sum=0, i; /* initialisation */ uint32_t delta=0x9e3779b9; /* constantes de clef */ uint32_t k0=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; } void dechiffrer (uint32_t* v, uint32_t* k) { uint32_t v0=v[0], v1=v[1], sum=0xC6EF3720, i; /* initialisation */ uint32_t delta=0x9e3779b9; /* constantes de clefs */ uint32_t k0=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; }

Note e riferimenti

Riferimenti

  1. Wheeler e Needham 1994 .
  2. (in)  A cryptanalysis of the Tiny Encryption Algorithm , Vikram Reddy Andem

Appunti

Appendici

Bibliografia

  • (it) David J. Wheeler e Roger M. Needham, "  TEA, un piccolo algoritmo di crittografia  " , Fast Software Encryption ,1994, p.  363-366 ( DOI  10.1007 / 3-540-60590-8_29 )

link esterno