Structure
ICE is a 16-round Feistel network. Each round uses a 32→32 bit F function, which uses 60 bits of key material.
The structure of the F function is somewhat similar to DES: The input is expanded by taking overlapping fields, the expanded input is XORed with a key, and the result is fed to a number of reducing S-boxes which undo the expansion.
First, ICE divides the input into 4 overlapping 10-bit values. They are bits 0–9, 8–17, 16–25, and 24–33 if the input, where bits 32 and 33 are copies of bits 0 and 1.
Second is a keyed permutation, which is unique to ICE. Using a 20-bit permutation subkey, bits are swapped between halves of the 40-bit expanded input. (If subkey bit i is 1, then bits i and i+20 are swapped.)
Third, the 40-bit value is exclusive-ORed with 40 more subkey bits.
Fourth, the value is fed through 4 10-bit S-boxes, each of which produces 8 bits of output. (These are much larger than DES's 8 6→4 bit S-boxes.)
Fifth, the S-box output bits are permuted so that each S-box's outputs are routed to each 4-bit field of 32-bit word, including 2 of the 8 "overlap" bits duplicated during the next round's expansion.
Like DES, a software implementation would typically store the S-boxes pre-permuted, in 4 1024×32 bit lookup tables.
Read more about this topic: ICE (cipher)
Famous quotes containing the word structure:
“I really do inhabit a system in which words are capable of shaking the entire structure of government, where words can prove mightier than ten military divisions.”
—Václav Havel (b. 1936)
“When a house is tottering to its fall,
The strain lies heaviest on the weakest part,
One tiny crack throughout the structure spreads,
And its own weight soon brings it toppling down.”
—Ovid (Publius Ovidius Naso)
“Each structure and institution here was so primitive that you could at once refer it to its source; but our buildings commonly suggest neither their origin nor their purpose.”
—Henry David Thoreau (18171862)