This is a fast software implementation in C (ISO C90) of the IDEA NXT encryption algorithm.

This implementation includes the 64-bit and the 128-bit block encryption with up to 255 rounds. The key length can be from 0 up to 256 bits with a multiple of 8 bits.

For each algorithm the implementation has been verified with the test vectors provided in the specifications of IDEA NXT.

IDEA NXT was designed by Pascal Junod and Serge Vaudenay of the Swiss Federal Institute of Technology in Lausanne (EPFL).


The code is distributed under the BSD License. Mediacrypt AG holds two patents worldwide on the IDEA NXT algorithm and the IDEA NXT key schedule.





The code has been optimized for gcc on Intel IA-32 systems but naturally it also works on other systems.

The implementation has been tested on numerous UNIX systems and on both little endian and big endian platforms.

Olivier Gay -
Last updated: 26th February 2006