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.
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
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