ICE (cipher)
In cryptography, ICE (Information Concealment Engine) is a symmetric-key block cipher published by Kwan in 1997. The algorithm is similar in structure to DES, but with the addition of a key-dependent bit permutation in the round function. The key-dependent bit permutation is implemented efficiently in software. The ICE algorithm is not subject to patents, and the source code has been placed into the public domain.
The ICE Feistel function | |
General | |
---|---|
Designers | Matthew Kwan |
First published | 1997 |
Derived from | DES |
Cipher detail | |
Key sizes | 64 bits (ICE), 64×n bits (ICE-n) |
Block sizes | 64 bits |
Structure | Feistel network |
Rounds | 16 (ICE), 8 (Thin-ICE), 16×n (ICE-n) |
Best public cryptanalysis | |
Differential cryptanalysis can break 15 out of 16 rounds of ICE with complexity 256. Thin-ICE can be broken using 227 chosen plaintexts with a success probability of 95%. |
ICE is a Feistel network with a block size of 64 bits. The standard ICE algorithm takes a 64-bit key and has 16 rounds. A fast variant, Thin-ICE, uses only 8 rounds. An open-ended variant, ICE-n, uses 16n rounds with 64n bit key.
Van Rompay et al. (1998) attempted to apply differential cryptanalysis to ICE. They described an attack on Thin-ICE which recovers the secret key using 223 chosen plaintexts with a 25% success probability. If 227 chosen plaintexts are used, the probability can be improved to 95%. For the standard version of ICE, an attack on 15 out of 16 rounds was found, requiring 256 work and at most 256 chosen plaintexts.