Towards High-performance X25519/448 Key Agreement in General Purpose GPUs

2018
Widely used in a large range of Internet securityprotocols such as TLS/SSL, the key exchangeprovides a method to establish a shared secretbetween two parties in unprotected channel. Among the key exchangealgorithms, Elliptic Curve Diffie-Hellmanis currently preferred and popularized by the industry. The prevailing ECDH employs NIST P Curves as the underlying elliptic curve, however, with the requirement of high performance and questioning of its security, in January, 2016, IRTF officially applied Curve25519/448 to key exchangein RFC 7748, called X25519/448 key exchangeprotocol. Now many mainstream open-source projects recommend X25519/448 as the default key exchangeprotocol. The bottleneck of X25519/448 lies in the scalar multiplication, whose performance in traditional CPU cannot serve the rapidly expanding demand in scenes with massive concurrent requests, such as cloud-computing, e-commerce, etc. In this contribution, we accelerate X25519/448 with Graphics Processing Unitsvia various optimizations. The results of X25519/448 in GeForce GTX 1080 respectively reach 2.86 and 0.358 million operations per second, outperforming the previous fastest work by a large margin.
    • Correction
    • Source
    • Cite
    • Save
    29
    References
    7
    Citations
    NaN
    KQI
    []
    Baidu
    map