Database Reference
In-Depth Information
Table 4.3
Primitive Operations of RC5
a
+
b
Integer addition modulo 2
w
a
-
b
Integer subtraction modulo 2
w
a
⊕
b
Bitwise XOR of
w
-bit words
a
*
b
Integer multiplication modulo 2
w
a
<<<
b
Rotate the
w
-bit word
a
to the left by the amount
given by the least significant
l
g
w
bits of
b
a
>>>
b
Rotate the
w
-bit word
a
to the right by the amount
given by the least significant
l
g
w
bits of
b
A
i-1
B
i-1
<<<
<<<
S
2i
+
S
2i+1
+
A
i
B
i
Figure 4.6
RC5
w/r/b
symmetric block cipher diagram.
expansion has already been performed so that
S
[0],
S
[1], …,
S
[
t
- 1]
have been computed. The steps of the encryption algorithm can be
summarized as follows:
A = A+S [0];
B = B+S [1];
For i = 1 to r do
A = ((A
⊕
B) <<< B) +S [2i];
B = ((B
⊕
A) <<< A) +S [2i+1];
End
In each round of RC5, both registers
A
and
B
are updated as shown
in Figure 4.6.
The decryption step can be sum-
4.5.6.2 RC5 Decryption Algorithm
marized as follows:
For i = r downto 1 do
B = ((B - S [2i+1]) >>> A)
⊕
A;
A = ((A - S [2]) >>> B)
⊕
B;
Search WWH ::
Custom Search