32 / 20 / b parameters, each block having 32 bits and
encrypting 20 rounds. For the maximum quality of
safety parameters RC6 32/20/16 is recommended
(Ahmed et al, 2007) In the encryption process this
algorithm does it on every four plaintext blocks if in
the last phase of the encryption process is not
sufficient then padding bits on plaintext to four the
last plaintext block is fulfilled.
Much research has been done in implementing
this RC6 algorithm, and with the above parameters,
this algorithm is able to provide enough security.
However, for cryptanalysis against RC6 this is best
attacked by X2 (Terada & Ueda, 2009), and to
overcome this, Terada & Ueda (2009) do research by
modifying RC6 to RC6T, where they add T ( )
function, a simple additional swap on each round.
In this study, the authors are interested to analyze
and implement the RC6 algorithm on text data with
the lowest parameter and the author call it as RC6-
Lite is RC6 with a variant of parameter RC6-8 / 5 / b.
Thus, RC6-Lite will encrypt the characters (8 bits)
and 4 characters (32 bits) of processing not per four
characters (32 bits) per block and 16 characters (128
bits) per process as in the standard RC6, 5 times the
encryption process rotation is not 20 times. With the
RC6-Lite parameter how is its effectiveness ?, to
measure its effectiveness, the author will calculate the
value of avalanche effect generated from this RC6-
Lite algorithm.๎
2 METHODS
2.1 Key Expansion Procedure
This procedure is used for generating internal keys
based on the secret key K to populate the S table, the
number of S variables is 2 (r + 2). In populating the S
table, RC6 uses two magical constants Pw and Qw.
๐๐ค ๎ต ๐๐๐๏บ
๏บ
๐๎ต2
๏ป
๎ต2
๎ฏช
๏ป (1)
๐๐ค ๎ต ๐๐๐๏บ
๏บ
โ
๎ต1
๏ป
๎ต2
๎ฏช
๏ป (2)
Where :
w = 16, 32 and 64
๐ = 2.718281828459 ... (logarithmic base) and
โ
= 1.6180339887... (golden ratio)
the Odd(x) function will produce the odd integer
closest to x.
Pada penelitian ini, nilai w = 8, sehingga nilai
konstanta Pw = 185 = b9 dan Qw = 159 = 9f
The key expansion procedure can be seen in the
following pseudocode:
S[0] = Pw
for i = 1 to (2r+3) do
{ S[i] = S[i-1] + Qw }
x, y, i, j = 0
for k = 1 to (3 x (2r+4)) do
{ S[i] = (S[i] + x + y) <<< 3
x = S[i]
L[j] = (L[i] + x + y) <<< 3
y = L[j]
i = (i+1) mod (2r+4)
j = (j+10 mod c
}
From the pseudocode above, in this study with the
value of r = 5, it will generate as many as 14 pieces
of the key S. In the standard RC6, the above process
will produce S key of 44 pieces. While c is the number
of keys entered by the user. This S key will be used
for the encryption and decryption process, where the
first two keys will be used for the initial whitening
process, and the last two keys are used for the final
whitening process and the rest is used for encryption
of r times.
2.2 Encryption and Decryption
Procedure
RC6-Lite algorithm in this research will break the
block data of 32 bit into 4 pieces of 8 bit block, then
this algorithm work with 4 8-bit registers of A, B, C
and D. In the process will be obtained (A, B, C, D) =
(B, C, D, A) which means that the value located on the
right side comes from the register on the left side. The
encryption and decryption process of the RC6
algorithm begins and ends with a whitening process
that aims to disguise the first and last iteration of the
encryption and decryption process, and in the process
requires 14 subkeys that have been generated in the
key expansion process and named with S [0 ] to S
[13] each of which is 8-bit in length. In each iteration
in the encryption process used 2 (two) subkeys. The
sub-keys in the first iteration use S [2] and S [3], the
next iteration uses sub-advanced subkeys.