“Go” Get Ready for the Post-Quantum Age with a CIRCL and Supersingular Isogeny Diffie-Hellman (SIDH)
One of the companies I respect most in their approach to Internet security is Cloudflare. They have continually push every increasing security standards, and have proved their credentials by publishing a new Go library for post-quantum cryptography: Cloudflare Interoperable Reusable Cryptographic Library (CIRCL) [here]. You basically can’t hide from the effects of quantum computers in cryptography, as they are likely to break most of our public key and key exchange methods. In this article I will outline a post-quantum contender to key exchange: Supersingular Isogeny Diffie-Hellman (SIDH), and use Go to implement it.
Introduction
Okay. Strap yourself in, and, it might take a while to fully understand the basic procedure here, but, if you’re interested in a future quantum robust world, it may be worth it. Before we start, you might want to read up on RSA methods here, elliptic curve methods here, and for Diffie-Hellman methods here.
Our public key methods are typically used to sign data/provide identity and for shared key generation. The methods include the Diffie-Hellman method (for key exchange), Elliptic Curve Diffie-Hellman (for key exchange), Elliptic Curve DSA (for signing), and RSA (for signing). The RSA method…