
related topics 
{math, number, function} 
{system, computer, user} 
{game, team, player} 
{law, state, case} 
{theory, work, human} 
{work, book, publish} 

In cryptography, the International Data Encryption Algorithm (IDEA) is a block cipher designed by James Massey of ETH Zurich and Xuejia Lai and was first described in 1991. As a block cipher, it is also symmetric. The algorithm was intended as a replacement for the Data Encryption Standard. IDEA is a minor revision of an earlier cipher, PES (Proposed Encryption Standard); IDEA was originally called IPES (Improved PES).
The cipher was designed under a research contract with the Hasler Foundation, which became part of AscomTech AG. The cipher is patented in a number of countries but is freely available for noncommercial use. The name "IDEA" is also a trademark. The patents will expire in 2011–2012. Today, IDEA is licensed in all the countries where it is patented by MediaCrypt.
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.^{[2]} IDEA is an optional algorithm in the OpenPGP standard.
Contents
Operation
IDEA operates on 64bit blocks using a 128bit key, and consists of a series of eight identical transformations (a round, see the illustration) and an output transformation (the halfround). The processes for encryption and decryption are similar. IDEA derives much of its security by interleaving operations from different groups — modular addition and multiplication, and bitwise eXclusive OR (XOR) — which are algebraically "incompatible" in some sense. In more detail, these operators, which all deal with 16bit quantities, are:
 Bitwise eXclusive OR (denoted with a blue circled plus ⊕).
 Addition modulo 2^{16} (denoted with a green boxed plus ⊞).
 Multiplication modulo 2^{16}+1, where the allzero word (0x0000) is interpreted as 2^{16} (denoted by a red circled dot ⊙).
After the eight rounds comes a final "half round", the output transformation illustrated below:
Full article ▸


related documents 
Cepstrum 
Addersubtracter 
Denormal number 
Painter's algorithm 
Semantic network 
Great Internet Mersenne Prime Search 
Mary (programming language) 
Thread safety 
Uniform Resource Locator 
Twooutoffive code 
JUnit 
Timeline of programming languages 
Document Object Model 
Roxen (web server) 
Bootstrapping 
CDR coding 
Lint (software) 
Disassembler 
IBM Business System 12 
Selfsimilarity 
Digital Signature Algorithm 
X.500 
Zombie process 
Metcalfe's law 
Plankalkül 
Extensible Stylesheet Language 
HTML scripting 
Information hiding 
Power associativity 
Senary 
