Go Back

Source code


Name: idea
Created: Sep 25, 2001
Updated: Dec 20, 2009
SVN Updated: Mar 10, 2009

Other project properties

Category: Crypto core
Development status: Planning
Additional info:
WishBone Compliant: No


The IDEA (International Data Encryption Algorithm) is a symmetric-key block cipher that can encrypts 64-bits plaintexts to 64-bit ciphertexts using a 128-bit key, used for secure communications. It is also can do decryption with the same block using the same key.
It consists of 8 computationally identical rounds and an output transformation. A 64-bit input block is divided into four 16-bit blocks which become the input blocks to the first round of the algorithm. In each of the eight total rounds, the four sub-blocks are XOR-ed, added, and multiplied with one another and with six 16-bit sub-keys.
IDEA runs 177 Mbps in speed on hardware implementation.
The IDEA block cipher was found by J. L. Massey and X. Lay.


- Operates on 64-bit plain text block
- Uses 128-bit key
- Can do encryption and decryption using the same block cipher (like DES).
- Be referred to be compatible with PCI bus
- Uses 1 micron technology

Design stages

- Making core specifications
- Capturing and the verification of the behavioral and structural view using Alliance tools
- Implementation to symbolic layouts
- Last verification (current stage)
- Converting symbolic layouts to real layouts with a specific technology
- Making the full report

IMAGE: IDEA core block.GIF

FILE: IDEA core block.GIF
DESCRIPTION: Figure 1. The Block Diagram of IDEA Core

IMAGE: IDEA mechine block.GIF

FILE: IDEA mechine block.GIF
DESCRIPTION: Figure 2. The IDEA Mechine Block