ICE (cipher)
From Wikipedia, the free encyclopedia
| ICE | |
|
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%.
|
|
In cryptography, ICE (Information Concealment Engine) is a 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.
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.
[edit] References
- Matthew Kwan, The Design of the ICE Encryption Algorithm, Fast Software Encryption 1997, pp69–82 [1].
- Bart van Rompay, Lars R. Knudsen and Vincent Rijmen, Differential Cryptanalysis of the ICE Encryption Algorithm, Fast Software Encryption 1998, pp270–283 (PDF).

