Top Qs
Chronologie
Chat
Contexte

Tiny Encryption Algorithm

algorithme de chiffrement par bloc De Wikipédia, l'encyclopédie libre

Remove ads

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.

Faits en bref Concepteur(s), Première publication ...

Vikram Reddy Andem, présenta une cryptanalyse du chiffrement pour son mémoire de master[2].

Remove ads

Code source

Résumé
Contexte

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>

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

Notes et références

Annexes

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads