The ICE Home Page

What is ICE?

ICE stands for Information Concealment Engine. It is a 64-bit private key block cipher, in the tradition of DES. However, unlike DES, it was designed to be secure against differential and linear cryptanalysis, and has no key complementation weaknesses or weak keys. In addition, its key size can be any multiple of 64 bits, whereas the DES key is limited to 56 bits.

The ICE algorithm is public domain, and source code can be downloaded from this page. There are no patents or copyrights, so its use is unrestricted. Naturally, if you do decide to use it, the author would love to hear about it.

Recent changes

As of 28 November 1998 there have been two changes to the ICE source code. The first fixes a bug in the C and C++ versions that caused incorrect encryption when compiled for 16-bit integers. The second changes the API for the encrypt and decrypt functions to be void rather than returning a redundant pointer to the result (which no-one ever used).
Document last modified by Matthew Kwan, 7 June 1999
Please send any comments or corrections to