04.11.2012 Views

1 Montgomery Modular Multiplication in Hard- ware

1 Montgomery Modular Multiplication in Hard- ware

1 Montgomery Modular Multiplication in Hard- ware

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!