This preview shows page 1. Sign up to view the full content.
Unformatted text preview: ) All these operations (and these are the only operations in the algorithm—there are no bitlevel permutations) operate on 16bit subblocks. This algorithm is even efficient on 16bit processors. Description of IDEA Figure 13.9 is an overview of IDEA. The 64bit data block is divided into four 16bit subblocks: X1, X2, X3, and X4. These four subblocks become the input to the first round of the algorithm. There are eight rounds total. In each round the four subblocks are XORed, added, and multiplied with one another and with six 16bit subkeys. Between rounds, the second and third subblocks are swapped. Finally, the four subblocks are combined with four subkeys in an output transformation. In each round, the sequence of events is as follows: (1) Multiply X1 and the first subkey. (2) Add X2 and the second subkey. (3) Add X3 and the third subkey. (4) Multiply X4 and the fourth subkey. (5) XOR the results of steps (1) and (3). (6) XOR the results of steps (2) and (4). (7) Multiply the results of step (5) with the fifth subkey. (8) Add the results of steps (6) and (7). (9) Multiply the results of step (8) with the sixth subkey. (10) Add the results of steps (7) and (9). Figure 13.9 IDEA. (11) (12) (13) (14) XOR the results of steps (1) and (9). XOR the results of steps (3) and (9). XOR the results of steps (2) and (10). XOR the results of steps (4) and (10). The output of the round is the four subblocks that are the results of steps (11), (12), (13), and (14). Swap the two inner blocks (except for the last round) and that’s the input to the next round. After the eighth round, there is a final output transformation: (1) Multiply X1 and the first subkey. (2) Add X2 and the second subkey. (3) Add X3 and the third subkey. (4) Multiply X4 and the fourth subkey. Finally, the four subblocks are reattached to produce the ciphertext. Creating the subkeys is also easy. The algorithm uses 52 of them (six for each of the eight rounds and four more for the output transformation). First, the 128bit key is divided into eight 16...
View
Full
Document
 Fall '10
 ALIULGER
 Cryptography

Click to edit the document details