Cryptography Reference
In-Depth Information
Table 9.5. Fixed Point and Random Point Multiplication Using
NanoECC Library
Fixe d point multiplication
Random point multi plication
Field
F 2 m , m = 163
F p , p = 160
F 2 m , m = 163
F p , p = 160
Language
C
C+asm
C
C+asm
C
C+asm
C
C+asm
Timings
(seconds)
2.97
0.66
1.20
0.60
2.16
0.87
2.59
0.99
ROM (kB)
32.4
38.7
57.8
40.1
32.4
38.7
57.8
40.1
RAM (kB)
1.7
2.1
1.8
1.9
1.7
2.1
1.8
1.9
can also be used in conjunction with different embedded operating systems. Results
achieved by NanoECC using both types of finite fields—prime and binary—show,
for the first time, that in some cases in this constrained environment, ECC operations
over the binary polynomial field F 2 m outperform those in F p . Moreover, it was shown
that the timings for the binary field case would be even faster if a binary polynomial
multiplication instruction was available on the architectures considered.
The core of NanoECC is based on the Multiprecision Integer and Rational
Arithmetic C/C++ Library (MIRACL), which provides all the necessary tools to per-
form operations on elliptic curves. MIRACL supports ECC over both standard finite
fields, F p and F 2 m . It also handles all of the operations on big integers and large poly-
nomials. MIRACL was originally designed for desktop class computers but can also
be optimized to work with constrained 8- and 16-bit platforms. On a PC with large
memory space, all the memory for big integers is allocated dynamically from the heap.
In an embedded environment, the memory resources are very limited, and dynamic
memory allocation is often not available. MIRACL had to be optimized to allocate
all the memory exclusively from the stack. One downside of this is that the maximum
size of big variables has to be set at compile time, when the library is being created.
Nevertheless, static memory allocation allows maximum use and re-use of memory,
and avoids fragmentation of precious RAM. The MIRACL library was extensively
optimized to provide the best ECC performance on constrained WSN motes. Table 9.5
summarizes fixed point and random point multiplication using the NanoECC library.
Recently, TinyECCK presented an implementation of ECC over binar y cur ves (Seo
et al. 2008), which takes into account the platform characteristics to optimize finite
field arithmetic and obtained a point multiplication in 1.14 seconds.
9.7 Implementation of Identity-Based Cryptography (IBC)
in WSN
ECC uses smaller PKC parameters than RSA, making it more applicable to WSN
(discussed in previous sections). Although ECC has been used as the underlying
Search WWH ::




Custom Search