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.

Contents<br />

List of Figures<br />

iv<br />

1 Introduction 1<br />

1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1<br />

1.2 Previous Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2<br />

1.3 Goals of this Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />

1.4 Content of this work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />

(<br />

Field<br />

over<br />

Fields<br />

in<br />

in<br />

in<br />

in<br />

2 Mathematical Background 4<br />

2.1 <strong>Elliptic</strong> <strong>Curve</strong> Arithmetic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4<br />

2.1.1 Affine Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4<br />

2.1.2 Projective Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6<br />

2.1.3 EC point multiplication ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7<br />

2.2 Finite Field Arithmetic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8<br />

2.2.1 The Finite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9<br />

2.2.2 Polynomial Rings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9<br />

2.2.3 Finite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9<br />

2.2.4 Addition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10<br />

2.2.5 Multiplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10<br />

2.2.6 Squaring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10<br />

2.2.7 Inversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10<br />

2.2.8 Polynomial Reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11<br />

2.3 Sequential Multiplication Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />

2.3.1 Schoolbook Multiplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />

2.3.2 Polynomial Karatsuba Multiplication . . . . . . . . . . . . . . . . . . . . . . . . . 15<br />

2.3.3 Multi-Segment Karatsuba Multiplication . . . . . . . . . . . . . . . . . . . . . . . 16<br />

3 <strong>Hardware</strong> Architecture 19<br />

3.1 PCI Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19<br />

3.2 Register File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20<br />

3.3 EC Arithmetic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20<br />

3.4 Finite Field Arithmetic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20<br />

3.4.1 Addition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20<br />

3.4.2 Square . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21<br />

3.4.3 Input Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

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

Saved successfully!

Ooh no, something went wrong!