16 consecutive rounds. The output of one round feeds to the next. Growing complexity. Each round is carried out with the help of a sub-key. There are 16 sub-keys, each 48 bits long, and each derived from the 56 bits key used for this encryption.
Each round follows the same computational order: The 64 bits block is divided to a 32 bits left side, and a 32 bits right side. Each round switches the halves. Alas, while the input right-half becomes the left-half in the current round the input left-half is acted on before it becomes the right half in the new round. After that the two halves are combined to a new (massaged) 64 bits, as its output, and as input to the next round.
Formally:
Li= Ri-1
Ri= Li-1 XOR f(Ri-1, Ki)
where XOR is the exclusive-or function, Ki
is a 48 bits sub key of the original 56 bits key. The index i reflect the situation after round i=1,2,3,.....16
The "f function is combination of transposition, XOR with key material and substitution, described below.
|
|