IDEA Chiffre

Herkunft / Verwendung: IDEA (International Data Encryption Algorithm) ist eine symmetrische Blockchiffre, die 1990 als ein Gemeinschaftsprojekt zwischen der ETH Zürich und der Ascom Systec AG von James L. Massey und Xueija Lai entwickelt wurde. IDEA benutzt eine Schlüssellänge von 128 bit (16 Bytes).

IDEA war das erste Verfahren nach DES, welches gegen differentielle Kryptoanalyse gehärtet war. Auch gegen Angriffe der linearen Kryptoanalyse ist IDEA gewappnet. Gegenüber DES bietet IDEA den Vorteil einer erhöhten Schlüssellänge (128 statt 56 bit) und einer besseren Performance in softwarebasierter Implementierung. Das Verfahren war in den 1990ern beliebt und verbreitet und wurde u. a. in PGP für den symmetrischen Verschlüsselungsteil benutzt.

IDEA benutzt eine Blocklänge von 8 Bytes, das heißt, dass ein Chiffrat 7 Zeichen länger werden kann als der ursprüngliche Klartext. Es empfiehlt sich, als Schlüssel den Hash eines Klartextpasswortes zzgl. eines (wenn gewünscht gehashten) Salts zu benutzen.

Die Ascom Systec AG hielt die Patente an IDEA in Europa und den USA, die aber am 16. Mai 2011 erloschen.

Beschreibung des Algorithmus

Der Algorithmus wurde durch eine Überarbeitung eines früheren Kryptosystems namens PES (Proposed Encryption Standard) entwickelt, anfangs wurde er als IPES (Improved PES) bezeichnet und wurde als Ersatz für DES in Erwägung gezogen. IDEA benutzt eine Serie von acht identischen Transformationen, welche je einer Runde entsprechen, und einer Ausgabetransformation, welche einer halben Runde entspricht. Der Entschlüsselungsprozess entspricht dem Verschlüsselungsprozess in umgekehrter Form. Bei der Verschlüsselung wird der Klartext in 64 Bit große Blöcke unterteilt und der Schlüssel in Teilstücke zu je 16 Bit zerlegt. Die Verschlüsselung geschieht durch Kombination der drei Operationen XOR, Addition Modulo 2 und Multiplikation Modulo 2 + 1. Die Kombination dieser drei Operationen aus unterschiedlichen algebraischen Gruppen soll ein hohes Maß an Sicherheit gewährleisten. Das Verfahren ist dazu optimiert, Angriffen durch differentielle Kryptoanalyse zu widerstehen. Nach acht Runden kommt eine finale halbe Runde, die Ausgabetransformation, zum Einsatz.

Jede der acht Runden benutzt sechs 16-Bit-Teilschlüssel (aus dem gesamt 128 bit langem Schlüssel), während die finale halbe Runde derer vier benutzt, was zusammen 52 Teilschlüssel für 8,5 Runden ergibt. Die ersten acht Teilschlüssel werden direkt vom Schlüssel extrahiert, wobei der Schlüssel K1 der ersten Runde aus den 16 niederwertigsten Bits gebildet wird. Danach wird der Schlüssel 25 Bits nach links rotiert und aus dem rotierten Schlüssel wiederum acht Teilschlüssel extrahiert. Dies wird wiederholt, bis nach insgesamt sechs Rotationen alle 52 Teilschlüssel gebildet wurden.

Beispiel

Klartext:BeispielklartextBeispielklartext (32 Bytes, 4 Blöcke)
Schlüssel:Schokoladentorte (16 Zeichen, 128 bit)
Chiffrat CBC:FC752BEE 2B0F9DE1 33A64F95 D297A1AF 6828C149 57DD476C CBA5A450 130D7449 (hex)
Chiffrat ECB:FC752BEE 2B0F9DE1 2F69BD7B 6B6E88AF FC752BEE 2B0F9DE1 2F69BD7B 6B6E88AF (hex)

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

Die Länge des Textes sollte durch 8 (=Blocklänge) teilbar sein. Kürze Texte werden mit Nullbytes rechts aufgefüllt. Die Länge des Ergebnisses ist immer durch 8 teilbar und damit ggf. bis zu 7 Bytes länger als der Klartext.
Der Schlüssel sollte 16 Zeichen lang sein, besser noch ein binärer Hash mit 128 Bit. Kürzere Schlüssel werden durch Wiederholung verlängert, zu lange auf 16 Bytes gekürzt.
Den optionalen Initialisierungsvektor (IV) mit 8 Byte Länge geben Sie durch Komma getrennt als 2. Angabe im Schlüsselfeld an. Kürzere IV werden mit Nullen rechts aufgefüllt, längere auf richtige Länge gekürzt.
Wenn Sie Texte eingeben, die nicht als Hex-Sequenz (ohne Leerzeichen) interpretiert werden können, erfolgt eine automatische Umsetzung in eine Hex-Sequenz buw. Binärdaten. Ist das Ergebnis nicht umsetzbar in druckbare ASCII-Zeichen, erfolgt eine automatische Ausgabe in Hex.




Quellen, Literaturverweise und weiterführende Links

Schmeh, Klaus: Kryptografie: Verfahren - Protokolle - Infrastrukturen, dpunkt Verlag, 5. Auflage 2013, iX-Edition, S. 121
Wobst, Reinhard: Abenteuer Kryptologie, Addison-Wesley-Verlag 2001, S. 205