Als Alternative zum unsicher gewordenen DES wurde eine Blockchiffre entwickelt, die neben einer höheren Sicherheit vor allem einen größeren Schlüsselraum bot und besonders eine bessere Einbeziehung in Software ermöglichte. Die 1990 vorgestellte Version ließ sich mittels gerade entwickelter kryptoanalytischer Verfahren brechen, so dass eine Überarbeitung notwendig war, welche ab 1992 den Namen IDEA trug.
Genau wie beim Data Encryption Standard handelt es sich bei IDEA um eine 64 Bit Blockchiffre, die aber mit einem 128-Bit-Schlüssel arbeitet. Wie beim DES werden die Daten durch wiederholte Anwendung der gleichen Operationen (Runden) verschlüsselt, allerdings benötigt IDEA nur 8 statt 16 Runden. Durch die Verringerung der Runden auf die Hälfte und dadurch, dass es keine Permutationen gibt, bleibt die Rechenzeit bei gleichzeitiger Steigerung der Sicherheit unter der von DES. Besonders bemerkenswert ist, dass keine Bitoperationen, sondern stattdessen drei verschiedene Operationen auf 16-Bit-Blöcken verwendet werden:
-Das bitweise XOR, welches auch der Addition zweier Zahlen ohne (bitweisen) Übertrag entspricht.
-Die Addition zweier Zahlen modulo 216, das Ergebnis bleibt auf einen 16-Bit-Wert beschränkt.
-Die Multiplikation zweier Zahlen modulo 216 + 1. Die Randbereiche werden besonders behandelt. (So ist gewährleistet, dass für die Multiplikation ein Inverses existiert, da es sich bei 216 + 1 um eine Primzahl handelt.)
Mit diesen Operationen ist besonders die Realisierung in maschinenunabhängiger Software wesentlich einfacher. Dadurch wurde der Algorithmus unabhängig von der Hardware, welches beim DES vor allem bei einem Bedarf an schneller Verschlüsselung nahezu unumgänglich war. Durch die Verwendung eines 128-Bit-Schlüssels (DES: 56 Bit) ist IDEA zudem erheblich sicherer.
Jeder 64 Bit große Klartextblock wird zunächst in vier Teilblöcke zu je 16 Bit aufgeteilt. Beeinflusst von jeweils 6 Teilschlüsseln werden die Teilblöcke in jeder der acht Runden mit den oben genannten Operationen bearbeitet. Vor Beginn der nächsten Runden werden zudem die inneren Teilblöcke vertauscht. In einer abschließenden neunten Runde (Ausgangstransformation) werden die Eingangsoperationen einer Runde ausgeführt, bevor die vier Teilblöcke zum 64-Bit-Chiffreblock zusammengesetzt werden.
Die erforderlichen 52 Teilschlüssel (6 für jede der acht Runden und 4 für die Abschlusstransformation) werden aus dem 128-Bit-Schlüssel wie folgt gebildet:
-Die ersten acht 16 Bit langen Teilschlüssel werden direkt durch Zerlegung des Ausgangsschlüssels erzeugt.
-Danach wird der Schlüssel zyklisch um 25 Bit verschoben und der permutierte Schlüssel erneut in acht Teilschlüssel zerlegt.
-So wird weiterverfahren, bis die erforderlichen 52 Schlüssel vorliegen.
-Die Entschlüsselung benutzt den gleichen Algorithmus, allerdings werden die Schlüssel in umgekehrter, rundenbezogener Reihenfolge verwendet; d.h. in der ersten Runde der Entschlüsselung werden die gleichen Teilschlüssel verwendet, wie in der neunten Runde der Verschlüsselung (Ausgangstransformation).
Wie beim DES existieren auch bei IDEA schwache Schlüssel, bei denen interne Teilschlüssel den Wert Null oder Eins annehmen. Andere Schwächen sind bislang nicht bekannt. Leider unterliegt IDEA dem Patentschutz, wodurch die Einsetzbarkeit eingeschränkt ist. Dennoch kann IDEA als verbreitetes Verfahren angesehen werden.