Abstract | ||
---|---|---|
Abstract This paper presents new speed records for 128-bit secure elliptic-curve Diffie–Hellman key-exchange software on three different popular microcontroller architectures. We consider a 255-bit curve proposed by Bernstein known as Curve25519, which has also been adopted by the IETF. We optimize the X25519 key-exchange protocol proposed by Bernstein in 2006 for AVR ATmega 8-bit microcontrollers, MSP430X 16-bit microcontrollers, and for ARM Cortex-M0 32-bit microcontrollers. Our software for the AVR takes only 13,900,397 cycles for the computation of a Diffie–Hellman shared secret, and is the first to perform this computation in less than a second if clocked at 16 MHz for a security level of 128 bits. Our MSP430X software computes a shared secret in 5,301,792 cycles on MSP430X microcontrollers that have a 32-bit hardware multiplier and in 7,933,296 cycles on MSP430X microcontrollers that have a 16-bit multiplier. It thus outperforms previous constant-time ECDH software at the 128-bit security level on the MSP430X by more than a factor of 1.2 and 1.15, respectively. Our implementation on the Cortex-M0 runs in only 3,589,850 cycles and outperforms previous 128-bit secure ECDH software by a factor of 3. |
Year | DOI | Venue |
---|---|---|
2015 | 10.1007/s10623-015-0087-1 | IACR Cryptology ePrint Archive |
Keywords | Field | DocType |
Curve25519,ECDH key-exchange,Elliptic-curve cryptography,Embedded devices,AVR ATmega,MSP430,ARM Cortex-M0 | 32-bit,Discrete mathematics,In-system programming,16-bit,8-bit,Algorithm,Software,Microcontroller,Shared secret,Mathematics,Curve25519,Embedded system | Journal |
Volume | Issue | ISSN |
2015 | 2 | 0925-1022 |
Citations | PageRank | References |
29 | 1.21 | 29 |
Authors | ||
7 |
Name | Order | Citations | PageRank |
---|---|---|---|
Michael Düll | 1 | 29 | 1.21 |
Björn Haase | 2 | 29 | 1.55 |
Gesine Hinterwälder | 3 | 29 | 1.21 |
Michael Hutter | 4 | 345 | 25.26 |
Christof Paar | 5 | 3794 | 442.62 |
Ana Helena Sánchez | 6 | 29 | 1.21 |
Peter Schwabe | 7 | 759 | 44.16 |