Cryptography Reference
In-Depth Information
installed in a machine with Intel(R) Pentium(R) 4 CPU, 2.8 GHz Processor
Clock, 512 MB DDR RAM on Ubuntu 7.10 (Linux 2.6.22-15-generic) OS. A
benchmark implementation of RC4 is available within the test suite. RC4
+
,
that incorporates both KSA
+
and PRGA
+
, has been implemented maintain-
ing the API compliance of the suite. Test vectors were generated in the
NESSIE [127] format.
The results presented here correspond to tests with a 16-byte secret key
and null IV using the gcc default O3-ual-ofp compiler. As per the test, RC4
KSA took 16944.70 cycles/setup, whereas the KSA
+
of RC4
+
took 49823.69
cycles/setup. The stream encryption speed for RC4 and RC4
+
turned out
to be 14.39 cycles/byte and 24.51 cycles/byte respectively. In the testing
framework, the cycles are measured using the RDTSC (Read Time Stamp
Counter) instruction of X86 assembly language. This instruction returns a
64-bit value in registers EDX:EAX that represents the count of ticks from
processor reset.
Thus, the running time of our KSA
+
is approximately
49823.69
16944.70
= 2.94 times
than that of RC4 KSA and the running time of one round of our PRGA
+
is
approximately
24.51
14.39
= 1.70 times than that of RC4 PRGA.
RESEARCH PROBLEMS
Problem 9.1 Investigate whether the technique of finding colliding key pairs
described in Section 3.4 (Chapter 3) is extendible to RC4-Hash.
Problem 9.2 Perform a detailed study to check if there a distinguisher for
RC4
+
?
Problem 9.3 Give an optimized software implementation of RC4
+
to achieve
good speed.
Problem 9.4 Perform a comparative study of different RC4-like stream ci-
phers in terms of the security as well as the speed.