I'm a semi newbie in crypto (I've had that uni course of discrete math that includes basic cryptography principles) and wanted to go a bit further in isogeny graphs.

I have downloaded the C implementation of SIDH/SIKE from the Microsoft Github page and can't understand the difference between the two. However, most of the resources I find online are either sketchy youtube videos or unreadable academic papers using terms I am unfamiliar with. Any resources/ideas would be appreciated.


1 Answer 1


SIDH is a form of post-quantum Diffie–Hellman key agreement with a non-abelian structure using isogenies. It stands for Supersingular Isogeny Diffie–Hellman. SIKE is the name of the specific submission given to NIST for standardization with a set of specific, fixed parameters. It stands for Supersingular Isogeny Key Encapsulation. SIKE is SIDH, but not all SIDH parameters are SIKE.

From their official website, SIKE is standardized in two forms: SIKE.PKE, an asymmetric encryption algorithm, and SIKE.KEM, a key encapsulation mechanism. They both support four parameter sets: SIKEp434, SIKEp503, SIKEp610, and SIKEp751. SIDH is just an algorithm and doesn't standardize any parameters. You could say SIDH is to SIKE as ECDH is to (the public key part of) ECIES.

  • $\begingroup$ SIKE stands for Supersingular Isogeny Key Encapsulation. SIKE.KEM is a Key Encapsulation Mechanism. A key encapsulation differs from a key exchange in a subtly technical way; think of it as a key exchange with a long term public key. SIDH is to SIKE as ECDH is to (the public key part of) ECIES. $\endgroup$ Jul 2, 2019 at 22:31
  • $\begingroup$ @LucaDeFeo Yes you're right. It was just a brain fart. Corrected. $\endgroup$
    – forest
    Jul 2, 2019 at 22:32
  • $\begingroup$ @LucaDeFeo is the private key also long term or will there be a new (and fresh) private key for each execution? Also, I don't get the main difference between Key Encapsulation Mechanism and Key Exchange protocols. Isn't there also a long-term public key in "ordinary" Key Exchange Protocols? $\endgroup$
    – user35869
    Nov 12, 2019 at 13:44
  • $\begingroup$ Private-public keys always go in pairs. If the pk is long term, so is the sk. SIKE has long term keys, because that's what's asked by NIST. Key exchange protocols can be ephemeral, ephemeral-static or static-static, but the usual schoolbook definition is the ephemeral one. $\endgroup$ Nov 13, 2019 at 14:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy