TEA Chiffre

Herkunft / Verwendung:Der TEA (Tiny Encryption Algorithm) ist eine symmetrische Blockchiffre, die von den Briten David Wheeler und Roger Needham an der Universität Cambridge entwickelt wurde, um ein besonders einfaches und ressourcenschonendes Verfahren zu schaffen.. Er wurde erstmals 1994 auf dem Fast Software Encryption-Workshop vorgestellt. Es lässt sich mit zwei Dutzend Codezeilen implementieren, basiert auf einem Feistel-Netzwerk und benutzt 64-Bit-Blöcke und einen 128-Bit-Schlüssel (16 Zeichen). Aus ihm gingen die XTEA und XXTEA Verfahren hervor. TEA ist frei von Patenten.

Kryptoanalysten fanden in TEA einige Schwächen - so gibt es zu jedem Schlüssel drei äquivalente Schlüssel. Dadurch ergibt sich eine effektive Schlüssellänge von nur 126 Bit. Da TEA auch bei der Spielekonsole XBox von Microsoft zur Hash-Erzeugung benutzt wurde, konnte hier der Angriff praktisch ausgenutzt werden.

Aufgrund der Schwächen entstand bald eine verbesserte Version des Algorithmus, nämlich XTEA.

Beschreibung des Algorithmus

TEA arbeitet als Blockchiffre mit 64-bit großen Blöcken (entspricht 8 Bytes bzw. 2 Long Integers mit je 4 Bytes) und einem 128-bit großem Schlüssel (entspricht 16 Zeichen). Über 64 Runden werden über ein Feistel-Netzwerk die Eingangsblöcke unter Einbeziehung der Schlüsselbytes verschlüsselt. Durch die Beimischung eines Deltas mit dem Wert 2654435769 (dezimal) bzw. 9E3779B9 (hexadezimal) (232 / Konstante goldener Schnitt) wird TEA gegen die Symmetrie der einzelnen Runden gehärtet.

Eine Verschlüsselung besteht aus 32 Zyklen, die sich in zwei Runden unterteilen. In der ersten Runde werden die ersten 8 Bytes (64 bits) des Schlüssels verwendet, in der zweiten Runde die anderen 8 Bytes. Runde 3 (also Zyklus 2, Runde 1) verwendet wieder die ersten 8 Bytes usw.

Beispiel

Klartext:BeispielklartextBeispielklartext (32 Bytes, 4 Blöcke)
Schlüssel:Schokoladentorte (16 Zeichen, 128 bit)
Chiffrat:6C816484 4A9C5416 002963EA 8C1D5A3B 6C816484 4A9C5416 002963EA 8C1D5A3B

Code / Chiffre online dekodieren / entschlüsseln bzw. kodieren / verschlüsseln (Decoder / Encoder / Solver-Tool)



Quellen, Literaturverweise und weiterführende Links

Schmeh, Klaus: Kryptografie: Verfahren - Protokolle - Infrastrukturen, dpunkt Verlag, 5. Auflage 2013, iX-Edition, S. 124