*** Welcome to piglix ***

International Data Encryption Algorithm

IDEA
International Data Encryption Algorithm InfoBox Diagram.svg
An encryption round of IDEA
General
Designers Xuejia Lai and James Massey
Derived from PES
Successors MMB, MESH, Akelarre,
IDEA NXT (FOX)
Cipher detail
Key sizes 128 bits
Block sizes 64 bits
Structure Lai-Massey scheme
Rounds 8.5
Best public cryptanalysis
The key can be recovered with a computational complexity of 2126.1 using narrow bicliques. This attack is computationally faster than a full brute force attack, though not, as of 2013, computationally feasible.

In cryptography, the International Data Encryption Algorithm (IDEA), originally called Improved Proposed Encryption Standard (IPES), is a symmetric-key block cipher designed by James Massey of ETH Zurich and Xuejia Lai and was first described in 1991. The algorithm was intended as a replacement for the Data Encryption Standard (DES). IDEA is a minor revision of an earlier cipher, Proposed Encryption Standard (PES).

The cipher was designed under a research contract with the Hasler Foundation, which became part of Ascom-Tech AG. The cipher was patented in a number of countries but was freely available for non-commercial use. The name "IDEA" is also a trademark. The last patents expired in 2012, and IDEA is now patent-free and thus completely free for all uses.

IDEA was used in Pretty Good Privacy (PGP) v2.0, and was incorporated after the original cipher used in v1.0, BassOmatic, was found to be insecure. IDEA is an optional algorithm in the OpenPGP standard.

IDEA operates on 64-bit blocks using a 128-bit key, and consists of a series of eight identical transformations (a round, see the illustration) and an output transformation (the half-round). The processes for encryption and decryption are similar. IDEA derives much of its security by interleaving operations from different groupsmodular addition and multiplication, and bitwise eXclusive OR (XOR) — which are algebraically "incompatible" in some sense. In more detail, these operators, which all deal with 16-bit quantities, are:

After the eight rounds comes a final “half round”, the output transformation illustrated below (the swap of the middle two values cancels out the swap at the end of the last round, so that there is no net swap):


...
Wikipedia

...