# IDEA: International Data Encryption Algorithm

The International data encryption algorithm (IDEA) is a symmetric key algorithm that is designed to convert text into an unreadable text format. It uses a 128 bits block size and takes the input of 64 bits data. The International data encryption algorithm (IDEA) performs the 64 bits encryption and decryption mechanism. For output, the International data encryption algorithm (IDEA) takes four keys.

This algorithm was published in the year of 1991. Previously IDEA was called as Proposed Encryption standard. After some years, the Proposed Encryption standard improved its name to the International data encryption algorithm (IDEA). IDEA was developed in a **Switzerland research university named ETH**. At first, it encrypts a 64-bit plain text into 64 bits cipher text block. Then, the input text is divided into four sub-blocks, each of size 16 bits. This sub-block contains a series of eight identical transformations. Each exact transmission is known as a round or output transformation. And the plain text block and cipher text block have a similar size. These block ciphers are operated by a round key. After a certain number of rounds, the final output is generated.

## Encryption in IDEA

The international data encryption algorithm (IDEA) derives most of its security process from the mathematical operation. These mathematical operations are modular addition, modular multiplication and bitwise exclusive XOR. IDEA encrypts the 64 bits of plain text into 64 bits of the block cipher. Then the plain text divided into four sub-blocks named X1, X2, X3 and x4. . There are also six sub-blocks are also required for the generation of output. These sub-blocks are Z1, Z2, Z3, Z4, Z5 and Z6. After each round, the mathematical operation is performed. These operations are bitwise XOR, addition modulo 2^{16} and multiplication modulo 2^{16}+1.

Each round consists of 14 rounds. These rounds are as follows.

- First, we have to multiply X1 with Z1.
- After that add X2 and Z2.
- Then, add X3 with Z3.
- Then, we have to multiply X4 with Z4.
- Then, perform bitwise XOR operation with the result of steps one and step 3.
- Then, perform bitwise XOR operation with the outcome of steps two and step 4.
- Then, multiply Z5 with the result of step 5.
- Then, add the result of step 6 with the result of step 7.
- Then, multiply Z6 with the result of step 8.
- Add the result of step 7 and the result of step 9.
- Perform bitwise XOR operation with the result of steps one and step 9.
- Perform bitwise XOR operation with the result of steps three and step 9.
- Perform bitwise XOR operation with the result of steps two and step 10.
- Perform bitwise XOR operation with the result of steps four and step 10.

In the first eight rounds, six subkeys are used. After the compilation of eight rounds then, the final four subkeys are used in the final round of transformation.

The swapping process continues till the completion of 8 rounds. Then the swapping process involves the following steps. These are as follows.

- First, we have to multiply X1 with the first subkeys.
- We have to add X2 with the second subkeys.
- We have to add X3 with the third subkeys.
- We have to multiply X4 with the fourth subkeys.

## Decryption in IDEA

The decryption process for IDEA is the similar to the encryption process. But different subkeys are generated in the decryption process.

## Advantages and Applications of IDEA

Although, IDEA was originally meant to replace DES, it did not do so. Nonetheless, it was incorporated into Pretty Good Privacy, which indicates its reliability and security.

IDEA supports easy hardware and software implementation for quick execution. It can be easily embedded into encryption software to protect data transmission and storage in several real-world applications:

- Financial services
- Broadcasting
- Government
- Video conferencing
- Audio and video for cable TV
- Business TV
- Voice over IP
- Email via public networks
- Smart cards