Key-Agreement with Perfect Completeness from Random Oracles
Abstract
In the Random Oracle Model (ROM) all parties have oracle access to a common random function, and the parties are limited in the number of queries they can make to the oracle. The Merkle’s Puzzles protocol, introduced by Merkle [CACM ’78], is a key-agreement protocol in the ROM with a quadratic gap between the query complexity of the honest parties and the eavesdropper. This quadratic gap is known to be optimal, by the works of Impagliazzo and Rudich [STOC ’89] and Barak and Mahmoody [Crypto ’09].
When the oracle function is injective or a permutation, Merkle’s Puzzles has perfect completeness. That is, it is certain that the protocol results in agreement between the parties. However, without such an assumption on the random function, there is a small error probability, and the parties may end up holding different keys. This fact raises the question: Is there a key-agreement protocol with perfect completeness and super-linear security in the ROM?
In this paper we give a positive answer to the above question, showing that changes to the query distribution of the parties in Merkle’s Puzzles, yield a protocol with perfect completeness and roughly the same security.
Keywords and phrases:
Key-Agreement, Random Oracle, Merkle’s Puzzles, Perfect Completeness2012 ACM Subject Classification:
Security and privacy Information-theoretic techniquesAcknowledgements:
We thank Tal Yankovitz and Jad Silbak for very useful discussions.Funding:
Supported in part by NSF CNS-2149305 and NSF CNS-2128519. This work was done while being at Cornell Tech.Editor:
Niv GilboaSeries and Publisher:
Leibniz International Proceedings in Informatics, Schloss Dagstuhl – Leibniz-Zentrum für Informatik
1 Introduction
Key-Agreement ([9]) is a fundamental primitive in modern cryptography. Key-Agreement protocols allow two parties, Alice and Bob, to agree on a secret key that is hidden from any eavesdropper, just by publicly communicating with each other. While the above is one of the most important tasks in cryptography, still there are a respectively small number of assumptions from which we know how to construct such protocols ([26, 24, 9, 11, 21, 1, 25, 6, 2, 3, 27]). Moreover, these assumptions are more structured compared to the assumptions which are used to base private-key cryptography, making them more vulnerable to attacks, and arguably less reliable.
The Random Oracle Model
An important alternative to such assumptions is the use of key-agreement protocols with proven security in the Random Oracle Model (ROM). In this model we assume that the parties (and the eavesdropper) have oracle access to an idealized hash function – a perfectly random function . Then, the efficiency of the eavesdropper is measured with respect to the number of oracle calls it needs to make in order to break the security.
Unfortunately, while we usually want the gap between the running time of the honest parties in the protocol and the running time of the adversary to be exponential (or at least super-polynomial), this cannot be achieved in the random oracle model. Indeed, as shown by [18, 4], any protocol in which the honest parties make queries can be broken by an adversary that makes queries. Yet, while this quadratic gap is not ideal, in the lack of other reliable protocols it may be sufficient (see for example [14]).
Merkle’s Puzzles
The above quadratic gap is achievable, using a very elegant and simple protocol, called Merkle’s Puzzles [22]. In this protocol, Alice and Bob each choose random queries, and respectively, from a domain of size . Then, Alice and Bob use the images of the queries to find an intersecting query (which exists with high probability due to the birthday paradox). Specifically, Alice sends ; Bob then search for indexes and such that , and sends to Alice; Lastly, Alice outputs and Bob outputs as as their keys.
For security, it is not hard to see that an eavesdropper that wants to learn Alice’s output needs to invert the function on a random image , and thus essentially needs to query all the elements in the domain of the function.
When the function is a random function with a large enough range, the probability that the protocol succeeds, that is, results in an agreement between Alice and Bob, is approaching to . Indeed, an error can occur only when two distinct queries have the same image. Moreover, when using a more structured function, such as a permutation or any injective function, it follows that Merkle’s Puzzles has perfect agreement probability. Yet, it is an interesting question whether there exists such a key-agreement protocol without assuming any structure on the oracle function. That is:
Is there a key-agreement protocol with perfect agreement and super-linear security in the ROM?
1.1 Our Results
In this paper, we give a positive answer to the above question. More specifically, by changing the distribution of queries in the Merkle’s Puzzles protocol, we get a protocol with perfect agreement and roughly the same security.
Theorem 1 (Main theorem, informal).
There exists a -query key-agreement protocol with perfect agreement in the random oracle model, secure against all -query adversaries.111In fact, like Merkle’s puzzles, our protocol is a two-message protocol. Therefore, it can be used as a public-key encryption.
See Theorem 3 for the formal statement. As mentioned above, we get this result by changing the query distribution of Merkle’s Puzzles. The main observation is that in our distribution, the parties always have a single query in common. Then, by verifying that the sets of images of the parties only intersect in (exactly) one point, the parties can be sure that the outputs are equal.222Choosing a distribution such that Alice and Bob always have an intersection is not hard. Indeed, for , consider the distribution in which Alice samples a random index , and query , while Bob queries for a random . It is not hard to see that is always in the intersection. However, if the parties continue as in Merkle’s Puzzles (namely, Alice sends , and Bob finds the intersection), an eavesdropper can learn all the queries made by Alice, just by simulating Bob.
The protocol
We next describe the query distribution we consider. For simplicity, we think of as a function over the domain . To choose her queries, Alice samples uniformly random points . Then, Alice queries . On the other side, Bob chooses a random index , and queries . This distribution guarantees that is a (unique) intersection between Alice’s and Bob’s queries.
The protocol proceeds similarly to Merkle’s Puzzles: Alice sends to Bob, but in a random order. Bob then searches for an intersection between and his own images, . Crucially, if Bob finds more than one intersection, he notifies Alice and they both output . Otherwise, he sends the intersection and both parties output its preimage, .
The above protocol can be seen as an alternative implementation of Merkle’s original “puzzles” concept in the random oracle setting (a protocol with a query distribution similar to the one considered here was also mentioned in [4] as part of such implementation). In more detail, Merkle considers the notions of puzzles, in which Alice encrypts using puzzles pairs of id and secret , and sends the encryptions to Bob in a random order. Bob then chooses one random encryption and tries to learn the underline pair . It then sends the ID to Alice, and both Alice and Bob output its related secret . The idea is that while Bob only needs to solve one such challenge, Eve needs to solve roughly to learn the secret. In the above protocol, the encryption of a pair is done by simply computing .
Security
While the agreement of this protocol follows immediately by the fact that there is always an intersection, the security is a bit less obvious. Indeed, an adversary that tries to invert can learn some information on by observing the other images sent by Alice. Specifically, if the adversary finds a query such that appears in the communication from Alice to Bob, she learns that . This can potentially rule out possible preimages. Nevertheless, we are able to show by a simple reduction that this cannot help too much.
To prove the above we consider a balls and boxes game, defined as follows. There are boxes ordered in rows and columns. In each row, we chose a box uniformly at random and place one ball in it (all other boxes are left empty). All the balls are blue, except exactly one random ball which is red. The goal of the player is to find the red ball, by opening as few boxes as possible.
The security of Merkle’s Puzzles corresponds to a similar game, in which there is only one red ball within a single random row, and there are no other (blue) balls. In this case, it is not hard to see (by the union bound) that any player that opens boxes, succeeds in probability at most in finding the red ball. To prove that our protocol is secure we first show that the security of the protocol is equivalent to the hardness of the above box and balls game. Then, we show that the presence of the blue balls cannot help the player too much. This is done by observing a simple reduction between the games with and without the blue balls. Specifically, we show that any player that opens boxes, cannot win with probability larger than .
Comparison with Merkle’s Puzzles
Similarly to Merkle’s Puzzles, the above protocol is a two-message protocol, and has non-adaptive queries. Both protocols also have near-optimal communication complexity for protocols with these properties [14] (and can be generalized to get other possible tradeoffs between communication and security). The communication complexity of the protocol presented here is also tight with the recent lower bound of [17] for protocols with perfect completeness and non-adaptive queries.
To compare the security of Merkle’s Puzzles and the protocol given in this work, recall that to have an intersection with probability, the parties in Merkle’s Puzzles should query queries each from a domain of size at most . Thus, an -query adversary can learn the key with probability . In this case, we are able to get a slightly better security due to the fact that, in the protocol presented here, there is an intersection with probability , when the domain of the function is of size (exactly) .
One advantage of Merkle’s Puzzles is that it is non-interactive, meaning that both Alice and Bob can send their message simultaneously, without waiting to the other message to arrive. The protocol presented here does not have this property, and it is intersting question if such non-interactive protocol with perfect completness exists.
Perspective and Additional Related Work
Perfect primitives in the ROM
Being an idealized hash function, the random oracle model is used to prove black-box separation between cryptographic primitives. Notably, [19] prove a black-box separation between one-way permutations and one-way functions, showing that it is impossible to construct a one-way permutation from random oracles alone.
As mentioned above, [18] prove that there is no key-agreement with super-polynomial security in the ROM, and [4] prove a tight quadratic bound on the security of key-agreement protocols in the ROM. The latter result was generalized by [15] to hold for any semi-honest, no-input, two-party task. Prior to the work of [4], [8] proved a similar quadratic bound on the security of any key-agreement protocol with perfect completeness in the ROM. However, as mentioned by [4], before the work presented here, it was conceivable that every key-agreement protocol with perfect completeness in the ROM can be broken with a linear number of queries to the oracle.
Public-key encryption with perfect completeness
A long line of work is dedicated to the task of eliminating errors in public-key encryption schemes (or, equivalently, two-message key-agreement) and in other cryptographic primitives [12, 10, 16, 20, 5]. As mentioned in [10, 5], even a small decryption error in a public-key encryption scheme can be problematic for some uses. Moreover, as demonstrated by [23, 7], such decryption error can be used by an adversary to attack the cryptographic system.
2 Preliminaries
2.1 Notations
We use calligraphic letters to denote sets and distributions, uppercase for random variables, and lowercase for values and functions. When unambiguous, we will naturally view a random variable as its marginal distribution. For a set , let denote that is drawn uniformly from . For , let . For two sets , let .
2.2 Interactive Protocols and Oracle-Aided Protocols
A no-input, two-party protocol is simply a pair of probabilistic interactive algorithms. The interaction between the parties and is carried out in rounds, where in each round one party is active and the other is idle. In the -th round of the protocol, the active party sends a message to the other party, according to its partial view (its randomness and the messages sent in the protocol so far). The transcript of a given execution of the protocol is the list of messages exchanged between the parties in the execution of the protocol.
For a protocol , we use to denote that is a triplet sampled according to the joint distribution induced by , which contains a transcript of the protocol, an output of party , and an output of party in a random execution of .
An oracle-aided no-input two-party protocol is a pair of interactive oracle-aided algorithms. For a function , we use to denote the protocol when using as the oracle function. Such a protocol is a -query protocol, if for every function , each party always queries on at most points during the interaction between and .
2.3 Key-Agreement Protocols
We now define key-agreement protocols with respect to a function family . In the random oracle model, we choose to be the all-function family, over some fixed domain and range.
Definition 2 (Key-agreement protocol).
A no-input oracle-aided two-party protocol is a key-agreement protocol with respect to a function family if the following holds:
-
1.
Agreement:
-
2.
Security: For every algorithm , making at most queries, it holds that
Note that the above security definition requires that the adversary will not be able to guess the key, but the adversary may know some partial information on the output of (for example, the first bit). Given such a security guarantee, the parties can amplify it to get a stronger security notion, in which the key is (somewhat) indistinguishable from random in the eyes of the eavesdropper. This can be done by either extracting randomness from the outputs (for example, using the Goldreich-Levin hardcore predicate [13]), or using the random oracle, by querying the common output and using its image as the key.333A problem can occur in the last approach if the image of the key is used in the protocol, as happens in Merkle’s Puzzles. In this case, the parties can, for example, use only the prefix of the images in the protocol, and use the suffix as the secret key.
Let and be two sets, and let be the all-function family over the domain and the range . When , and , the Merkle’s Puzzles protocol, mentioned in the introduction, is a -query, key-agreement protocol with respect to , and for every .
3 The Key-Agreement Protocol
We now describe our key-agreement protocol. Let be two parameters, and let be the family of all functions from to . For simplicity, we think of the domain of every as . Namely, we think of every as .
Theorem 3.
The following holds for every . There exists an -query two-party protocol, which is a key-agreement protocol with respect to to , for every .
The protocol is as follows.
Protocol 4.
- Parameters:
-
.
- Common function:
-
.
- Operation:
-
-
1.
Party samples uniformly and independently at random, and queries . Let for every .
-
2.
Party samples an index uniformly at random, and queries . Let for every .
-
3.
sends in a random order.
-
4.
checks if the number of different images in is exactly (that is, if there is exactly one collision). If not, notifies , and both parties output . Otherwise, finds the unique , and sends to .
-
5.
Party outputs for the unique for which . outputs for the unique for which .
-
1.
.
We turn to analyze the agreement and security of Protocol 4. Towards this, fix the parameters and , and let . Let be a random variable representing a random function from , and let and be the outputs of and , respectively, in a random execution of Protocol 4 using the function . Finally, Let be the transcript of the protocol in this execution. Theorem 3 is a direct implication of the following two claims. The first states that Protocol 4 has perfect agreement.
Claim 5 (Agreement).
The second claim establishes the security of the protocol.
Claim 6 (Security).
For every -query algorithm , it holds that
Proof of Theorem 3.
The proof follows by Claim 5 and Claim 6, together with the observation that the parties in Protocol 4 make queries each.
3.1 Agreement – Proving Claim 5
We start by showing that Protocol 4 has perfect agreement.
Proof of Claim 5.
Claim 5 follows immediately by the query distribution of the parties. Specifically, observe that for every sampling of the points of , , and for every sampling of , and have a common query, . Thus, the parties have at least one common image. If further there are no other collisions in the union of the two sets of images, then .
On the other hand, when there are other collisions in the union of the sets, . Overall, we get that , with certainty, as wanted.
3.2 Security – Proving Claim 6
In this part we prove that Protocol 4 has roughly the same security as Merkle’s Puzzles. We do it by defining simplified security games, and showing a reduction between the security of Protocol 4 and these games.
Balls and Boxes games
To analyze the security of Protocol 4, in the following we define two “balls and boxes” games, to which we refer as the “unique-ball” game, and the “multi-ball” game. Intuitively, breaking the security of Merkle’s Puzzles is equivalent to winning the unique-ball game, and, on the other hand, we will show that breaking the security of Protocol 4 is equivalent to winning the multi-ball game. In the following we define these two games, and show that every strategy for the multi-ball game is an (almost) as good strategy for the unique-ball game. This will imply that Protocol 4 has security similar to the security of Merkle’s Puzzles.
We start with defining the unique-ball game.
Definition 7 (The unique-ball game).
Let be two parameters. In the -unique-ball game, there are boxes ordered in rows and columns. All the boxes are empty, except for one box, chosen uniformly at random, that contains a red ball in it.
The player is allowed to (adaptively) open up to boxes. The player wins the game if it finds the ball.
It is not hard to see that for every strategy of the player, the probability of finding the ball is at most . We now define the multi-ball game.
Definition 8 (The multi-ball game).
Let be two parameters. In the -multi-ball game, there are boxes ordered in rows and columns. In each row, there is a single box chosen uniformly and independently at random, that contains a ball in it. All the other boxes are empty. The ball in one row, chosen uniformly at random, is red, and the other balls are blue.
The player is allowed to (adaptively) open up to boxes. The player wins the game if it finds the red ball.
That is, as in the unique-ball game, the goal of the player is to find the box that contains the red ball, out of possible boxes. However, this time when the player finds a blue ball, it knows that the red ball is not in this row, and thus can stop opening boxes in this row. Intuitively, this corresponds to the images sends in Protocol 4, which can help the adversary to rule out some possible indices. The connection between the security of Protocol 4 to the multi-ball game is stated in the following claim.
Claim 9.
Assume there exists a -query algorithm such that . Then there exists a player that wins the -multi-ball game with probability at least .
We prove Claim 9 in Section 3.3, but first let us use it to prove Claim 6. To do so, we need to prove an upper bound on the winning probability of every strategy for the multi-ball game. This is done by showing that every strategy to the multi-ball game can be used in the unique-ball game with roughly the same success probability. Formally,
Claim 10.
Assume there exists a strategy for the -multi-ball game that wins with probability . Then there exists a strategy for the -unique ball game with winning probability .
Proof of Claim 10.
Let be a player for the -multi-ball game, that wins with probability . We show how to use to construct that wins in the -unique-ball game with probability .
Given boxes, samples uniformly and independently at random. Informally, will “plant” a blue ball in the box at location for every , and then run . More formally, simulates the game for . Every time chooses to open a box , opens the same box. If this box contains the red ball, wins. If this box is empty and , reports to that the box contains a blue ball. Otherwise, reports to that the box is empty.
Observe that wins if and only if finds the red ball in the simulated game.444Notice that may find blue balls in the simulated game, and this cannot happen in the real multi-ball game. However, this event is not counted as a win. To see that wins the simulated game with probability at least , first observe that in the simulated game, there is one row that contains two balls (one red ball and one blue ball, possibly at the same box), and all the other rows contain exactly one (blue) ball. Notice that if both of the balls in row were red, the winning probability of in the simulated game was at least (as we only added a red ball to the grid). That is, finds (at least) one ball on row with probability at least . By symmetry, the probability that the first ball in row found by is indeed the true red ball is . Thus, the winning probability of is at least , as stated.
As a direct corollary from Claim 5 and the fact that there is no strategy for the unique-ball game with a winning probability better than , we get that every strategy for the -multi-ball game wins with probability at most .
Corollary 11.
The winning probability of any strategy for the -multi-ball game is at most .
We can now conclude Claim 6.
Proof of Claim 6.
Immediately follows by Corollaries 11 and 9.
3.3 Proving Claim 9
Lastly, we show that an adversary that makes queries to and breaks Protocol 4 with probability , can be used to win the -multi-ball game with roughly the same probability.
To prove Claim 9, consider the following player that plays the multi-ball game by simulating on a random function and transcript . In the following, assume without loss of generality that never asks the same query twice. Moreover, at the cost of one additional query, assume that always queries on its output.
Algorithm 12 ().
- Parameters:
-
.
- Operation:
-
-
1.
samples uniformly and independently at random, and .
-
2.
simulates on the transcript . Every time makes a query , opens the box at location . answers to ’s query as follows:
-
If the box contains a red ball, wins and halts.
-
If the box is empty, answers with a random element from .
-
If the box contains a blue ball, answers with a random element from that was not in use before.
-
-
1.
.
We are now ready to prove Claim 9.
Proof of Claim 9.
Let be a -query algorithm that, given the transcript of Protocol 4, queries the function on the output of with probability at least . Let be Algorithm 12.
We start with considering a modified version of Protocol 4 (which cannot be implemented as a protocol), in which does not notify in step 4 in case sees a collision in the function . Instead, in this case we assume that sends the correct image , and that outputs the correct intersection .
As the above modified version and Protocol 4 differ only in the case that there is a collision in , it is not hard to see that in this modified version, guesses the output of party with probability at least
where the first inequality holds by the union bound, since every two queries have probability to collide, and there are at most queries made by the parties.
To see that the success probability of Algorithm 12 is , note that it readily follows by inspection that the distribution seen by in a random execution of Algorithm 12 on a random multi-ball game, is exactly the same distribution seen by in a random execution of the above modified protocol. Moreover, Algorithm 12 finds the red ball in the multi-ball game if and only if queries the secret key in the modified protocol. The claim follows.
References
- [1] Miklós Ajtai and Cynthia Dwork. A public-key cryptosystem with worst-case/average-case equivalence. In stoc29, pages 284–293, 1997. See also ECCC TR96-065. doi:10.1145/258533.258604.
- [2] Michael Alekhnovich. More on average case vs approximation complexity. In 44th Annual IEEE Symposium on Foundations of Computer Science, 2003. Proceedings., pages 298–307. IEEE, 2003. doi:10.1109/SFCS.2003.1238204.
- [3] Benny Applebaum, Boaz Barak, and Avi Wigderson. Public-key cryptography from different assumptions. In Proceedings of the forty-second ACM symposium on Theory of computing, pages 171–180, 2010. doi:10.1145/1806689.1806715.
- [4] Boaz Barak and Mohammad Mahmoody. Merkle puzzles are optimal – An -query attack on any key exchange from a random oracle. In Annual International Cryptology Conference, pages 374–390. Springer, 2009.
- [5] Nir Bitansky and Vinod Vaikuntanathan. A note on perfect correctness by derandomization. In Annual International Conference on the Theory and Applications of Cryptographic Techniques, pages 592–606. Springer, 2017. doi:10.1007/978-3-319-56614-6_20.
- [6] Andrej Bogdanov, Miguel Cueto Noval, Charlotte Hoffmann, and Alon Rosen. Public-key encryption from homogeneous clwe. In Theory of Cryptography: 20th International Conference, TCC 2022, Chicago, IL, USA, November 7–10, 2022, Proceedings, Part II, pages 565–592. Springer, 2022. doi:10.1007/978-3-031-22365-5_20.
- [7] Dan Boneh, Richard A DeMillo, and Richard J Lipton. On the importance of eliminating errors in cryptographic computations. Journal of cryptology, 14:101–119, 2001. doi:10.1007/S001450010016.
- [8] Zvika Brakerski, Jonathan Katz, Gil Segev, and Arkady Yerukhimovich. Limits on the power of zero-knowledge proofs in cryptographic constructions. In Theory of Cryptography: 8th Theory of Cryptography Conference, TCC 2011, Providence, RI, USA, March 28-30, 2011. Proceedings 8, pages 559–578. Springer, 2011. doi:10.1007/978-3-642-19571-6_34.
- [9] Whitfield Diffie and Martin E. Hellman. New directions in cryptography. IEEE Transactions on Information Theory, pages 644–654, 1976. doi:10.1109/TIT.1976.1055638.
- [10] Cynthia Dwork, Moni Naor, and Omer Reingold. Immunizing encryption schemes from decryption errors. In Advances in Cryptology – EUROCRYPT 2004: International Conference on the Theory and Applications of Cryptographic Techniques, Interlaken, Switzerland, May 2-6, 2004. Proceedings 23, pages 342–360. Springer, 2004. doi:10.1007/978-3-540-24676-3_21.
- [11] Taher ElGamal. A public key cryptosystem and a signature scheme based on discrete logarithms. In Annual International Cryptology Conference (CRYPTO), pages 10–18, 1984.
- [12] Oded Goldreich, Shafi Goldwasser, and Shai Halevi. Eliminating decryption errors in the ajtai-dwork cryptosystem. In Advances in Cryptology – CRYPTO’97: 17th Annual International Cryptology Conference Santa Barbara, California, USA August 17–21, 1997 Proceedings 17, pages 105–111. Springer, 1997. doi:10.1007/BFB0052230.
- [13] Oded Goldreich and Leonid A. Levin. A hard-core predicate for all one-way functions. In Proceedings of the twenty-first annual ACM symposium on Theory of computing (STOC), pages 25–32, 1989. doi:10.1145/73007.73010.
- [14] Iftach Haitner, Noam Mazor, Rotem Oshman, Omer Reingold, and Amir Yehudayoff. On the communication complexity of key-agreement protocols. 10th Innovations in Theoretical Computer Science, 2019. doi:10.4230/LIPIcs.ITCS.2019.40.
- [15] Iftach Haitner, Eran Omri, and Hila Zarosim. Limits on the usefulness of random oracles. Journal of Cryptology, 29(2):283–335, 2016. doi:10.1007/S00145-014-9194-9.
- [16] Thomas Holenstein and Renato Renner. One-way secret-key agreement and applications to circuit polarization and immunization of public-key encryption. In Annual International Cryptology Conference, pages 478–493. Springer, 2005. doi:10.1007/11535218_29.
- [17] Mi-Ying Miryam Huang, Xinyu Mao, Guangxu Yang, and Jiapeng Zhang. Communication lower bounds of key-agreement protocols via density increment arguments. Cryptology ePrint Archive, 2023. URL: https://eprint.iacr.org/2023/1349.
- [18] Russell Impagliazzo and Steven Rudich. Limits on the provable consequences of one-way permutations. In Proceedings of the twenty-first annual ACM symposium on Theory of computing (STOC), pages 44–61. ACM Press, 1989. doi:10.1145/73007.73012.
- [19] Jeff Kahn, Michael Saks, and Cliff Smyth. A dual version of Reimer’s inequality and a proof of Rudich’s conjecture. In 15th Annual IEEE Conference on Computational Complexity, pages 98–103, 2000. doi:10.1109/CCC.2000.856739.
- [20] Huijia Lin and Stefano Tessaro. Amplification of chosen-ciphertext security. In Advances in Cryptology–EUROCRYPT 2013: 32nd Annual International Conference on the Theory and Applications of Cryptographic Techniques, Athens, Greece, May 26-30, 2013. Proceedings 32, pages 503–519. Springer, 2013. doi:10.1007/978-3-642-38348-9_30.
- [21] Robert J McEliece. A public-key cryptosystem based on algebraic. Coding Thv, 4244:114–116, 1978.
- [22] Ralph C Merkle. Secure communications over insecure channels. Communications of the ACM, 21(4):294–299, 1978. doi:10.1145/359460.359473.
- [23] John Proos. Imperfect decryption and an attack on the ntru encryption scheme. Cryptology ePrint Archive, 2003. URL: https://eprint.iacr.org/2003/002.
- [24] Michael O Rabin. Digitalized signatures and public-key functions as intractable as factorization. Technical report, Massachusetts Inst of Tech Cambridge Lab for Computer Science, 1979.
- [25] Oded Regev. On lattices, learning with errors, random linear codes, and cryptography. Journal of the ACM (JACM), 56(6):1–40, 2009. doi:10.1145/1568318.1568324.
- [26] Ronald L Rivest, Adi Shamir, and Leonard Adleman. A method for obtaining digital signatures and public-key cryptosystems. Communications of the ACM, 21(2):120–126, 1978. doi:10.1145/359340.359342.
- [27] Peter W Shor. Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer. SIAM review, 41(2):303–332, 1999. doi:10.1137/S0036144598347011.