The IDEA encryption algorithm in Java

The IDEA encryption algorithm has been developed in 1991 at the ETH in Zurich, Switzerland. IDEA has been patented, but the last patents expired in 2012.

This is a clean open-source Java implementation of IDEA. The file format produced by IdeaFileEncryption.cryptFile() is compatible with that of IDEA V1.1 (ETH version of 1993, written in C). This Java implementation is even a little bit faster than the C implementation when encrypting/decrypting large files.

Source code / API docs / download

Idea.java The main IDEA encryption module
IdeaFileEncryption.java Encrypts or decrypts a file with IDEA
IdeaCmd.java Command-line interface for encrypting/decrypting files
TestIdeaVectors.java A test program that verifies this implementation against the test vectors published in 1999
TestIdeaMath.java A test program for some of the math functions used in the IDEA modules

API documentation: apidocs

Download whole package: ideaJava.zip

Examples of how to use the command line interface

To encrypt a file:

java -cp idea.jar IdeaCmd -e -k sesame plaintext.txt ciphertext.dat

To decrypt a file:

java -cp idea.jar IdeaCmd -d -k sesame ciphertext.dat plaintext.txt


Author: Christian d'Heureuse (www.source-code.biz, www.inventec.ch/chdh)
Index