SIDH
   HOME

TheInfoList



OR:

Supersingular isogeny Diffie–Hellman key exchange (SIDH or SIKE) is an insecure proposal for a post-quantum
cryptographic algorithm In cryptography, encryption (more specifically, encoding) is the process of transforming information in a way that, ideally, only authorized parties can decode. This process converts the original representation of the information, known as pla ...
to establish a secret key between two parties over an untrusted communications channel. It is analogous to the
Diffie–Hellman key exchange Diffie–Hellman (DH) key exchangeSynonyms of Diffie–Hellman key exchange include: * Diffie–Hellman–Merkle key exchange * Diffie–Hellman key agreement * Diffie–Hellman key establishment * Diffie–Hellman key negotiation * Exponential ke ...
, but is based on walks in a supersingular isogeny graph and was designed to resist cryptanalytic attack by an adversary in possession of a
quantum computer A quantum computer is a computer that exploits quantum mechanical phenomena. On small scales, physical matter exhibits properties of both particles and waves, and quantum computing takes advantage of this behavior using specialized hardware. ...
. Before it was broken, SIDH boasted one of the smallest key sizes of all post-quantum key exchanges; with compression, SIDH used 2688-bit public keys at a 128-bit quantum
security level In cryptography, security level is a measure of the strength that a cryptographic primitive — such as a cipher or hash function — achieves. Security level is usually expressed as a number of " bits of security" (also security strength ...
. SIDH also distinguishes itself from similar systems such as
NTRU NTRU is an open-source public-key cryptosystem that uses lattice-based cryptography to encrypt and decrypt data. It consists of two algorithms: NTRUEncrypt, which is used for encryption, and NTRUSign, which is used for digital signatures. Unlike ...
and Ring-LWE by supporting
perfect forward secrecy In cryptography, forward secrecy (FS), also known as perfect forward secrecy (PFS), is a feature of specific key-agreement protocols that gives assurances that session keys will not be compromised even if long-term secrets used in the session ke ...
, a property that prevents compromised long-term keys from compromising the confidentiality of old communication sessions. These properties seemed to make SIDH a natural candidate to replace Diffie–Hellman (DHE) and elliptic curve Diffie–Hellman (ECDHE), which are widely used in Internet communication. However, SIDH is vulnerable to a devastating key-recovery attack published in July 2022 and is therefore insecure. The attack does not require a quantum computer.


Introduction

For certain classes of problems, algorithms running on
quantum computers A quantum computer is a computer that exploits quantum mechanical phenomena. On small scales, physical matter exhibits properties of both particles and waves, and quantum computing takes advantage of this behavior using specialized hardware. C ...
are naturally capable of achieving lower
time complexity In theoretical computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations ...
than on classical computers. That is,
quantum algorithms In quantum computing, a quantum algorithm is an algorithm that runs on a realistic model of quantum computation, the most commonly used model being the quantum circuit model of computation. A classical (or non-quantum) algorithm is a finite sequ ...
can solve certain problems faster than the most efficient algorithm running on a traditional computer. For example,
Shor's algorithm Shor's algorithm is a quantum algorithm for finding the prime factors of an integer. It was developed in 1994 by the American mathematician Peter Shor. It is one of the few known quantum algorithms with compelling potential applications and strong ...
can factor an integer ''N'' in
polynomial time In theoretical computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations p ...
, while the best-known factoring classic algorithm, the
general number field sieve In number theory, the general number field sieve (GNFS) is the most efficient classical algorithm known for factoring integers larger than . Heuristically, its complexity for factoring an integer (consisting of bits) is of the form : \begin & ...
, operates in
sub-exponential time In theoretical computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations p ...
. This is significant to
public key cryptography Public-key cryptography, or asymmetric cryptography, is the field of cryptographic systems that use pairs of related keys. Each key pair consists of a public key and a corresponding private key. Key pairs are generated with cryptographic al ...
because the security of RSA is dependent on the infeasibility of factoring integers, the integer factorization problem. Shor's algorithm can also efficiently solve the
discrete logarithm problem In mathematics, for given real numbers a and b, the logarithm \log_b(a) is a number x such that b^x=a. Analogously, in any group G, powers b^k can be defined for all integers k, and the discrete logarithm \log_b(a) is an integer k such that b^k=a ...
, which is the basis for the security of Diffie–Hellman, elliptic curve Diffie–Hellman,
elliptic curve DSA In cryptography, the Elliptic Curve Digital Signature Algorithm (ECDSA) offers a variant of the Digital Signature Algorithm (DSA) which uses elliptic-curve cryptography. Key and signature sizes As with elliptic-curve cryptography in general, the ...
,
Curve25519 In cryptography, Curve25519 is an elliptic curve used in elliptic-curve cryptography (ECC) offering 128 bits of security (256-bit key size) and designed for use with the Elliptic-curve Diffie–Hellman (ECDH) key agreement scheme, first described a ...
, ed25519, and
ElGamal In cryptography, the ElGamal encryption system is an asymmetric key encryption algorithm for public-key cryptography which is based on the Diffie–Hellman key exchange. It was described by Taher Elgamal in 1985. ElGamal encryption is used in th ...
. Although quantum computers are currently in their infancy, the ongoing development of quantum computers and their theoretical ability to compromise modern cryptographic protocols (such as TLS/SSL) has prompted the development of post-quantum cryptography. SIDH was created in 2011 by De Feo, Jao, and Plut. It uses conventional
elliptic curve In mathematics, an elliptic curve is a smooth, projective, algebraic curve of genus one, on which there is a specified point . An elliptic curve is defined over a field and describes points in , the Cartesian product of with itself. If the ...
operations and is not patented. SIDH provides
perfect forward secrecy In cryptography, forward secrecy (FS), also known as perfect forward secrecy (PFS), is a feature of specific key-agreement protocols that gives assurances that session keys will not be compromised even if long-term secrets used in the session ke ...
and thus does not rely on the security of long-term private keys. Forward secrecy improves the long-term security of encrypted communications, helps defend against
mass surveillance Mass surveillance is the intricate surveillance of an entire or a substantial fraction of a population in order to monitor that group of citizens. The surveillance is often carried out by Local government, local and federal governments or intell ...
, and reduces the impact of vulnerabilities like
Heartbleed Heartbleed is a security bug in some outdated versions of the OpenSSL cryptography library, which is a widely used implementation of the Transport Layer Security (TLS) protocol. It was introduced into the software in 2012 and publicly disclos ...
.


Background

The
j-invariant In mathematics, Felix Klein's -invariant or function is a modular function of weight zero for the special linear group \operatorname(2,\Z) defined on the upper half-plane of complex numbers. It is the unique such function that is holomorphic a ...
of an elliptic curve given by the
Weierstrass equation In mathematics, an elliptic curve is a smooth, projective, algebraic curve of genus one, on which there is a specified point . An elliptic curve is defined over a field and describes points in , the Cartesian product of with itself. If the ...
y^2 = x^3 + ax + b is given by the formula: : j(E) = 1728 \frac.
Isomorphic In mathematics, an isomorphism is a structure-preserving mapping or morphism between two structures of the same type that can be reversed by an inverse mapping. Two mathematical structures are isomorphic if an isomorphism exists between the ...
curves have the same j-invariant; over an algebraically closed field, two curves with the same j-invariant are isomorphic. The supersingular isogeny Diffie-Hellman protocol (SIDH) works with the graph whose vertices are (isomorphism classes of)
supersingular elliptic curve In algebraic geometry, supersingular elliptic curves form a certain class of elliptic curves over a field of characteristic p>0 with unusually large endomorphism rings. Elliptic curves over such fields which are not supersingular are called ''ordi ...
s and whose edges are isogenies between those curves. An
isogeny In mathematics, particularly in algebraic geometry, an isogeny is a morphism of algebraic groups (also known as group varieties) that is surjective and has a finite kernel. If the groups are abelian varieties, then any morphism of the underlyi ...
\phi: E \to E' between elliptic curves E and E' is a
rational map In mathematics, in particular the subfield of algebraic geometry, a rational map or rational mapping is a kind of partial function between algebraic varieties. This article uses the convention that varieties are irreducible. Definition Formal ...
which is also a group homomorphism. If separable, \phi is determined by its
kernel Kernel may refer to: Computing * Kernel (operating system), the central component of most operating systems * Kernel (image processing), a matrix used for image convolution * Compute kernel, in GPGPU programming * Kernel method, in machine learnin ...
up to an isomorphism of target curve E'. The setup for SIDH is a prime of the form p = l_A^\cdot l_B^\cdot f \mp 1, for different (small) primes l_A and l_B, (large) exponents e_A and e_B, and small cofactor f, together with a supersingular elliptic curve E defined over \mathbb_. Such a curve has two large torsion subgroups, E _A^/math> and E _B^/math>, which are assigned to Alice and Bob, respectively, as indicated by the subscripts. Each party starts the protocol by selecting a (secret) random cyclic subgroup of their respective torsion subgroup and computing the corresponding (secret) isogeny. They then publish, or otherwise provide the other party with, the equation for the target curve of their isogeny along with information about the image of the other party's torsion subgroup under that isogeny. This allows them both to privately compute new isogenies from E whose kernels are jointly generated by the two secret cyclic subgroups. Since the kernels of these two new isogenies agree, their target curves are isomorphic. The common j-invariant of these target curves may then be taken as the required shared secret. Since the security of the scheme depends on the smaller torsion subgroup, it is recommended to choose l_A^ \approx l_B^. An excellent reference for this subject is De Feo's article "Mathematics of Isogeny Based Cryptography."


Security

The most straightforward way to attack SIDH is to solve the problem of finding an isogeny between two supersingular elliptic curves with the same number of points. At the time of the original publication due to De Feo, Jao and Plût, the best attack known against SIDH was based on solving the related claw-finding problem, which led to a complexity of for classical computers and for
quantum computer A quantum computer is a computer that exploits quantum mechanical phenomena. On small scales, physical matter exhibits properties of both particles and waves, and quantum computing takes advantage of this behavior using specialized hardware. ...
s. This suggested that SIDH with a 768-bit prime (p) would have a 128-bit security level. A 2014 study of the isogeny problem by Delfs and Galbraith confirmed the security analysis for classical computers. The classical security remained unaffected by related cryptanalytic work of Biasse, Jao and Sankar as well as Galbraith, Petit, Shani and Yan. A more intricate attack strategy is based on exploiting the auxiliary elliptic-curve points present in SIDH public keys, which in principle reveal a lot of additional information about the secret isogenies, but this information did not seem computationally useful for attackers at first. Petit in 2017 first demonstrated a technique making use of these points to attack some rather peculiar SIDH variants. Despite follow-up work extending the attack to much more realistic SIDH instantiations, the attack strategy still failed to break "standard" SIDH as employed by the NIST PQC submission SIKE. In July 2022, Castryck and Decru published an efficient key-recovery attack on SIKE that exploits the auxiliary points. Using a single-core computer, SIKEp434 was broken within approximately an hour, SIKEp503 within approximately 2 hours, SIKEp610 within approximately 8 hours and SIKEp751 within approximately 21 hours. The attack relies on gluing together multiple of the elliptic curves appearing in the SIDH construction, giving an
abelian surface In mathematics, an abelian surface is a 2-dimensional abelian variety. One-dimensional complex tori are just elliptic curves and are all algebraic, but Riemann discovered that most complex tori of dimension 2 are not algebraic via the Riemann bi ...
(more generally, an
abelian variety In mathematics, particularly in algebraic geometry, complex analysis and algebraic number theory, an abelian variety is a smooth Algebraic variety#Projective variety, projective algebraic variety that is also an algebraic group, i.e., has a group ...
), and computing a specially crafted isogeny defined by the given auxiliary points on that higher-dimensional object. It should be stressed that the attack crucially relies on the auxiliary points given in SIDH, and there is no known way to apply similar techniques to the general isogeny problem.


Efficiency

During a key exchange, entities A and B will each transmit information of 2 coefficients modulo defining an elliptic curve and 2 elliptic curve points. Each elliptic curve coefficient requires bits. Each elliptic curve point can be transmitted in bits; hence, the transmission is bits. This is 6144 bits for a 768-bit modulus (128-bit security). However, this can be reduced by over half to 2640 bits (330 bytes) using key-compression techniques, the latest of which appears in recent work by authors Costello, Jao, Longa, Naehrig, Renes and Urbanik. With these compression techniques, SIDH has a similar bandwidth requirement to traditional 3072-bit RSA signatures or Diffie-Hellman key exchanges. This small space requirement makes SIDH applicable to context that have a strict space requirement, such as
Bitcoin Bitcoin (abbreviation: BTC; Currency symbol, sign: ₿) is the first Decentralized application, decentralized cryptocurrency. Based on a free-market ideology, bitcoin was invented in 2008 when an unknown entity published a white paper under ...
or
Tor Tor, TOR or ToR may refer to: Places * Toronto, Canada ** Toronto Raptors * Tor, Pallars, a village in Spain * Tor, former name of Sloviansk, Ukraine, a city * Mount Tor, Tasmania, Australia, an extinct volcano * Tor Bay, Devon, England * Tor ...
. Tor's data cells must be less than 517 bytes in length, so they can hold 330-byte SIDH keys. By contrast, NTRUEncrypt must exchange approximately 600 bytes to achieve a 128-bit security and cannot be used within Tor without increasing the cell size. In 2014, researchers at the University of Waterloo developed a software implementation of SIDH. They ran their partially optimized code on an x86-64 processor running at 2.4 GHz. For a 768-bit modulus they were able to complete the key exchange computations in 200 milliseconds thus demonstrating that the SIDH is computationally practical. In 2016, researchers from Microsoft posted software for the SIDH which runs in constant time (thus protecting against timing attacks) and is the most efficient implementation to date. They write: "The size of public keys is only 564 bytes, which is significantly smaller than most of the popular post-quantum key exchange alternatives. Ultimately, the size and speed of our software illustrates the strong potential of SIDH as a post-quantum key exchange candidate and we hope that these results encourage a wider cryptanalytic effort." The code is open source (MIT) and is available on GitHub
https://github.com/microsoft/PQCrypto-SIDH
In 2016, researchers from Florida Atlantic University developed efficient ARM implementations of SIDH and provided a comparison of affine and projective coordinates. In 2017, researchers from Florida Atlantic University developed the first FPGA implementations of SIDH.


The supersingular isogeny Diffie-Hellman method

While several steps of SIDH involve complex isogeny calculations, the overall flow of SIDH for parties A and B is straightforward for those familiar with a Diffie-Hellman key exchange or its elliptic curve variant.


Setup

These are public parameters that can be shared by everyone in the network, or they can be negotiated by parties A and B at the beginning of a session. # A prime of the form p = w_A^\cdot w_B^\cdot f \pm 1. # A supersingular elliptic curve E over \mathbb_. # Fixed elliptic points P_A, Q_A, P_B, Q_B on E. # The order of P_A and Q_A is (w_A)^. The order of P_B and Q_B is (w_B)^.


Key exchange

In the key exchange, parties A and B will each create an isogeny from a common elliptic curve E. They each will do this by creating a random point in what will be the kernel of their isogeny. The kernel of their isogeny will be spanned by R_A and R_B respectively. The different pairs of points used ensure that parties A and B create different, non-commuting, isogenies. A random point (R_A, or R_B) in the kernel of the isogenies is created as a random linear combination of the points P_A, Q_A and P_B, Q_B. Using R_A, or R_B, parties A and B then use Velu's formulas for creating isogenies \phi_A and \phi_B respectively. From this they compute the image of the pairs of points P_A, Q_A or P_B, Q_B under the \phi_B and \phi_A isogenies respectively. As a result, A and B will now have two pairs of points \phi_A(P_B), \phi_A(Q_B) and \phi_B(P_A), \phi_B(Q_A) respectively. A and B now exchange these pairs of points over a communications channel. A and B now use the pair of points they receive as the basis for the kernel of a new isogeny. They use the same linear coefficients they used above with the points they received to form a point in the kernel of an isogeny that they will create. They each compute points S_ and S_ and us
Velu's formulas
to construct new isogenies. To complete the key exchange, A and B compute the coefficients of two new elliptic curves under these two new isogenies. They then compute the j-invariant of these curves. Unless there were errors in transmission, the j-invariant of the curve created by A will equal to the j-invariant of the curve created by B. Notationally, the SIDH key exchange between parties A and B works as follows: 1A. A generates two random integers m_A, n_A < (w_A)^. 2A. A generates R_A := m_A \cdot (P_A)+ n_A\cdot (Q_A). 3A. A uses the point R_A to create an isogeny mapping \phi_A: E\rightarrow E_A and curve E_A isogenous to E. 4A. applies \phi_A to P_B and Q_B to form two points on E_A: \phi_A(P_B) and \phi_A(Q_B). 5A. A sends to B E_A, \phi_A(P_B), and \phi_A(Q_B). 1B - 4B: Same as A1 through A4, but with A and B subscripts swapped. 5B. B sends to A E_B,\phi_B(P_A), and \phi_B(Q_A). 6A. A has m_A, n_A, \phi_B(P_A), and \phi_B(Q_A) and forms S_ := m_A(\phi_B(P_A)) + n_A(\phi_B(Q_A)). 7A. A uses S_ to create an isogeny mapping \psi_. 8A. A uses \psi_ to create an elliptic curve E_ which is isogenous to E. 9A. A computes K := \text (E_) of the curve E_. 6B. Similarly, B has m_B, n_B, \phi_A(P_B), and \phi_A(Q_B) and forms S_ = m_B (\phi_A(P_B)) + n_B(\phi_A(Q_B)). 7B. B uses S_ to create an isogeny mapping \psi_. 8B. B uses \psi_ to create an elliptic curve E_ which is isogenous to E. 9B. B computes K := \text (E_) of the curve E_. The curves E_ and E_ are guaranteed to have the same j-invariant. A function of K is used as the shared key.


Sample parameters

The following parameters were taken as an example by De Feo et al.: The prime for the key exchange was selected with , , , and , so that . The starting curve was . Luca De Feo, one of the authors of the paper defining the key exchange, has posted software that implements the key exchange for these and other parameters.


Similar systems, signatures, and uses

A predecessor to the SIDH was published in 2006 by Rostovtsev and Stolbunov. They created the first Diffie-Hellman replacement based on elliptic curve isogenies. Unlike the method of De Feo, Jao, and Plut, the method of Rostovtsev and Stolbunov used ordinary elliptic curves and was found to have a subexponential quantum attack. In March 2014, researchers at the Chinese State Key Lab for Integrated Service Networks and Xidian University extended the security of the SIDH to a form of digital signature with strong designated verifier. In October 2014, Jao and Soukharev from the University of Waterloo presented an alternative method of creating undeniable signatures with designated verifier using elliptic curve isogenies.


References

{{reflist Cryptographic algorithms Broken cryptography algorithms Post-quantum cryptography