Cryptography Reference
In-Depth Information
Figure 4-8 FEAL's encryption structure.
1. Calculate a key schedule ( K 0 , K 1 , ... , K 11 ) in accordance with Section 4.7.4.
2. Break the plaintext, P , into two 32-bit halves: ( L 0 , R 0 ).
3. Calculate L 0 = L 0 ( K 8 || K 9 ).
4. Calculate R 0 = R 0 ( K 10 || K 11 ) L 0 .
5. For r = 1, ... , 8 (i.e., each of eight rounds):
(a) R r = L r -1 f ( R r -1 , K r -1 ).
(b) L r = R r -1 .
6. Calculate L 8 = L 8 R 8 ( K 14 , K 15 ).
7. Calculate R 8 = R 8 ( K 12 , K 13 ).
I will break down the different pieces of these and explain each of them in the following sections.
4.7.1 S-function
Rather than use a larger, complicated S-box, a simple function is used in FEAL so that it could be implemented
in a few standard computer instructions without requiring large lookup tables. The S-box is called the S-func-
tion , defined as a function of three variables: x, y, and δ . Here, x and y are byte values, while δ is a single bit
that changes depending on which round the S-function occurs in.
We define S ( x, y, δ ) as
The “mod 256” portion indicates that we need to do simple byte arithmetic. The “ROT2” function indicates
taking its argument, in this case an 8-bit number, and shifting all of its bits (as seen in its most significant bit
 
Search WWH ::




Custom Search