Netinfo Security ›› 2017, Vol. 17 ›› Issue (9): 122-127.doi: 10.3969/j.issn.1671-1122.2017.09.029

• Orginal Article • Previous Articles     Next Articles

High-performance Implementation of Curve25519 on GPU

Juanjuan CHENG1,2,3, Fangyu ZHENG1,2(), Jingqiang LIN1,2, Jiankuo DONG1,2,3   

  1. 1.State Key Laboratory of Information Security, Institute of Information Engineering, Chinese Academy of Sciences, Beijing 100093, China
    2.Data Assurance and Communication Security Research Center, Chinese Academy of Sciences, Beijing 100093, China
    3.College of Cyberspace Security, University of Chinese Academy of Sciences, Beijing100049, China
  • Received:2017-08-01 Online:2017-09-20 Published:2020-05-12

Abstract:

Widely used in a large range of Internet security protocols such as TLS/SSL, key exchange provides a method to establish a shared secret between two parties in unprotected channel. Among the key exchange algorithms Elliptic-Curve Diffie- Hellman (ECDH) is currently preferred and popularized by the industry. The prevailing ECDH employs NIST P Curve as the underlying elliptic curve, however, with the requirement of high performance and questioning of its security, in January, 2016, IETF officially applied Curve25519 to key exchange in RFC 7748, called X25519 key exchange protocol. And later, many mainstream open-source projects recommended X25519 as the default key exchange protocol. The bottleneck of X25519 lies in the scalar multiplication of Curve25519.This contribution proposed a GPU-accelerated Curve25519 implementation, having yielded a throughput of 1.38 million scalar multiplication per second in NVIDIA GeForce GTX 780Ti, 5.6 times faster than the previous fastest work.

Key words: graphic processing unit (GPU), elliptic curves, Curve25519, key exchange

CLC Number: