Cryptography Reference
In-Depth Information
Table 9.1. Timings for RSA Operations on Atmega128
Time
(seconds)
ROM
bytes (B)
RAM
bytes (B)
Algorithm
1.
RSA-1024 public key e = 2 16 + 1
0.43
1073
542
2.
RSA-1024 private key with CRT
10.99
6292
930
3.
RSA-2048 public key e = 2 16 + 1
1.94
2854
1332
4.
RSA-2048 private key with CRT
83.26
7736
1853
5.
Modular exponentiation 512
5.37
1071
328
advantages of operand and product scanning multiplication algorithms to reduce
the number of memory accesses. Timings for different RSA and ECC operations on
Atmega128 clocked at 7.3728 MHz are shown in Tables 9.1 and 9.2.
The results show that the squaring of large integers and modular multiplication
are one of the crucial operations for RSA and ECC. It was noted that the point multi-
plication operation is one of the fundamental operations in ECC, and multiprecision
multiplication and squaring of large integers takes 77% of the execution time of the
whole point multiplication operation on an Atmega 128-bit processor. In addition, it
was observed that large integer multiplication not only involves arithmetic operations
but also a significant amount of data transport to and from the memory. To optimize
such operations, the authors proposed a hybrid multiplication method that combines
the advantages of row-wise and column-wise multiplication.
Comparing Tables 9.1 and 9.2, point multiplication on the standard secp160r1
curve is faster than the RSA 1024 private key operation and has comparable perfor-
mance to the RSA 1024 public key operation. With the increase in the security levels,
we clearly see that ECC operations are much faster than RSA. Point multiplication on a
secp224r1 curve takes only 2.19 seconds when compared to 83.26 seconds for the RSA-
2048 private key operation, which offers the same level of security. As seen in Tables
9.1 and 9.2, memory requirements for a full RSA implementation with the Chinese
Reminder Theorem are significantly higher than its counterpart in ECC. In the same
environment (Atmega128 clocked at 7.3728 MHz), later implementation presented
results that showed an expected time of 0.76 seconds for computing a point multiplica-
tion when compared to 0.81 seconds as achieved by this scheme (Uhsadel et al. 2007).
Table 9.2. Timings for ECC Operations on Atmega128
Time
(seconds)
ROM
bytes (B)
RAM
bytes (B)
Algorithm
1.
ECC secp160r1
0.81
3682
282
2.
ECC secp192r1
1.24
3979
336
3.
ECC secp224r1
2.19
4812
422
Search WWH ::




Custom Search