TEA (kryptografie)

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Schéma šifry TEA TEA (rozepsaně ) je bloková šifra postavená na myšlence Feistelovy sítě a vytvořená na Cambridgeské univerzitě Davidem Wheelerem a Rogerem Needhamem v roce 1994. Používá klíče délky 128 bitů, velikost bloku 64 bitů a volitelný počet rund (doporučeno 64 v rámci Feistelovy sítě, respektive 32, pokud se dvojice Feistelových počítá za jednu).

...

Referenční implementace

Sami autoři uvolnili svou referenční implementaci napsanou v Céčku jako volné dílo:

void encrypt(unsigned long v[2], unsigned long k[4]) { unsigned long v0 = v[0], v1 = v[1], sum = 0, i; /* set up */ unsigned long delta = 0x9E3779B9; /* a key schedule constant */ unsigned long k0 = k[0], k1 = k[1], k2 = k[2], k3 = k[3]; /* cache key */ for (i = 0; i>5) + k1); v1 += ((v0>5) + k3); /* end cycle */ } v[0] = v0; v[1] = v1; }

void decrypt(unsigned long v[2], unsigned long k[4]) { unsigned long v0 = v[0], v1 = v[1], sum = 0xC6EF3720, i; /* set up; sum is 32*delta */ unsigned long delta = 0x9E3779B9; /* a key schedule constant */ unsigned long k0 = k[0], k1 = k[1], k2 = k[2], k3 = k[3]; /* cache key */ for(i = 0; i>5) + k3); v0 -= ((v1>5) + k1); sum -= delta; /* end cycle */ } v[0] = v0; v[1] = v1; }

Konstanta s šestnáctkovým zápisem 0x9E3779B9 byla transparentně vybrána jako číslo rovné ⌊232/ϕ⌋, kde ϕ je hodnota zlatého řezu.

Konstanta má zabránit jednoduchým útokům na jednoduchost rund. Šifra má totiž velmi jednoduché rundovní klíče, kdy se ve všech rundách se používá stejný úvodní klíč.

Bezpečnost

TEA má několik slabin. Především ke každému klíči patří tři další klíče vytvářející stejný šifrový text, faktický prostor klíčů tak odpovídá jen 126 bitům. +more Navíc to oslabuje vlastnosti TEA pro použití jako kryptografické hašovací funkce, což bylo i historicky použito pro útok na systémy Xbox, které takto šifru TEA využívaly.

Šifra je kvůli tomu zranitelná útokem příbuznými klíči, který umožňuje útok s výběrem otevřeného textu, při kterém stačí k úspěchu 2^{23} otevřených textů.

Následníci

Na základě šifry TEA byla nejprve vyvinuta šifra XTEA a následně šifra XXTEA.

Odkazy

Reference

Externí odkazy

[url=http://www.movable-type.co.uk/scripts/tea-block.html]Online implementace v JavaScriptu[/url] (anglicky)

Kategorie:Feistelovy šifry Kategorie:Univerzita v Cambridgi Kategorie:Svobodné šifry

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top