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)