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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.4. FINITE FIELD ARITHMETIC 22<br />

3.4.3 Input Stage<br />

The input stage provides two accumulation registers, i.e., one <strong>for</strong> each operand of the combinational multiplier.<br />

Besides parallel load functionality these registers must be capable of adding one new segment to its<br />

current value, as stated in Sec. 2.3.3. According to part (c) of Fig. 3.2 the following logic gatecounts are<br />

required to build up the input stage <strong>for</strong> a& #" ¦ <strong>based</strong> on a+ -bit combinational multiplier:<br />

6 k+ "!ƒe 3$#YBK+F@A. 6 k+&% v<br />

<br />

€ 3 K+ˆ 6dñ + e('U 3 K+ˆ 6 k+<br />

npn*K+ˆ<br />

remark:"!ƒe 3$#Y Please components with constant zero inputs have been tov<br />

<br />

€ 3 optimized gates.<br />

3.4.4 Combinational Multiplier (CKM)<br />

As stated be<strong>for</strong>e in Sec. 2.2.1 and shown in Fig. 3.3a the product of two one bit polynomials is computed by<br />

a single AND operation.<br />

a a b<br />

3 2 3<br />

a a b 1 0 1<br />

a 0 b 0<br />

c 2<br />

c 0<br />

c 1<br />

c 0<br />

c c c c c<br />

6 5 4 3<br />

c c<br />

2 1 0<br />

b 0<br />

a 1<br />

a 0<br />

b 1<br />

b 0<br />

CKM2<br />

CKM2<br />

CKM1<br />

CKM1<br />

CKM2<br />

CKM1<br />

b<br />

2<br />

a) 1−bit CKM<br />

b) 2−bit CKM<br />

c) 4−bit CKM<br />

Figure 3.3: Recursive construction process <strong>for</strong> polynomial Karatsuba multipliers<br />

Using Karatsuba’s divide and conquer multiplication algorithm, a multiplication of two( -bit polynomials<br />

can be computed with three(b†¦ -bit multiplications and some additions (which are XOR’s in our case) to<br />

determine interim results and accumulate the final result. This leads immediately to a recursive construction<br />

process, which builds combinational Karatsuba multipliers (CKM) of width(<br />

6 ô <strong>for</strong> arbitrary+<br />

E

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

Saved successfully!

Ooh no, something went wrong!