1 Montgomery Modular Multiplication in Hard- ware
1 Montgomery Modular Multiplication in Hard- ware
1 Montgomery Modular Multiplication in Hard- ware
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
FEI KEMT<br />
1 <strong>Montgomery</strong> <strong>Modular</strong> <strong>Multiplication</strong> <strong>in</strong> <strong>Hard</strong>-<br />
<strong>ware</strong> - prelim<strong>in</strong>aries<br />
Many popular public-key cryptographic algorithms and protocols, such as RSA,<br />
ElGamal, elliptic curve cryptography (ECC), Diffie-Hellman, etc. [86] extensively<br />
use modular operations with large numbers. Typical size of operands <strong>in</strong> ECC and<br />
RSA is 160-300 bits and 1000-2000 bits, respectively.<br />
We start the chapter with discussion on optimal choice of the computation<br />
method and way of its implementation accord<strong>in</strong>g to chosen implementation plat-<br />
form (the Section 1.1). In Section 1.2 we br<strong>in</strong>g a summary on RSA algorithm<br />
together with a short analysis of available algorithms for modular multiplication.<br />
We mention the aspects of hard<strong>ware</strong> implementation and review the available pa-<br />
pers <strong>in</strong> this area. F<strong>in</strong>ally, the further implemented algorithm and its modification<br />
are <strong>in</strong>troduced. The Section 1.3 we start with def<strong>in</strong>ition of elliptic curves (EC) and<br />
cont<strong>in</strong>ue with their application <strong>in</strong> cryptography. The last section summarises the<br />
most important features of the presented public-key algorithms and identifies the<br />
most important part of the system for effective implementation.<br />
1.1 Implementation Platforms<br />
By hav<strong>in</strong>g all parts of cryptosystem (encryption, authentication, key storage, gen-<br />
eration of random numbers . . . ) implemented on the same platform one is able to<br />
achieve highly compact and therefore potentially secure implementation. The more<br />
signals are available for an adversary for observation, the more <strong>in</strong>formation about<br />
processed data can be obta<strong>in</strong>ed.<br />
While <strong>in</strong> the past the development of hard<strong>ware</strong> and soft<strong>ware</strong> platforms was done<br />
separately, beside the <strong>in</strong>itial requirements and def<strong>in</strong>itions of data formats and <strong>in</strong>ter-<br />
faces, nowadays with so called hard<strong>ware</strong>-soft<strong>ware</strong> co-design one tries to f<strong>in</strong>d optimum<br />
<strong>in</strong> effective utilisation of resources. In such case some of operations are implemented<br />
as a hard<strong>ware</strong> structure and the others as a soft<strong>ware</strong> function. With reconfigurable<br />
devices and embedded soft-core processors the situation is very suitable for such an<br />
approach. However, development of mixed systems is not a trivial task for designers,<br />
especially on the level when decision on tasks division is done. Systems mak<strong>in</strong>g pos-<br />
sible to simulate and evaluate system performance by proposed soft<strong>ware</strong>-hard<strong>ware</strong><br />
architecture before a real (and expensive) implementation are only on the early stage<br />
of development (check e.g. GEZEL language and design environment [99]).<br />
3