Der International Data Encryption Algorithm (IDEA) wurde 1990 als ein Gemeinschaftsprojekt zwischen der ETH-Zürich und der Ascom Systec AG von James L. Massey und Xueija Lau entwickelt.
IDEA ist ein symmetrischer Algorithmus und gehört zu den Blockchiffren. 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 DESS in Erwägung gezogen.
Wie funktioniert des IDEA ?
Der IDEA benutzt eine Serie von acht identischen Runden und einer Ausgabetransformation, welches einer halben Runde entspricht. Der Entschlüsslungsprozess entspricht dem Verschlüsslungsprozess in umgekehrter Form.
Bei der Verschlüsselung wird der Klartext in 64 Bit Blöcke aufgeteilt und der Schlüssel in Teilstücke zu je 16 Bit zerlegt. Die Verschlüsselung geschieht durch die Kombination von 3 Operationen:
- die boolesche Operation XOR, auch „exclusives oder“ genannt ( mit einem blau umkreisten + dargestellt)
- die Addition modulo 2 hoch 16 ( mit einem grünen, gerahmten Plus + dargestellt )
- Die Multiplikation modulo 2 hoch 16 + 1 , wo alle NULL-WORD-WERTE (0x0000) als 2 hoch 16 enterpretiert werden ( mit einem roten umkresten Punkt dargestellt )
Die Kombination dieser drei Operatoren aus unterschiedlichen algebraischen Gruppen soll einfach gedrückt eine hohe Sicherheit vor dem aufbrechen bieten. Das Verfahren wurde entwickelt um Angriffe durch differentielle Kryptoanalyse zu widerstehen.
Nach acht Durchläufen kommt die Ausgabetransformation zum Einsatz, die in der Illustration ist unten dargestellt.
Key Schedule
In jedem Druchgang benutzt man sechs 16-Bit-Teilschlüssel , während die finale halbe runde deren vier- 16 Bit-Teilschlüssel benutzt werden , was zusammen 52 Teilschüssel für 8,5 Runden ergbit.
Die ersten acht Teilschlüssel werden direkt vom Schlüssel extrahiert, wobei der Schlüssel K1 der ersten Runde aus den 15 niederwertigen 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 aller 52 Teilschlüssel gebildet.