Irwin Yoon's ECE575 Project - IDEA Algorithm

Title: Implementation of IDEA (International Data Encryption Algorithm) in C++
Members: Irwin Yoon
ECE 575 - Cryptography, Winter 2003


Abstract

The International Data Encryption Algorithm (or IDEA) is considered as one of the most secure block ciphers available today. This algorithm is regarded by many to be more secure than 3DES. IDEA is used in PGP (Pretty good Privacy). IDEA is also available for ciphering when communicating with ssh.

IDEA is very similar to 3DES in that it has several "rounds" which it goes through to encipher and decipher text. Here are some of IDEA's main features

I have implemented the IDEA algorithm in C++. I had originally wanted to use Java, but Java has limited support for "unsigned short" which I use to hold the 16-bit blocks. This program implements the main core of the IDEA algorithm, as well as outputting information such as key scheduling sequence, and round by round results. The program is also flexible in that it allows users to select a key for themselves and also enter text in varying lengths (multiple blocks)

My C++ Program