08.03.2014 Views

FPGA based Hardware Accleration for Elliptic Curve Cryptography ...

FPGA based Hardware Accleration for Elliptic Curve Cryptography ...

FPGA based Hardware Accleration for Elliptic Curve Cryptography ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2.2. FINITE FIELD ARITHMETIC 8<br />

k P<br />

EC-Double<br />

EC-Add<br />

FF-Mult<br />

FF-Add<br />

FF-Square<br />

Figure 2.2: EC arithmetic hierarchy<br />

By exploiting the previously detailed projective coordinates during the computation of a operation all<br />

but one field inversion can be circumvented. This inversion, that takes place at the end of a operation,<br />

converts the result that is given in projective coordinates back to the affine representation. Compared to the<br />

number of cycles a complete operation takes, the time <strong>for</strong> this single inversion is negligible. There<strong>for</strong>e<br />

it can be computed using a simple algorithm <strong>based</strong> on the existing field operations FF-Square, FF-Mult and<br />

FF-Add (see Sec. 2.2.6).<br />

Depending on different constraints one can chose from a lot of different algorithms on all level of arithmetic.<br />

For the operations, this work applies the Double-And-Add algorithm given in Alg. 3. The algorithm<br />

simply scans bit-by-bit. If the current bit is set ( 6 c ), the intermediate result is doubled and the base<br />

point is added one time. If the bit is not set ( 6«I<br />

), only the EC-Double operation is per<strong>for</strong>med.<br />

Using precomputated values would allow to scan multiple bits at one time and by that would lead to an<br />

improved per<strong>for</strong>mance. Due to space limitations the additional registers that would be needed to store these<br />

precomputated values were the main reason not to implement such an algorithm.<br />

Using Alg. 3 each multiplication requires( EC-Double and¬ EC-Add operations. As EC-Double is<br />

cheaper in terms of FF multiplication as EC-Add, the per<strong>for</strong>mance of the algorithm benefits from a key<br />

with low Hamming weight¬ .<br />

2.2 Finite Field Arithmetic<br />

The finite field- is the underlying field on which elliptic curves are <strong>based</strong> throughout this work. It<br />

can be viewed as a vector space of dimension( over the field . In hardware field elements can be<br />

easily implemented as a bit vector, which makes this kind of finite fields especially interesting <strong>for</strong> hardware<br />

implementations. As already mentioned, the representation treated in this paper is a polynomial basis only.

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

Saved successfully!

Ooh no, something went wrong!