FPGA based Hardware Accleration for Elliptic Curve Cryptography ...
FPGA based Hardware Accleration for Elliptic Curve Cryptography ...
FPGA based Hardware Accleration for Elliptic Curve Cryptography ...
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