International Data Encryption Algorithm
IDEAのブロック長は64ビットで、128ビットの鍵を使う。ラウンドと呼ばれる同じ操作を8回行い、最後に出力段の変換(ハーフラウンド)を行う。暗号化と復号の工程はよく似ている。代数学的にある意味で「非互換」とも言える異なる群からの操作(加算や乗算の合同式、ビット単位の排他的論理和 (XOR) など)を次々に行うことで、IDEAのセキュリティが生じている。演算をより詳細に述べると、すべて16ビット単位に以下のような操作を行う。
ビット単位の排他的論理和(図では青い丸に十字で示している ⊕)
加算結果を 2 を法として合同にしたもの(緑色の四角に十字 ⊞)
乗算結果を 2+1 を法として合同にしたもの。全てゼロのワード (0x0000) は2と解釈する。(赤い丸にドット ⊙)
図にあるラウンドを8回繰り返した後、ハーフラウンドを最後に1回行う。ラウンドの出力は16ビットが4つ並んでいるが、このうち2番目と3番目を入れ替え、右から順に以下の操作を行う。
K1との乗算結果を 2+1 を法として合同にする。
K2との加算結果を 2 を法として合同にする。
K3との加算結果を 2 を法として合同にする。
K4との乗算結果を 2+1 を法として合同にする。