Introduction
Sandy2x is a Curve25519 implementation tailored for the Intel Sandy Bridge/Ivy Bridge microarchitectures.
More precisely,
Sandy2x includes implementations of the 1) X25519 ECDH scheme and 2) Ed25519 digital signature scheme.
While the previous implementations use the 64 x 64 -> 128-bit multiplier for field multiplications,
Sandy2x uses a 2-way vectorized 32 x 32 -> 64-bit multiplier.
Download
The code for fast X25519 shared-secret computation (and not-so-fast key-pair generation) is available here.
This code has been submitted to SUPERCOP.
Fast key-pair generation and the code for Ed25519 will be made available in the following versions.
License
All of the Sandy2x software is in the public domain.
Materials
Sandy2x: New Curve25519 Speed Records.
Tung Chou. SAC 2015. [pdf].
Contributors
-
Tung Chou,
Technische Universiteit Eindhoven, the Netherlands