Diffie-Hellman Protocol Using Supersingular Isogeny Supersingular isogeny Diffie – Hellman key exchange, SIDH) is a post-quantum cryptographic algorithm that allows two or more parties to obtain a shared secret key using an unprotected communication channel. This is an analog of the Diffie-Hellman protocol , based on wandering in a supersingular isogenic graph that is designed to withstand a cryptanalytic attack by an adversary owning a quantum computer . Of all post-quantum key exchange protocols, SIDH has the shortest key length; with compression in mind, SIDH uses a 2688-bit [1] public key at a 128-bit quantum cryptographic level . SIDH also differs from other similar systems, such as NTRU and Ring-LWE, in that it maintains perfect direct secrecy , which ensures that session keys obtained using a set of long-term keys will not be compromised when one of the long-term keys is compromised. These properties of SIDH make it one of the candidates for replacing Diffie-Hellman (DHE) and Diffie-Hellman on elliptic curves (ECDHE), which are used to protect data transmitted over the network.
Introduction
For some classes of problems, algorithms running on a quantum computer are able to achieve less time complexity than when executed on a classical computer. The use of quantum algorithms significantly affects open cryptography . For example, the Shore algorithm can decompose an integer N in polynomial time , while the most efficient factorizing classical algorithm, the general method of sifting a number field , works in sub-exponential time . At the same time, RSA security is at risk, based on the complexity of the task of factoring integers . The Shore algorithm can also effectively solve the discrete logarithm problem, the complexity of which determines the security of Diffie-Hellman , Diffie-Hellman on elliptic curves , ECDSA , Curve2551 , ed25519 and El-Gamal . Thus, both the factorization of integers and the discrete logarithm problem will be easily solvable on large enough quantum computers. Currently, post-quantum cryptography is being developed, which uses algorithms that are independent of quantum computing, that is, resistant to quantum attacks. [2]
SIDH was created by De Feo, Jao and Plut in 2011 [3] . It uses standard operations on elliptic curves and is not patented. SIDH provides perfect direct secrecy and does not rely on the security of long-term private keys. Direct secrecy improves the long-term security of encrypted connections, helps protect against mass surveillance and reduces the impact of vulnerabilities such as Heartbleed . [4] [5]
Algorithm Description
j-invariant of the elliptic curve given by the equation has the form:
Isomorphic curves have the same j-invariant; over an algebraically closed field, two curves with the same j-invariant are isomorphic.
SIDH uses many supersingular elliptic curves and their isogenies. For isomorphic curves, it is worth considering isogeny between different classes of isomorphic curves. Isogeny between elliptical curves and Is a rational map , which is a homomorphism. If a is separable , then it is determined by its core up to an isomorphism of the curve .
SIDH requires a field characteristic — a prime number of type , with small primes and large degrees and and a small factor ; as well as a supersingular curve given over . Such a curve has two large torsion subgroups , and which are intended for Alice and Bob, respectively. Each side starts the protocol by selecting a (secret) random cyclic subgroup from the corresponding torsion subgroup and calculating the corresponding (secret) isogeny. Then they exchange the equations of the transformed curves, which are the results of the action of their isogenies on the curve , as well as the values of their isogeny, calculated by the torsion group of the other side. This allows both sides to secretly calculate new isogeny from whose nuclei are co-generated using two secret cyclic subgroups. Since the kernels of these isogenies are consistent, their new transformed curves are isomorphic. In this case, the joint j-invariant of the transformed curves can be used as a necessary common secret.
More information on this topic can be found in De Feo's article "Mathematics of Isogeny Based Cryptography." [6]
Cryptographic Strength
Many isogenies of supersingular elliptic curves together with the composition form a non-Abelian group, and SIDH security is based on this non-Abelian structure. [3] SIDH security is closely related to the problem of finding isogenic mappings between two supersingular elliptic curves having the same number of points. De Feo, Jao and Plut have suggested that SIDH security will for a classic computer and for quantum. It turns out that SIDH with a 768-bit prime number will have a cryptographic strength of 128 bits. [3] In 2014, when studying the problem of isogenic mappings, Delfs and Galbraith confirmed security for a classic computer. [7] Resilience Level has also been confirmed by Biasse, Jao and Sankar, and by Galbraith, Petit, Shani, and Bo Ti. [8] [9]
Efficiency
In the process of exchanging keys, each of the parties A and B will be transferred coefficients defining an elliptic curve, and 2 points of the elliptic curve. Each elliptic curve coefficient requires bit. Each point of an elliptic curve can be transmitted for bit. Total transmitted bit. It turns out 6144 bits for the 768-bit field characteristic length (128-bit cryptographic strength). However, this number can be reduced to 2640 bits (330 bytes) using the key compression technique, the latest version of which can be found in the work of Costello, Jao, Longa, Naehrig, Renes and Urbanik. [10] Based on the compression technique, SIDH has bandwidth requirements close to traditional 3072-bit RSA certification or Diffie-Hellman key exchange. Due to the small key length requirements, SIDH can be used in the context of a limited available space, for example, in Bitcoin and Tor . The data cell size in Tor should be less than 517 bytes and SIDH with a key length of 330 bytes fit there, while NTRUEncrypt must exchange approximately 600 bytes in order to achieve a 128-bit security level and cannot be used in Tor without increasing data cell size. [eleven]
In 2014, researchers from the University of Waterloo developed a software implementation of SIDH. It was launched on an x86-64 processor with a frequency of 2.4 GHz. For a characteristic length of 768 bits, they were able to perform key exchange in 200 milliseconds, showing the practicality of calculating SIDH. [12]
In 2016, researchers from Microsoft published software for SIDH, which works in constant time (thereby resistant to time attacks ) and is the most effective implementation to date. [13] Their implementation can be found here .
In 2016, researchers from Florida Atlantic University developed an effective implementation of SIDH for ARM architecture and made comparisons for affine and projective coordinates. [14] [15] In 2017, the first FPGA implementation of SIDH was developed at the same university. [sixteen]
Diffie-Hellman Protocol Using Supersingular Isogeny
While some SIDH steps use complex isogeny calculations, a general understanding of SIDH for parties A and B is quite simple for those familiar with the Diffie-Hellman protocol or its variant on elliptic curves.
Domain Settings
The following domain parameters are used, which can be accessible to everyone in the community or the parties can provide them at the beginning of the session.
- Field characteristic - a prime number of the form
- Supersingular Elliptic Curve above .
- Fixed points on an elliptic curve .
- Points and have order , but and order .
Key Exchange
When exchanging keys, each of the sides A and B should generate isogeny from a common elliptic curve . This is done by generating a random point at which the core of their isogeny will be. The base vectors for this kernel will be pairs of points , and , respectively. Using different pairs of points ensures that the parties generated different, non-commuting isogenies. Random Point ( , or ) in the core of isogeny is generated as a random linear combination of points , and points , .
Using , or , sides A and B apply the Velu formula to obtain isogeny and respectively. After that, they calculate the images of pairs of points , or , under the action of isogeny and respectively.
As a result, A and B have two pairs of points , and , respectively. Now A and B exchange the counted pairs of points through the communication channel.
A and B use pairs of points obtained from the other side as a basis for the core of their new isogeny. Taking the same linear coefficients that were previously used to generate a random point ( , or ), each of them generate a point in the core of the isogeny that they want to build. Each side calculates points and and uses the Velu formula to construct new isogeny.
To complete the key exchange, A and B calculate the coefficients of two new elliptic curves with two new isogenies and calculate their j-invariant. If no errors occurred during the transfer, the j-invariant of the curve constructed by A must be equal to the j-invariant of the curve constructed by B.
A key exchange between parties A and B using SIDH can be written as follows:
1A. A generates two random integers
2A. A generates
3A. A uses a point to build isogeny and curve isogenic
4A. A applies to and to get two points on and
5A. A passes B and
1B - 4B: Similar to A1 - A4, replacing A with B (and vice versa).
5B. B transmits A and
6A. A has and . A finds
7A. A uses to build isogeny .
8A. A uses to build an elliptic curve which is isogenic .
9A. A computes crooked .
6B. Similarly, B has and . Finds .
7B. B uses to build isogeny .
8B. B uses to build an elliptic curve which is isogenic .
9B. B computes crooked .
The curves and must have the same j-invariant. Function from used as a shared key. [3]
Parameters example
The following parameters were used by De Feo et al .: [3]
p = field characteristic (prime) for key exchange with w A = 2, w B = 3, e A = 63, e B = 41, and f = 11. It turns out p = (2 63 · 3 41 · 11) - one.
E 0 = main (initial) curve for key exchange = y 2 = x 3 + x
Luca De Feo, one of the authors of the article describing key exchange, has published a software implementation of key exchange for these and other parameters. [17]
Similar systems
The predecessor of SIDH was a method published in 2006 by Rostovtsev and Stolbunov. They created the first Diffie-Hellman analog using isogeny of elliptic curves. Unlike the De Feo, Jao, and Plut method, the Rostovtsev and Stolbunov method used ordinary elliptic curves [18] and was subject to subexponential quantum attacks. [nineteen]
In March 2014, researchers from the Chinese State Key Lab for Integrated Service Networks and Xidian University expanded SIDH's security to a digital signature form with strictly defined verifiers. [20] In October 2014, researchers Jao and Soukharev from Waterlu University presented an alternative way to get explicit signatures with given verifiers using elliptic curves. [21]
Cryptographic attacks
Active Attack
Active attacks are a standard type of attack on cryptosystems with a static private key. If A has a fixed private key then attacker B can send and A will calculate isogeny with core . An attacker may try to calculate the private key. knowing . To prevent this type of attack, you need to check the correctness : [13]
- is a supersingular elliptic curve,
- and lie on this curve, have the correct order and are independent.
To verify the correctness Weil pairing condition can be used
However, this check will not be able to protect against all adaptive attacks. [9]
Adaptive Attack
Galbraith, Petit, Shani, and Ti showed that for static private keys there is an adaptive attack that requires less than log 2 (p) calls to A, which will be tested by Weil conjugation and checked for the degree of isogeny. In this attack, the attacker B iteratively finds the bits of the secret key A, selecting the transmitted parameters and looking at the answer A. However, the verification method proposed by Kirkwood can recognize this attack. [9]
Kirkwood Verification Method
The verification method proposed by Kirkwood et al. [22] uses the Fujisaki-Okamoto transform [23] . The idea of this method is that the parties exchange keys, and then exchange encrypted random numbers that were used to generate the key to confirm the correctness of the key exchange. The protocol can be written as follows:
1. B receives a static key A .
2. B selects a random number and gets the private key using the pseudo-random function G:
- .
Then B computes the message where .
3. B gets a shared secret of and and calculates the session and test keys using the K function:
- .
4. B transmits A and .
5. From and And gets , and then and {\ displaystyle (VK ')} .
6. A computes
For a hypothetical number And he can re-perform all operations B. If the resulting message matches that B originally sent, then A completes the protocol and uses for further communication with B. If messages differ, the protocol is interrupted with an error, without further communication.
When using this protocol, B opens his private key A, so he has to change it after each check. This verification method can be applied to both key exchange protocols and encryption protocols. [9]
Change Attack
Modified attacks are a standard type of attack that involves physical access to a device that uses a private key. These attacks are based on the ability of the attacking party to distort the execution of protocol A, forcing them to make errors in the calculations.
Cycle Break Attack
This attack uses an iterative structure for computing isogeny. You can make a change that forces A to calculate isogeny only partially, revealing information about the secret key . This attack cannot be found by the Kirkwood scan, because the attacker uses the correct data. Private key A is opened bitwise, the protocol completion status is used when the calculation of the curve by side A successfully interrupts the calculation. The complexity of this attack is approximately where - probability of successful interruption of calculations. [24]
Links
- ↑ Costello, Craig; Jao, David; Longa, Patrick; Naehrig, Michael; Renes, Joost; Urbanik, David. Efficient compression of SIDH public keys (unspecified) . - 2016 .-- October 4.
- ↑ Utsler, Jim Quantum Computing Might Be Closer Than Previously Thought . IBM (September 2013). Date of treatment May 27, 2013.
- ↑ 1 2 3 4 5 De Feo, Luca Towards quantum-resistant cryptosystems from supersingular elliptic curve isogenies . PQCrypto 2011 . Springer Date of treatment May 4, 2014.
- ↑ Higgins, Parker Long Term Privacy with Forward Secrecy . Electronic Frontier Foundation. Date of treatment May 4, 2014.
- ↑ Zhu, Yan Why the Web Needs Perfect Forward Secrecy More Than Ever . Electronic Frontier Foundation. Date of treatment May 4, 2014.
- ↑ De Feo, Luca (2017), "Mathematics of Isogeny Based Cryptography", arΧiv : 1711.04062
- ↑ Delfs, Christina & Galbraith (29 Oct 2013), "Computing isogenies between supersingular elliptic curves over F_p", arΧiv : 1310.7789
- ↑ biasse A quantum algorithm for computing isogenies between supersingular elliptic curves . CACR. Date of treatment December 11, 2016.
- ↑ 1 2 3 4 Galbraith ON THE SECURITY OF SUPERSINGULAR ISOGENY CRYPTOSYSTEMS . IACR
- ↑ Costello, Craig Efficient Compression of SIDH public keys . Date of treatment October 8, 2016.
- ↑ Key Compression for Isogeny-Based Cryptosystems . eprint.iacr.org . Date of treatment March 2, 2016.
- ↑ Fishbein, Dieter Machine-Level Software Optimization of Cryptographic Protocols . University of Waterloo Library - Electronic Theses . University of Waterloo (April 30, 2014). Date of treatment June 21, 2014.
- ↑ 1 2 Costello, Craig; Longa, Patrick; Naehrig, Michael. Efficient algorithms for supersingular isogeny Diffie-Hellman : journal. - 2016 .-- January 1.
- ↑ Koziel, Brian; Jalali, Amir; Azarderakhsh, Reza; Kermani, Mehran; Jao, David. NEON-SIDH: Efficient Implementation of Supersingular Isogeny Diffie-Hellman Key Exchange Protocol on ARM ( journal ) : journal. - 2016. - 3 November.
- ↑ Jalali, A .; Azarderakhsh, R .; Kermani, M. Mozaffari; Jao, D. Supersingular Isogeny Diffie-Hellman Key Exchange on 64-bit ARM (English) // IEEE Transactions on Dependable and Secure Computing: journal. - 2017 .-- Vol. PP , no. 99 . - P. 1-1 . - ISSN 1545-5971 . - DOI : 10.1109 / TDSC.2017.2723891 .
- ↑ Koziel, Brian; Kermani, Mehran; Azarderakhsh, Reza. Fast Hardware Architectures for Supersingular Isogeny Diffie-Hellman Key Exchange on FPGA ( journal ) : journal. - 2016 .-- 7 November.
- ↑ defeo / ss-isogeny-software . Github Date of treatment May 29, 2015.
- ↑ Rostovtsev, Alexander PUBLIC-KEY CRYPTOSYSTEM BASED ON ISOGENIES . Springer (2006). Date of treatment May 10, 2014. Archived May 29, 2006.
- ↑ Childs, Andrew M; Jao, Soukharev. Constructing elliptic curve isogenies in quantum subexponential time (English) // Journal of Mathematical Cryptology: journal. - Vol. 8 . - P. 1-29 . - DOI : 10.1515 / jmc-2012-0016 . - arXiv : 1012.4019 .
- ↑ Sun, Xi; Tian. Toward quantum-resistant strong designated verifier signature (neopr.) // International Journal of Grid and Utility Computing. - 2014 .-- 2 March ( v. 5 ). - S. 80 . - DOI : 10.1504 / IJGUC.2014.06010187 .
- ↑ Jao, David Isogeny-based quantum-resistant undeniable signatures (October 3, 2014). doi : 10.1007 / 978-3-319-11659-4_10 . Date of treatment April 28, 2016.
- ↑ Failure is not an option: standardization issues for post-quantum key . Talk at NIST workshop on Cybersecurity in a Post-Quantum (April 2015).
- ↑ Hofheinz, Dennis A Modular Analysis of the Fujisaki-Okamoto Transformation . Theory of Cryptography . Springer (2017) (September 26, 2017).
- ↑ Loop-Abort Faults on Supersingular Isogeny Cryptosystems . Springer (June 4, 2017).