Show simple item record

dc.contributor.advisorPer Gunnar Kjeldsberg
dc.contributor.authorMagnus Hirth
dc.date.accessioned2019-10-26T14:04:11Z
dc.date.available2019-10-26T14:04:11Z
dc.date.issued2019
dc.identifier.urihttp://hdl.handle.net/11250/2624671
dc.description.abstractMed et stort antall av mobile, batteridrevne enheter og IoT-enheter under utvikling, er det et økende behov for effektiv, lav-energi-kryptografi.Elliptisk kurve-kryptografi (ECC) tilbyr høy sikkerhet med små nøkkelstørrelser, og er velegnet for bruk i innvevde, lav-energi-systemer. Matematikken bak ECC er basert på mengdelære, og bruker matematiske operasjoner over elliptiske kurver over endelige kropper. Sikkerheten ved disse operasjonene er basert på det diskrete logaritmeproblemet for en elliptisk kurve. Denne oppgaven har utforsket hvordan en koprosessor for akselerering av elliptisk kurve-kryptografi kan bli designet, basert på resultatene fra et forstudie. Koprosessoren i denne oppgaven, ECCo, er designet for bruk med ARM CM33-prosessoren. M33-prosessoren har et koprosessor grensesnitt, for tett sammenkobling av CM33-prosessoren og koprosessorer. Med dette grensesnittet kan instruksjoner sendes til koprosessorene fra programvare, kontrollert av CM33 prossessoren. Dette motiverte designet av et instruksjonssett for koprosessoren. I designet laget i denne oppgaven ble operasjonene modulær addisjon, modulær multiplikasjon og heltallsdivisjon implementert. Designet brukt under testing besto av en kontroller, register-bank og en aritmetikk-modul. Kjøretiden til en ren programvare-implementasjon av elliptisk kurve-kryptografi, libecc, ble sammenlignet med kjøretiden til koprosessoren. Resultatene viste at koprosessoren var 3.8x - 27x raskere enn libecc. Området brukt av designet var estimert ved syntese, med Questasim. Koprosessoren brukte 45% av arealet under syntese av CM33-prosessoren med koprosessoren. Estimatene viste at divisjonsmodulen tok hele 73.18% av området til koprosessoren, da denne ble implementert med SystemVerilogs divisjonsoperator, "/", uten optimalisering av synteseverktøyet. De atomiske operasjonene derimot, modulær addisjon og modulær multiplikasjon, brukte kun 1.97% og 1.92% av koprosessorområdet.
dc.description.abstractWith the great number of mobile, battery powered devices and IoT devices being developed, there is a need for efficient, energy effective cryptography. Elliptic curve cryptography (ECC) provides high security with small key size, and seems very well suited for use in embedded, low-power systems. The mathematics of ECC are based on set theory, performing operations on elliptic curves, usually over finite prime fields or binary fields. The security of these mathematical operations are based on the Elliptic Curve Discrete Logarithm Problem. This thesis has explored how to design a coprocessor for accelerating elliptic curve cryptography, based on the results from a pre-study. The coprocessor designed in the thesis, ECCo, was designed for use with the ARM CM33 processor. The CM33 provides a coprocessor interface for tight integration of coprocessors, which allows instructions to be issued to connected coprocessors from software. This motivated the design of an instruction set for the coprocessor. For the design in this thesis the operations of modular addition, modular multiplication and integer division was implemented. The design used for testing consisted of a controller, register bank and arithmetic module. A pure software implementation of elliptic curve cryptography, libecc, was compared to the ECCo. Results showed that the hardware accelerated designed performed 3.8x - 27x times better than the pure software implementation. Area estimates of the design was aquired through synthesis, using Questasim. The ECCo accounted for 45% of the area when synthesizing ECCo+CM33. The estimates showed that the ECCo area consumption was largely dominated by the divisor (73.18% of the total ECCo area), which was implemented using the SystemVerilog division operator, "/", and no optimization in synthesis. However, the atomic operations of ECC, Modular Multiplication and Modular Addition, only occupied 1.97% and 1.92%, respectively.
dc.languageeng
dc.publisherNTNU
dc.titleHardware Akselerering av Asymmetrisk Elliptisk Kurve-Kryptografi
dc.typeMaster thesis


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record