7

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.

Ella Rose
  • 19,971
  • 6
  • 56
  • 103

1 Answers1

4

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.

Note that SIKE has been badly broken.

forest
  • 15,626
  • 2
  • 49
  • 103