Oblivious Evaluation of Multivariate Polynomials. and Applications

Size: px
Start display at page:

Download "Oblivious Evaluation of Multivariate Polynomials. and Applications"

Transcription

1 The Open University of Israel Department of Mathematics and Computer Science Oblivious Evaluation of Multivariate Polynomials and Applications Thesis submitted as partial fulfillment of the requirements towards an M.Sc. degree in Computer Science The Open University of Israel Computer Science Division By Yonatan Ben-Ya akov Prepared under the supervision of Dr. Tamir Tassa November, 2007

2

3 Abstract In a Multi-Party Computation (MPC), there are a number of participants, each holding private data. The participants want to compute the value of a public function at the point that corresponds to the data that they hold. An MPC protocol is considered secure if no participant can learn information about the private data of the other participants that could not have been deduced from the description of the public function and the result of the global calculation. One of the prominent primitives of MPC is Oblivious Transfer (OT). OT protocols serve as building blocks in the solution of other MPC problems. Such a problem, introduced by Naor and Pinkas, is called Oblivious Polynomial Evaluation (OPE). Assume that Alice has a polynomial P (x) and Bob has a point α. The goal is to allow Bob to compute P (α) so that Alice remains oblivious of α and Bob of P (x) (apart from what is implied by P (α) and α). We introduce the multivariate version of this problem, where x and α are vectors, offer secure protocols to solve it, and discuss several applications.

4

5 Acknowledgements I wish to thank my thesis advisor, Dr. Tamir Tassa, for his wonderful support and help throughout the process of writing this thesis. It was a long and tiring saga, and Dr. Tassa s encouragement, knowledgeable guidance, and major time investment were what made reaching the finish line possible. I appreciate his continual scrutiny and pedantry because it improved my academic writing skills to a great extent, and taught me professionalism. I also wish to thank my family and friends for their loving support and encouragement.

6

7 Contents 1 Introduction 1 2 Preliminaries Computational indistinguishability Security of multi-party computation protocols Oblivious Transfer Definition and motivation An overview of Rabin s paper An overview of square root extraction in Z n Rabin s OT setting EOS implementation General OT protocol An overview of Even, Goldreich and Lempel s paper Definition of 1-out-of-2 OT Implementation Analysis A different OT protocol out-of-2 OT using RSA Generalizations of OT String OT Pseudorandom functions First 1-out-of-N OT protocol A second, recursive, 1-out-of-N OT protocol A protocol for k-out-of-n OT Oblivious Evaluation of Univariate Polynomials Problem specification Intractability assumptions I

8 CONTENTS II The first intractability assumption The second intractability assumption The protocol The protocol template The first instantiation The second instantiation Protocol properties Correctness Complexity Security The receiver s privacy The sender s privacy Security against malicious behaviour Applications Obliviously computing a polynomial in the exponent Obliviously comparing information Original solution by Fagin, Naor and Winkler Solution using OPE Set computations Membership in a set Subsets Oblivious Evaluation of Multivariate Polynomials Multivariate Lagrange interpolation The bivariate case The general multivariate case Probability of success Algorithm for choosing flats Problem specification Intractability assumptions The first intractability assumption The second intractability assumption The protocol The protocol template The first instantiation The second instantiation Protocol properties Correctness Complexity Security II

9 CONTENTS III The receiver s privacy The sender s privacy Security against malicious behaviour Applications Measuring the distance between two parties Obliviously computing a polynomial in the exponent Comparing information Linear algebra computations Computing the scalar product of two vectors The inclusion of a vector is in a subspace.. 79 III

10

11 Chapter 1 Introduction The field of Multi-Party Computation, or MPC, refers to a setting in which there are several players, P 1,..., P n. Each player P i holds a private value x i. The goal is to compute the value f(x 1,..., x n ), where f is some publicly known function of n variables, so that each player does not learn anything about the private inputs of the other players, except what is implied by the output result f(x 1,..., x n ). One way of accomplishing this task is by delegating the input values x i to a trusted neutral party that can perform the computation on the inputs received from the n players. However, when such a trusted neutral party is not available, it is necessary to accomplish this task by a suitable protocol that the participating players have to execute among themselves. One of the basic primitives of MPC is Oblivious Transfer or OT. It was first introduced by Rabin [17] but there are now many different flavors, or variants, of OT. The one of the most interest in this thesis is called chosen 1-out-of-2 oblivious transfer which concerns the case where Alice has two bits, b 0 and b 1, and Bob has a selection bit s. The goal is for Bob to receive b s and remain oblivious of b 1 s while Alice remains oblivious of s. The generic problem of MPC was solved by Yao [19], who gave a solution that accomplishes secure MPC for every function f with finite domain and finite image. His solution is based on the assumption that factoring integers is intractable. Later, Goldreich and Vainish [13] showed a stronger result saying that the existence of OT is sufficient for this task. A result by Killian [14] shows constructively that OT is necessary and sufficient for general oblivious function evaluation, that is secure against malicious players 1. The problem with these generic results is that their computational and 1 We discuss malicious players in Section 2.2 1

12 2 communication complexities are very high, which renders them impractical. The aim of further studies in this field is to find more efficient solutions for specific problems of MPC. One such problem of MPC is Oblivious Polynomial Evaluation, or OPE. It involves two players: a sender, who has a univariate polynomial P over a field F, and a receiver, who has a point α F. The goal is for the receiver to learn the value of P (α), without learning any other information about P, and without the sender learning any information about α. This problem was solved by Moni Naor and Benny Pinkas [16]. In this thesis we present the multivariate version of OPE, where P is an r-variate polynomial and α F r. The goal remains the same: The receiver wishes to learn the value of P (α), without learning any other information about P, while the sender remains oblivious to the value of α. We give a solution to this problem, and present several applications. In Chapter 2 we discuss several terms and theorems that are required for the understanding of the OPE protocols presented here. Section 2.1 defines the notions of probability ensembles and computational indistinguishability; Section 2.2 briefly discusses the security of a multi-party computation protocol and defines the concepts of semi-honest players and malicious players. In Chapter 3 we familiarize ourselves with Oblivious Transfer (OT), a basic problem of multi-party computation that is used as a primitive by the OPE protocols presented here. Section 3.1 gives some motivation for OT, and its basic definition; Section 3.2 gives a summary of Rabin s paper [17] which first introduced the concept of OT; Section 3.3 gives a summary of a paper [6] by Even, Goldreich and Lempel, which introduced a slightly different flavor of OT; Section 3.4 gives a solution to the problem of OT using the RSA cryptosystem and studies its properties; Section 3.5 gives generalizations of OT: 1-out-of-N OT and k-out-of-n OT, which are used in the OPE protocols. In Chapter 4 we describe the problem of univariate OPE and present a solution for it given by Naor and Pinkas [16]. Section 4.1 defines the problem. Section 4.2 introduces two intractability assumptions that the OPE protocols rely on. Section 4.3 presents the OPE protocols themselves. Naor and Pinkas give two different protocols, each one based on a different intractability assumption. In Section 4.4 we study the correctness, security and complexity properties of the protocols. Section 4.5 discusses malicious players and the changes that need to be made to the protocol in order to be secure against them as well. Finally, in Section 4.6 we present some applications of univariate OPE. In Chapter 5 we introduce the problem of multivariate OPE and our 2

13 3 solution for it. Section 5.1 discusses multivariate Lagrange interpolation. Section 5.2 gives the problem specification for multivariate OPE. In Section 5.3 we present two intractability assumptions, that are required by the multivariate OPE protocols. Section 5.4 describes the protocol itself. In Section 5.5 we study the correctness, security and complexity properties of the protocols. Section 5.6 discusses malicious players and the adaptations to the protocol required in order to remain secure against them. Finally, in Section 5.7 we present several applications of multivariate OPE. 3

14 Chapter 2 Preliminaries 2.1 Computational indistinguishability Here we briefly review the basic concepts of probability ensembles and computational indistinguishability. The material is taken from Goldreich [11]. Definition (Probability ensemble) Let I be a countably infinite set. A probability ensemble with indices from I is a sequence of random variables with indices from I, X = {X i } i I. The above definition means that for every index i I there exists a distribution X i that one can sample from. In most cases, I = N. Definition (Computational indistinguishability) Let X = {X n } n N and Y = {Y n } n N be two probability ensembles. We say that X and Y are computationally indistinguishable, and we write X c Y, if for every probabilistic polynomial-time algorithm D and for every polynomial p( ) there exists N N such that for all n N it holds that [ ] [ ] Pr D(X n, 1 n ) = 1 Pr D(Y n, 1 n 1 ) = 1 p(n) when the probability is taken with respect to both the different samples of the random variables X n and Y n, and the coin tosses performed by D. The idea behind Definition is that it is hard to distinguish between the two ensembles. For any fixed value of the index n, the random variable X n is hard to distinguish from the random variable Y n. Namely, given a sample from one of those two random variables, there exists no efficient 4

15 2.2. SECURITY OF MULTI-PARTY COMPUTATION PROTOCOLS 5 probabilistic algorithm that can determine the source of that sample with significant probability of success, even if that algorithm is given the index of those variables (in the form of the input 1 n ). Moreover, the task of distinguishing between samples of X n and Y n becomes harder and harder as n tends to infinity. 2.2 Security of multi-party computation protocols Consider a multi-party computation protocol to compute some function f(x 1,..., x n ), where x i is a piece of information that is owned by player P i, 1 i n. Our goal is to compute the value of the output f(x 1,..., x n ) without leaking out to player P j any information about x i that is not implied by the output f(x 1,..., x n ), for all 1 i, j n, i j. For example, assume that n = 2, the inputs are bits, x 1, x 2 {0, 1}, and that f(x 1, x 2 ) = x 1 x 2. Let us focus on player P 1 and see what he may learn from the value of the output x 1 x 2 about the value of P 2 s input, x 2. Clearly, if x 1 = 1, then the output will reveal to P 1 the value of x 2. If, however, x 1 = 0, then the output reveals nothing about x 2. Out goal is to design a protocol that respects those rules. Namely, a protocol that protects the privacy of P 2 by not leaking to P 1 any information about x 2 in case x 1 = 0, and that equally protects P 1 s privacy. In discussing and establishing the security of such protocols, one has to distinguish between two types of players: semi-honest and malicious. A semi-honest player is a player who always follows the protocol precisely, and yet tries to deduce as much information as he can. That is, a semihonest player is honest but curious, and when analyzing with respect to semi-honest players, secrecy requirements for the protocol are translated to requiring that these players can never deduce more information than what is allowed by the problem specifications. A malicious player is a player who has no obligation to follow the protocol. He can act in any way he likes, trying to discover pieces of information that he is not supposed to discover or to lead the other players to deducing wrong information. When analyzing with respect to malicious players, the secrecy requirement is much tighter, requiring that no matter how a player acts, he will not receive any more information than he is allowed. We make the following requirements of a secure multi-party protocol: Correctness If all players follow the protocol precisely, no player is led to accept a false result; if at least one player deviates from the protocol, 5

16 2.2. SECURITY OF MULTI-PARTY COMPUTATION PROTOCOLS 6 no requirement can be made about correctness, since the output may not be well defined. Privacy If all players follow the protocol precisely, each player must not learn anything more about the inputs of the other players than what is implied by the result and his own input. If some of the players deviate from the protocol, it is required that those players deviating from the protocol will not learn any information about the other players inputs, or will only learn information about the other players inputs that can be inferred by the result of the function calculation, for some valid values of the deviating players inputs. No requirement is made in the opposite direction to protect the privacy of the deviating players, as their inputs may not be well defined. The privacy requirement is sometimes referred to as the security requirement. Sometimes, an additional requirement of fairness is added, stating that all players that should receive the output, will indeed receive the output. In most protocols presented in this thesis, this requirement is irrelevant, as only one player receives the output. 6

17 Chapter 3 Oblivious Transfer 3.1 Definition and motivation We illustrate the fundamental concept of oblivious transfer by an example that appears in Cramer [5]. In that setting, there are two politicians that wish to find out if they agree on a certain matter. For example, such a matter could be a controversial law that has been proposed. Each of the two politicians either supports this law or opposes to it. They would like to know whether they both support it, but in such a way that if one of them opposes to it, he will not have any information about whether the other one supports it or not. This problem, and many others, can be solved using the primitive known as Chosen 1-out-of-2 Oblivious Transfer which we present here. The problem of Oblivious Transfer was first introduced by Rabin [17] as a problem concerning two parties, a sender and a receiver. In Rabin s setting, the sender has an input bit b, and the goal is that the receiver will receive this bit b with probability 1/2, and will receive nothing with probability 1/2, while the sender remains oblivious of which of the two events happened. Later, Even, Goldreich and Lempel [6] presented a different flavor of the problem, where the sender has two bits b 0 and b 1, and the receiver gets b 0 with probability 1/2 and b 1 with probability 1/2, while the sender remains oblivious of which of those two events actually happened. A slight variation on the version of Even et al., which is of the most interest to us, concerns the case where the receiver is the one who selects which bit to receive, and it is not determined by probabilities. I.e., the receiver has an input bit s, and at the end of the protocol the receiver gets b s and remains oblivious of b 1 s, and the sender remains oblivious of the 7

18 3.2. AN OVERVIEW OF RABIN S PAPER 8 value of s. We will refer to this version as Chosen 1-out-of-2 Oblivious Transfer, sometimes shortened to 1-out-of-2 OT or even simply OT. The problem is precisely defined as follows: Definition Chosen 1-out-of-2 Oblivious Transfer is a protocol involving two parties, a sender and a receiver, with the following input/output requirements: Input sender: Two bits, b 0 and b 1. receiver: A selection bit, s. Output sender: None. receiver: b s It is required that the sender gets no information about s and that the receiver gets no information about b 1 s. 3.2 An overview of Rabin s paper This section is a summary of Rabin s paper [17]. Alice has a password S A to open Bob s file and Bob has a password S B to open Alice s file. Can they set up a protocol to exchange the secrets without using a trusted third party and without a safe mechanism for the simultaneous exchange of messages? This problem is called Exchange of Secrets (EOS). We assume that if a wrong password is used, the file is erased. Hence, there can be no trial and error here. Therefore, for the sake of our discussion, we may assume that S A and S B are single bits. What if Bob gives Alice a wrong S S B in exchange to the correct S A? To prevent that, we may assume that Alice and Bob exchange signed messages (contracts), and that the files are prefixed with their access password in a way such that if the file is destroyed, this prefix still remains. That way, if Alice uses S S B and destroys her file, she may go to court to prove that Bob cheated, showing them S B that remained from the file, and the signed message, proving that Bob gave S as the password instead of S B. 8

19 3.2. AN OVERVIEW OF RABIN S PAPER 9 What if Alice gets S B but does not send to Bob the value of S A in return? Even if Bob goes to court she can say that she did send him the message and that she s willing to send it again. This way Alice gains a time advantage over Bob. It seems that this problem is not solvable! There must be a first message that allows Alice (or Bob) to recover her (his) message first and then she (he) can terminate the protocol. To this end, we need a protocol with the following property: from the fact that Alice knows S B, Bob can deduce S A. In order to succeed, we make one final assumption that if Alice uses S B to open her file then Bob gets notified of it, and vice versa. For the protocol, we assume a public-key cryptosystem. Let K A, K B be Alice s and Bob s public keys, respectively. The cryptosystem allows for both encryption and digital signatures. All messages transferred in the protocol are signed by their sender. We start by reviewing some basic facts in number theory that will be needed for the protocols presented here An overview of square root extraction in Z n We review here some well-known facts about modular square roots. We begin by considering square roots modulo a prime p and then turn our attention to square roots modulo numbers n that are products of two distinct primes, n = pq. Let p > 2 be prime and y = x 2 (mod p). Then y has two square roots: x and x = p x. When p = 3 (mod 4), extracting roots is very easy: y p+1 4 is one of its roots. Indeed, ) (y p+1 2 p+1 4 = y 2 = y p 1 2 y = x p 1 y = y, where the last equality follows from Fermat s little theorem. Extracting roots is also possible when p = 1 (mod 4), but the computation in that case is not as simple. Let n = pq be the product of two odd primes p and q, where p q, and let y = x 2 (mod n) where x Z n. Let a 1, a 2 be the square roots of y modulo p, and let b 1, b 2 be the square roots of y modulo q. Then x mod p is either a 1 or a 2, while x mod q is either b 1 or b 2. That means that there are four possible scenarios: x = a i (mod p) and x = b j (mod q) where i and j are taken from {1, 2}. Since gcd(p, q) = 1, we can use the Chi- 9

20 3.2. AN OVERVIEW OF RABIN S PAPER 10 nese Remainder Theorem (CRT) 1 in order to solve those equations. Solving those equations for each of the four possible pairs in the right hand side of the equations (a 1, b 1 ), (a 1, b 2 ), (a 2, b 1 ) and (a 2, b 2 ) we may recover all four distinct square roots of y modulo n. As seen above, extracting roots modulo n = pq is easy if we know the prime factors p and q. However, if we do not know the factorization of n = pq, extracting roots modulo n is at least as hard as factoring n. To see that, let x 1 and x 2 be two randomly selected roots of y modulo n. Let us assume, without loss of generality, that x 1 (a 1, b 1 ) in the sense that it is the solution of the CRT equations x = a 1 (mod p) and x = b 1 (mod q). Then: 1. If x 2 (a 1, b 1 ), then x 1 = x 2 (mod n) and therefore gcd(x 1 x 2, n) = n. 2. If x 2 (a 1, b 2 ), then x 1 = x 2 (mod p) but x 1 x 2 (mod q) and therefore gcd(x 1 x 2, n) = p. 3. If x 2 (a 2, b 1 ), then x 1 = x 2 (mod q) but x 1 x 2 (mod p) and therefore gcd(x 1 x 2, n) = q. 4. If x 2 (a 2, b 2 ), then x 1 x 2 (mod p) and x 1 x 2 (mod q) and therefore gcd(x 1 x 2, n) = 1. Assume an oracle that can extract roots modulo n (namely, given y Z n, the oracle returns one of its four square roots). We may use this oracle to find the factorization of n, using the following procedure: 1. Choose a random x modulo n. 2. Compute y = x 2 mod n. 3. Extract a root z = y mod n. 4. Compute d = gcd(z x, n). 5. If d {1, n}, return to step 1; otherwise, output d and n/d. Note that since the choice of x is random, the probability that d {1, n} is 1/2, independently of whether or not the oracle chooses a random root, since the oracle is only able to see y, and not x. Therefore, we conclude that 1 CRT for two equations: If gcd(p, q) = 1 then the set of two equations x = a (mod p) and x = b (mod q) has a unique solution modulo p q. That solution is given by x = arq + bsp, where r = q 1 (mod p) and s = p 1 (mod q). 10

21 3.2. AN OVERVIEW OF RABIN S PAPER 11 the probability of success in every iteration is independently 1/2 and hence, the expected number of iterations until success is 2. This implies that squaring modulo n = p q is a trapdoor one-way function: Squaring is easy, while extracting roots is hard, unless we know p and q, in which case we may extract roots modulo p and q and then use CRT to find the square root modulo n Rabin s OT setting The EOS protocol given by Rabin uses a newly defined primitive called Oblivious Transfer (OT). That protocol involves two parties - a sender and a receiver. The sender holds an RSA modulus, n = pq, p, q being two large distinct primes, and its factorization, while the receiver knows only the value of n. The protocol is used to obliviously transfer the factorization of n with probability 1/2. Namely, after the execution of the protocol, the receiver will know the factorization with probability 1/2, and the sender will not know whether or not the receiver got the factorization. OT is implemented as follows in order to allow Alice to obliviously transfer the factorization of n = p q to Bob: 1. Alice sends n to Bob 2. Bob randomly chooses x Z n, computes c = x 2 mod n, and sends c to Alice. 3. Alice, who knows the factors p, q of n, calculates an x such that x 2 = c mod n and sends this x to Bob. 4. Bob calculates d = gcd(x x, n). At this stage, d {p, q} with probability 1/2. Hence, Bob has the factorization of n with probability 1/2. Alice has no clue whether bob got the factorization or not, as she does not know Bob s x EOS implementation Rabin s solution of the EOS problem is as follows: 1. Let p A, q A be the factors of n A such that Alice s public key in the cryptosystem is based on n A while her private key depends on the factorization, p A and q A. Let p B, q B, n B be defined similarly for Bob. 2. Alice obliviously transfers the factorization of n A to Bob. 11

22 3.2. AN OVERVIEW OF RABIN S PAPER Bob obliviously transfers the factorization of n B to Alice. 4. Define ν B = 0 if Bob knows the factors of n A after the transfer, and ν B = 1 otherwise. Define ν A similarly as the state of Alice s knowledge of the factors of n B. 5. Bob computes ε B = S B ν B and sends ε B to Alice. Notice that knowing ε B doesn t allow Alice to access her file as she doesn t know ν B. 6. Alice similarly computes ε A and sends it to Bob. 7. Alice creates a random message and replaces its center bit with S A. We call this message m A. Alice encrypts m A using her public key to yield d A, and sends d A to Bob. 8. Bob acts similarly, creating m B and then d B, and sends d B to Alice. Obviously, if Alice got the factorization of Bob s public key (i.e., p B and q B ), she will be able to recover m B from d B, read the secret S B, and open her file. The same goes, of course, for Bob. In case both got the factorizations (an event that has probability 1/4), the secrets were shared successfully. In case neither of them got the factorizations (probability 1/4) the protocol, unfortunately, fails. In case one of them got the factorization and the other one did not (this is the interesting case, the probability of which is 1/2), let us assume without loss of generality that it was Alice who got the factorization. The moment she will use the secret to open the file, Bob will get notified of it, by our assumption. This enables Bob to deduce that ν A = 0, whence S A = ε A. Therefore, if Alice got her secret, so will Bob General OT protocol The OT protocol can be used to allow the oblivious transfer of a bit. Assume that Alice has a single bit b and Bob does not know it. The following protocol allows the transfer of that bit from Alice to Bob so that Bob receives it with probability 1/2, while Alice does not get any information regarding whether the transfer succeeded. Let n = p q, and let Encode n () be a method of encoding a bit, such that it can be encoded knowing n but it may be decoded only by knowing p and q. (For instance, the method that we used in Section 3.2.3, where we generated a random message, replaced its center bit with the bit to encode, and then encrypted it using RSA). The protocol goes as follows: 12

23 3.3. AN OVERVIEW OF EVEN, GOLDREICH AND LEMPEL S PAPER Alice has p, q, n = pq and a bit b. She sends to Bob n and Encode n (b). 2. Bob selects a random x Z n and sends to Alice y = x 2 mod n. 3. Alice computes a random square root z of y and sends it to Bob. 4. There is a chance of 1/2 that z x enables Bob to factor n and then find b by decoding Encode n (b). 3.3 An overview of Even, Goldreich and Lempel s paper Even, Goldreich and Lempel [6] present protocols for three problems, all sharing a common sub-protocol. This sub-protocol requires a new primitive that they defined, called 1-out-of-2 OT. We give a short description of the problems that this paper solves, and proceed to formally define 1-out-of-2 OT and their algorithm for its implementation. The problems discussed in the paper are: Contract Signing Alice and Bob have informally agreed upon a contract and wish to formally exchange binding signatures to it in a way that each party will have the other party s signature on the contract. In particular, Alice must not obtain Bob s signature without Bob obtaining hers, and vice-versa. Certified Mail A sender would like to send a mail message to a receiver and get a receipt regarding the send, such that the receiver can read the message if and only if the sender got his receipt. In addition, the receipt should certify the contents of the message. Coin Flipping Alice and Bob wish to mutually choose a random bit, while requiring that the outcome be random and unforgeable, and that Alice knows the outcome if and only if Bob knows the outcome Definition of 1-out-of-2 OT A 1-out-of-2 OT is a protocol involving two parties, a sender and a receiver. The sender has two messages, A 0 and A 1, and in the end of a proper execution, the following requirements should hold: The receiver should get A 0 with probability 1/2 and A 1 with probability 1/2. 13

24 3.3. AN OVERVIEW OF EVEN, GOLDREICH AND LEMPEL S PAPER 14 When the receiver gets A i he should have no information regarding A 1 i, in the following sense. Assume that after the execution the receiver is given the value of a predetermined function of A 1 i (e.g., the first 5 bits of it). Then computing A 1 i is not easier than in the case the receiver is given the value of that function without the execution of the OT. The sender does not have any information regarding which message did arrive to the receiver; i.e., the sender s a-posteriori probability for the receiver knowing A i is 1/2, i {0, 1} Implementation Consider a public-key cryptosystem I, consisting of a pair E I ( ), D I ( ) for encryption and decryption. Let MS I be the message space of the cryptosystem. Assume that there exist two operators:, : MS I MS I MS I, such that: For every x MS I, {x y y MS I } = MS I. For every y MS I, {x y x MS I } = MS I. For every x, y MS I, ((x y) y) = x. E.g., when using RSA as the cryptosystem, and will be addition and substraction mod n, respectively, when n is the modulus of the instantiation I. Let the sender be called S and the receiver R. The two messages held by the sender are A 0 and A 1. The protocol proceeds as follows: 1. S chooses an instantiation I of the relevant cryptosystem, and so has the operators E I ( ) and D I ( ). 2. S chooses two random messages m 0 and m S sends a description of E I, as well as m 0, m 1 to R. 4. R chooses a random bit r {0, 1} and a random value k MS I. 5. R computes q = E I (k) m r and sends q to S. 6. S computes, for i {0, 1}, k i = D I(q m i ). 7. S chooses a random s {0, 1} and sends [ s, A 0 k s, A 1 k 1 s] to R. 14

25 3.3. AN OVERVIEW OF EVEN, GOLDREICH AND LEMPEL S PAPER 15 Let us exemplify this protocol. Assume that R chose r = 0. Then q = E I (k) m 0, whence k 0 = k while k 1 reveals no information about k. There are now two cases to consider, according to the value that S chose for s: If s = 0 then in the final step R gets [0, A 0 k, A 1 k 1 }]. Since R knows k, he may recover A 0 from the second component of that message. On the other hand, as k 1 may be any value in MS I, the third component in the message reveals no information about A 1. If s = 1 then R gets [1, A 0 k 1, A 1 k}]. Hence, in this case R gets A 1 but no information about A Analysis We first note that k = k r. Hence, as k was chosen by R, R knows k r. Consequently, if s = r, then R may recover A 0 while if s r, R may recover A 1. So in general we can say that R knows A s r where is addition modulo 2. We proceed to show that no further information is disclosed to R other than A s r. The value of k 1 r is given by k 1 r = D I(q ) where q = (E I (k) m r ) m 1 r is known to R. Using reasonable assumptions on the cryptosystem, we deduce that R cannot distinguish k 1 r from a random value. Hence, in the final stage of transfer, the only useful information sent to R is A s r k r, while the other part of the message, A 1 (s r) k 1 r, completely hides the value of A 1 (s r), in view of the properties of the operator. It is left to show that S cannot determine which of the two messages was received by R. This is true because the only information that S gets from R is q = E I (k) m r. As k is generated randomly over MS I and E I is a permutation operator, E I (k) is a perfect masking value, so q does not reveal anything at all about r or m r. Hence, S gets no information about which of the two messages was transferred A different OT protocol We note that the fact that s is a random bit chosen by S and unknown to R is used so that the latter will have no control over which of the two messages he receives. Next, let us examine what happens if the two parties agree that s = 0. In the resulting protocol, R gets to choose which of the two messages he will receive. Indeed, since in the original protocol R got the value of A s r, where s was chosen by S and r by R (whence both parties were responsible to the selection of the message that would be revealed to 15

26 OUT-OF-2 OT USING RSA 16 R), here R will always get the value of A r. Hence, by selecting r, R can decide which of the two messages he will get (while S remains oblivious of that selection). Hence, what we get here is another version of 1-out-of-2 OT, which we call Chosen 1-out-of-2 OT out-of-2 OT using RSA We have shown in Section the protocol given by Even et al. [6] for their version of OT, where the selection bit is random, and not chosen by the receiver. Their protocol can use any public-key cryptosystem that satisfies a few requirements. The RSA cryptosystem is one that satisfies those requirements. Cramer [5] gives a protocol for chosen 1-out-of-2 OT that specifically uses RSA, and is therefore defined more simply. It is this protocol that we present here. Definition (OT based on RSA) 1. The sender generates a random RSA key (n, p, q, e, d) and sends the public part (n, e) to the receiver. 2. The receiver chooses a random plaintext m and encrypts it using the public key. He then defines a pair of ciphertexts (c 0, c 1 ) as follows: The receiver sets c s to be the result of encrypting m, and c 1 s to be a random integer modulo n, where s is the selection bit. He then sends (c 0, c 1 ) to the sender. 3. The sender, knowing the secret part of the RSA key, decrypts c 0 and c 1. Let r 0 and r 1 be the least-significant bits of the decryptions of c 0 and c 1, respectively. Then the sender, having his input bits b 0 and b 1, computes b 0 = b 0 r 0 and b 1 = b 1 r 1, and sends (b 0, b 1 ) to the receiver. 4. The receiver recovers b s by computing b s r s. Assuming both players are semi-honest, this protocol obviously achieves correctness, i.e., at the end of an execution the receiver learns the correct value of b s. Proposition The protocol presented in Definition preserves privacy for semi-honest players. Namely, assuming that both players are semihonest, the following claims hold: 16

27 OUT-OF-2 OT USING RSA 17 receiver s privacy: The sender gets no information regarding the bit s. sender s privacy: The receiver gets no information regarding the bit b 1 s. Proof: For the receiver s privacy, note that the only part where the sender gets any information during the protocol is at stage 2, in which he gets (c 0, c 1 ). Recovering s from (c 0, c 1 ) is equivalent to distinguishing between a random integer modulo n and the RSA encryption of a random integer modulo n. Since the receiver chooses m uniformly at random from Z n, c s also has a uniform random distribution over Z n (as for any given encryption key, RSA is a permutation of Z n ). Also c 1 s is chosen uniformly at random from Z n. Hence, the distributions that govern the selection of c 0 and c 1 are the same, and, consequently, they are indistinguishable. For the sender s privacy, note that the only information the receiver receives that depends on b 0 and b 1 is the pair (b 0, b 1 ) so that the only way for the receiver to recover b 1 s is to use b 1 s. Since b 1 s is a masking of b 1 s using the bit r 1 s, the receiver must know r 1 s in order to accomplish this task. Recall that r 1 s is the least significant bit of a decryption of the random number c 1 s. Alexi, Chor, Goldreich and Schnorr [1] proved that in an RSA encryption setting, when the ciphertext is known but the plaintext is not, then finding the least-significant bit of the plaintext is as hard as finding the entire plaintext, i.e., as hard as breaking RSA (this property is known as the hard-core bit property). Since the ciphertext is a random number, then the corresponding plaintext is obviously unknown, and since we assume the receiver cannot break RSA, we deduce that he cannot know r 1 s. It should be noted that the above proof relies heavily on the assumption that the receiver is semi-honest. A malicious receiver would deviate from the protocol by chosing c 1 s as an encryption of another randomly selected plaintext m. That way, he maintains his own privacy, as both c 0 and c 1 will have the same uniform distribution over Z n, but he will know both r 0 and r 1, whence he can recover both b 0 and b 1. There are solutions for OT that are secure even against malicious parties. The first such solution was presented by Fischer, Micali and Rackoff [8]. Later, Goldreich, Micali and Wigderson [12] gave a general scheme for making an OT protocol secure against malicious parties. Their techniques rely on several primitives, including trapdoor one-way permutations, commitment schemes, and mutual randomness. 17

28 3.5. GENERALIZATIONS OF OT Generalizations of OT So far we have discussed a setting in which the sender holds two values and the receiver chooses to receive one of them. Now consider the case where the sender has N > 2 values and the receiver chooses to receive one of them. This problem is called 1-out-of-N OT. Further, the receiver may choose to receive k of the N values, assuming of course that k < N. This problem is called k-out-of-n OT. The idea of 1-out-of-N OT was originally introduced by Brassard, Crépeau and Robert [3] who give information-theoretic reductions to construct 1-outof-N OT protocols from N 1 invocations of a 1-out-of-2 OT protocol. We will restrict our attention to more recent and more efficient implementations given by Naor and Pinkas [15], who also give a construction of k-out-of-n OT. Their constructions further use two other primitives, string OT and pseudorandom functions, which we will also present here String OT The problem of Chosen 1-out-of-2 String Oblivious Transfer is very similar to the regular OT problem, the only difference being that the sender s inputs are no longer single bits but bit-strings of length n, for some n. I.e., the sender has two inputs x 0, x 1 which are both bit strings of length n, and the receiver has a bit s. At the end of the protocol, the receiver learns the string x s and gets no information about x 1 s and the sender gets no information about s. Brassard, Crépeau, and Santha [4] give an efficient construction of string OT using regular bit OT Pseudorandom functions A pseudorandom function is a function that is indistinguishable from a truly random function by a probabilistic polynomial-time adversary that is allowed only adaptive black-box accesses to it 2. A working assumption of [15] is that strong block ciphers (such as DES or AES) or keyed one way hash functions (such as HMAC) can be used to produce efficient key-dependent pseudorandom functions. This efficiency 2 The exact definition of pseudorandomness speaks of a family of functions {F n} n N being pseudorandom when no probabilistic polynomial-time (polynomial in n) adversary with adaptive oracle access can distinguish between it and the uniform function family 18

29 3.5. GENERALIZATIONS OF OT 19 is relative to expensive operations such as the ones involved in public-key cryptography. The pseudorandom functions used in the 1-out-of-N and k-out-of-n protocols presented herein are required to be part of a keyed family, i.e., a family of pseudorandom functions that are indexed by a key K, {F K : {0, 1} l {0, 1} m K {0, 1} t }. Note that the 1-out-of-2 OT s in the protocols will be string-ot protocols (Section 3.5.1) that are performed on strings of length t, since the transmitted strings are used as keys of F First 1-out-of-N OT protocol The first protocol presented reduces 1-out-of-N OT to N log N evaluations of a pseudorandom function, and log N invocations of the 1-out-of-2 OT protocol (as opposed to N 1 invocations in the information-theoretic reduction). The communications overhead involves the sender sending N encryptions to the receiver. The sender s input is X 0, X 1,..., X N 1 where each X I {0, 1} m and N = 2 l. The receiver would like to learn X I for some 0 I N 1. Protocol 1. (1-out-of-N OT) 1. The sender prepares 2l random keys (K 0 1, K 1 1), (K 0 2, K 1 2),..., (K 0 l, K1 l ) where each Kj b, 1 j l and b {0, 1}, is a t-bit key to the pseudorandom function F K. 2. The sender computes for each input X I a value Y I : Y I = X I l j=1 where i 1, i 2,..., i l are the bits of I. F i K j (I) j 3. For 1 j l, the sender and receiver engage in a 1-out-of-2 string-ot on the strings Kj 0 and K1 j. If the receiver would like to learn X I, he should choose to learn K i j j in each of the invocations, where i j is again the j-th bit of I. 19

30 3.5. GENERALIZATIONS OF OT The sender sends the strings Y 0, Y 1,..., Y N 1 to the receiver. 5. The receiver reconstructs X I from Y I : X I = Y I l j=1 F i K j (I) j Clearly, Protocol 1 is a 1-out-of-N OT protocol, since it lets the receiver learn the value of one of the inputs according to his choice. As for the security of the protocol, it enjoys both receiver and sender security, provided that the 1-out-of-2 protocol on which it relies is secure and that F is indeed pseudorandom, as stated in the following two lemmas. Lemma If the receiver s privacy is not preserved in Protocol 1, then it is not preserved in the 1-out-of-2 OT protocol either. Lemma If the sender s privacy is not preserved in Protocol 1, then either the 1-out-of-2 OT protocol does not provide the sender s privacy or the function F is not pseudorandom. The computational complexity of Protocol 1 is N log N evaluations of the pseudorandom function F K in the preprocessing stage (step 2), and log N invocations of the 1-out-of-2 OT protocol in the transfer stage. The communication overhead involves the sender sending to the receiver N encryptions, one of each of his input items A second, recursive, 1-out-of-N OT protocol The protocol presented in this section reduces 1-out-of-N OT to two invocations of a 1-out-of- N OT. These invocations can be implemented using the protocol in Section 3.5.3, or, alternatively, by recursively applying it until reaching 1-out-of-2 OTs. As before, the sender s input is X 0, X 1,..., X N 1 where each X I {0, 1} m and N = 2 l. The receiver would like to learn X I for some 0 I N 1. Protocol 2. (1-out-of-N OT) 1. The sender prepares two sets of randomly chosen keys: R i and C j, 0 i, j N 1, each of these keys is t-bits long. 20

31 3.5. GENERALIZATIONS OF OT The sender arranges the N inputs, X 0,..., X N 1 in a N N matrix, i.e., each input is indexed now as X i,j, where 0 i, j N 1. From this point onwards, this is the indexing used, by both sender and receiver. 3. The sender next computes, for each X i,j a respective encryption Y i,j : Y i,j = X i,j F Ri (j) F Cj (i) 4. The sender and receiver engage in a 1-out-of- N OT protocol on R 0, R 1,..., R N 1. If the receiver would like to learn X i,j he should pick R i. 5. The sender and receiver engage in a 1-out-of- N OT protocol on C 0, C 1,..., C N 1. If the receiver would like to learn X i,j he should pick C j. 6. The sender sends all the Y i,j s to the receiver. 7. The receiver reconstructs X i,j from the Y i,j s: X i,j = Y i,j F Ri (j) F Cj (i) The complexity of this algorithm, in terms of pseudorandom function computations, 1-out-of-2 OT protocol invocation, and communication, is summarized below: Two invocations of the pseudorandom function for each 0 i, j N 1, namely, 2N invocations altogether. The pseudorandom function here is F K : {0, 1} l 1 {0, 1} m, where K {0, 1} t. 2 N log N = N log N invocations of the pseudorandom function for the two applications of the 1-out-of- N OTs. The pseudorandom function here is F K : {0, 1} l 1 {0, 1} t, where K {0, 1} t. 2 log N = log N invocations of the 1-out-of-2 OT protocol. 2 N encryptions are sent from the sender to the receiver in the course of the two 1-out-of- N OTs. In addition, the sender sends N encryptions in Step 6. 21

32 3.5. GENERALIZATIONS OF OT A protocol for k-out-of-n OT A k-out-of-n OT protocol may be implemented by k repetitions of the 1- out-of-n OT protocol. However, it is possible to do it with a single protocol, as described below, that is much more efficient. In addition, repeating the 1- out-of-n OT protocol k times invokes the problem of consistency - the sender might not be consistent in the k rounds and thus induce an output at the receiver s end that is distinguishable from the receiver s output in the ideal implementation. This problem may be solved by the use of commitments. The protocol that we describe below avoids that problem. The weakness of this protocol is that it works only for small values of k, specifically, for k N 1/4 ε. The sender s input is X 0, X 1,..., X N 1 where N = 2 l, and the receiver would like to learn X I1, X I2,..., X Ik. Let W be some integer, that will be specified later on. Protocol 3. (k-out-of-n OT) 1. Repeat for j = 1 to W (a) The sender chooses two random sets of N keys each: R j 0, Rj 1,..., Rj N 1 and C j 0, Cj 1,..., Cj N 1. (b) The sender chooses a random permutation σ j on {0,..., N 1}. For any 0 I N 1, σ j R (I) stands for the first l/2 bits in σ j (I) and σ j C (I) stands for the remaining l/2 bits in σj (I). The sender arranges the permuted values X σ j (0),..., X σ j (N 1) in a N N matrix, so that input XI is now indexed X σ j R (I),σj (I). C (c) The sender sends σ j to the receiver. (d) The sender and receiver engage in k rounds of 1-out-of- N OT to learn the values of R j σ j R (I h), 1 h k, out of Rj 0, Rj 1,..., Rj N 1. (e) Similarly, the sender and receiver engage in k rounds of 1-outof- N OT to learn the values of C j, 1 h k, out of σ j C (I h) C j 0, Cj 1,..., Cj N The sender computes for each X I a corresponding Y I, ( ) W Y I = X I F R j (I) F C j (I), 0 I N 1, σ j R (I) σ j C (I) j=1 and sends all these Y I to the receiver. 22

33 3.5. GENERALIZATIONS OF OT The receiver reconstructs X Ih, 1 h k, through X Ih = Y Ih ( W j=1 F R j σ j R (I h ) (I h ) F C j σ j C (I h ) (I h ) This protocol preserves the receiver s privacy since the OT protocols that are run have this property. As for the sender s privacy, it is provided with probability 1 δ, if k N 1/4 ε and W = w + 2 where w > log(1/δ)/(2ε log N) [15, Theorem 2.5]. The computational complexity overhead consists of 2W N applications of a pseudo-random function for the initialization, additional 2W k N applications of a pseudo-random function for initializing the 1-out-of- N OT protocols, and W k log N invocations of 1-out-of-2 OT for the actual transfers [15]. ) 23

34 Chapter 4 Oblivious Evaluation of Univariate Polynomials In this chapter we summarize the paper Oblivious Polynomial Evaluation by Moni Naor and Benny Pinkas [16]. That paper describes and studies a protocol for the oblivious evaluation of a univariate polynomial over a finite field F. We review the protocol, and study its correctness, security and complexity properties. 4.1 Problem specification The problem of oblivious polynomial evaluation is a multi-party computation problem with two players, so called sender and receiver. The problem is defined as follows: Definition Oblivious Polynomial Evaluation is a protocol involving two parties, the sender and the receiver, with the following input/output specifications: Input sender: A polynomial P (x) = d i=0 b ix i over a finite field F. receiver: A value α F. Output sender: None. 24

35 4.2. INTRACTABILITY ASSUMPTIONS 25 receiver: P (α). It is required that the sender gets no information about α and that the receiver gets no information about the polynomial P other than what is implied by the value of P (α). Note that in the above definition of the problem, only the receiver receives the output. However, any protocol for the solution of the above problem, may be translated to a protocol where both players receive the output. We introduce two intractability assumptions that the OPE protocols rely on. We then give two protocols for OPE, each one based on a different intractability assumption. We then look at malicious players, and what modifications are needed to the protocol in order to remain secure against them. Finally, we present some applications of OPE. 4.2 Intractability assumptions The protocols for oblivious polynomial evaluation employ two intractability assumptions based on the polynomial reconstruction and polynomial list reconstruction problems. Definition (Polynomial reconstruction problem) Input Integers k and t, and n points {(x i, y i )} n i=1, where x i, y i F. Output A univariate polynomial P of degree at most k such that P (x i ) = y i for at least t of those n points. Definition (Polynomial list reconstruction problem) Input Integers k and t, and n points {(x i, y i )} n i=1, where x i, y i F. Output All univariate polynomials P of degree at most k such that P (x i ) = y i for at least t of those n points. Note that the only difference between the two problems is that the polynomial reconstruction problem requires finding any one of the satisfying polynomials, while the polynomial list reconstruction problem requires finding all of them. These problems give rise to two intractability assumptions that play an essential role in the design of our protocol. 25

Generalized Oblivious Transfer by Secret Sharing

Generalized Oblivious Transfer by Secret Sharing Generalized Oblivious Transfer by Secret Sharing Tamir Tassa Abstract The notion of Generalized Oblivious Transfer (GOT) was introduced by Ishai and Kushilevitz in [12]. In a GOT protocol, Alice holds

More information

Introduction to Cryptography Lecture 13

Introduction to Cryptography Lecture 13 Introduction to Cryptography Lecture 13 Benny Pinkas June 5, 2011 Introduction to Cryptography, Benny Pinkas page 1 Electronic cash June 5, 2011 Introduction to Cryptography, Benny Pinkas page 2 Simple

More information

Introduction to Modern Cryptography Lecture 11

Introduction to Modern Cryptography Lecture 11 Introduction to Modern Cryptography Lecture 11 January 10, 2017 Instructor: Benny Chor Teaching Assistant: Orit Moskovich School of Computer Science Tel-Aviv University Fall Semester, 2016 17 Tuesday 12:00

More information

Multiparty Computation

Multiparty Computation Multiparty Computation Principle There is a (randomized) function f : ({0, 1} l ) n ({0, 1} l ) n. There are n parties, P 1,...,P n. Some of them may be adversarial. Two forms of adversarial behaviour:

More information

Lecture 14: Secure Multiparty Computation

Lecture 14: Secure Multiparty Computation 600.641 Special Topics in Theoretical Cryptography 3/20/2007 Lecture 14: Secure Multiparty Computation Instructor: Susan Hohenberger Scribe: Adam McKibben 1 Overview Suppose a group of people want to determine

More information

1 Secure two-party computation

1 Secure two-party computation CSCI 5440: Cryptography Lecture 7 The Chinese University of Hong Kong, Spring 2018 26 and 27 February 2018 In the first half of the course we covered the basic cryptographic primitives that enable secure

More information

CPSC 467b: Cryptography and Computer Security

CPSC 467b: Cryptography and Computer Security CPSC 467b: Cryptography and Computer Security Michael J. Fischer Lecture 10 February 19, 2013 CPSC 467b, Lecture 10 1/45 Primality Tests Strong primality tests Weak tests of compositeness Reformulation

More information

Lecture 1: Introduction to Public key cryptography

Lecture 1: Introduction to Public key cryptography Lecture 1: Introduction to Public key cryptography Thomas Johansson T. Johansson (Lund University) 1 / 44 Key distribution Symmetric key cryptography: Alice and Bob share a common secret key. Some means

More information

CS 282A/MATH 209A: Foundations of Cryptography Prof. Rafail Ostrovsky. Lecture 10

CS 282A/MATH 209A: Foundations of Cryptography Prof. Rafail Ostrovsky. Lecture 10 CS 282A/MATH 209A: Foundations of Cryptography Prof. Rafail Ostrovsky Lecture 10 Lecture date: 14 and 16 of March, 2005 Scribe: Ruzan Shahinian, Tim Hu 1 Oblivious Transfer 1.1 Rabin Oblivious Transfer

More information

CPSC 467b: Cryptography and Computer Security

CPSC 467b: Cryptography and Computer Security Outline Authentication CPSC 467b: Cryptography and Computer Security Lecture 18 Michael J. Fischer Department of Computer Science Yale University March 29, 2010 Michael J. Fischer CPSC 467b, Lecture 18

More information

Public-Key Cryptosystems CHAPTER 4

Public-Key Cryptosystems CHAPTER 4 Public-Key Cryptosystems CHAPTER 4 Introduction How to distribute the cryptographic keys? Naïve Solution Naïve Solution Give every user P i a separate random key K ij to communicate with every P j. Disadvantage:

More information

1 Recommended Reading 1. 2 Public Key/Private Key Cryptography Overview RSA Algorithm... 2

1 Recommended Reading 1. 2 Public Key/Private Key Cryptography Overview RSA Algorithm... 2 Contents 1 Recommended Reading 1 2 Public Key/Private Key Cryptography 1 2.1 Overview............................................. 1 2.2 RSA Algorithm.......................................... 2 3 A Number

More information

YALE UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE

YALE UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE YALE UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE CPSC 467a: Cryptography and Computer Security Notes 23 (rev. 1) Professor M. J. Fischer November 29, 2005 1 Oblivious Transfer Lecture Notes 23 In the locked

More information

Parallel Coin-Tossing and Constant-Round Secure Two-Party Computation

Parallel Coin-Tossing and Constant-Round Secure Two-Party Computation Parallel Coin-Tossing and Constant-Round Secure Two-Party Computation Yehuda Lindell Dept. of Computer Science and Applied Math. The Weizmann Institute of Science Rehovot 76100, Israel. lindell@wisdom.weizmann.ac.il

More information

Lecture Notes, Week 6

Lecture Notes, Week 6 YALE UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE CPSC 467b: Cryptography and Computer Security Week 6 (rev. 3) Professor M. J. Fischer February 15 & 17, 2005 1 RSA Security Lecture Notes, Week 6 Several

More information

Introduction to Modern Cryptography. Benny Chor

Introduction to Modern Cryptography. Benny Chor Introduction to Modern Cryptography Benny Chor RSA Public Key Encryption Factoring Algorithms Lecture 7 Tel-Aviv University Revised March 1st, 2008 Reminder: The Prime Number Theorem Let π(x) denote the

More information

1 Number Theory Basics

1 Number Theory Basics ECS 289M (Franklin), Winter 2010, Crypto Review 1 Number Theory Basics This section has some basic facts about number theory, mostly taken (or adapted) from Dan Boneh s number theory fact sheets for his

More information

CPSC 467: Cryptography and Computer Security

CPSC 467: Cryptography and Computer Security CPSC 467: Cryptography and Computer Security Michael J. Fischer Lecture 11 October 7, 2015 CPSC 467, Lecture 11 1/37 Digital Signature Algorithms Signatures from commutative cryptosystems Signatures from

More information

CPSC 467b: Cryptography and Computer Security

CPSC 467b: Cryptography and Computer Security CPSC 467b: Cryptography and Computer Security Michael J. Fischer Lecture 11 February 21, 2013 CPSC 467b, Lecture 11 1/27 Discrete Logarithm Diffie-Hellman Key Exchange ElGamal Key Agreement Primitive Roots

More information

Introduction to Modern Cryptography. Benny Chor

Introduction to Modern Cryptography. Benny Chor Introduction to Modern Cryptography Benny Chor Hard Core Bits Coin Flipping Over the Phone Zero Knowledge Lecture 10 (version 1.1) Tel-Aviv University 18 March 2008. Slightly revised March 19. Hard Core

More information

Lecture 22. We first consider some constructions of standard commitment schemes. 2.1 Constructions Based on One-Way (Trapdoor) Permutations

Lecture 22. We first consider some constructions of standard commitment schemes. 2.1 Constructions Based on One-Way (Trapdoor) Permutations CMSC 858K Advanced Topics in Cryptography April 20, 2004 Lecturer: Jonathan Katz Lecture 22 Scribe(s): agaraj Anthapadmanabhan, Ji Sun Shin 1 Introduction to These otes In the previous lectures, we saw

More information

Public-Key Encryption: ElGamal, RSA, Rabin

Public-Key Encryption: ElGamal, RSA, Rabin Public-Key Encryption: ElGamal, RSA, Rabin Introduction to Modern Cryptography Benny Applebaum Tel-Aviv University Fall Semester, 2011 12 Public-Key Encryption Syntax Encryption algorithm: E. Decryption

More information

Question: Total Points: Score:

Question: Total Points: Score: University of California, Irvine COMPSCI 134: Elements of Cryptography and Computer and Network Security Midterm Exam (Fall 2016) Duration: 90 minutes November 2, 2016, 7pm-8:30pm Name (First, Last): Please

More information

CPSC 467b: Cryptography and Computer Security

CPSC 467b: Cryptography and Computer Security CPSC 467b: Cryptography and Computer Security Michael J. Fischer Lecture 9 February 6, 2012 CPSC 467b, Lecture 9 1/53 Euler s Theorem Generating RSA Modulus Finding primes by guess and check Density of

More information

Public Key Encryption

Public Key Encryption Public Key Encryption KG October 17, 2017 Contents 1 Introduction 1 2 Public Key Encryption 2 3 Schemes Based on Diffie-Hellman 3 3.1 ElGamal.................................... 5 4 RSA 7 4.1 Preliminaries.................................

More information

Multi-Party Computation with Conversion of Secret Sharing

Multi-Party Computation with Conversion of Secret Sharing Multi-Party Computation with Conversion of Secret Sharing Josef Pieprzyk joint work with Hossein Ghodosi and Ron Steinfeld NTU, Singapore, September 2011 1/ 33 Road Map Introduction Background Our Contribution

More information

Theory of Computation Chapter 12: Cryptography

Theory of Computation Chapter 12: Cryptography Theory of Computation Chapter 12: Cryptography Guan-Shieng Huang Dec. 20, 2006 0-0 Introduction Alice wants to communicate with Bob secretely. x Alice Bob John Alice y=e(e,x) y Bob y??? John Assumption

More information

Lecture 10: Zero-Knowledge Proofs

Lecture 10: Zero-Knowledge Proofs Lecture 10: Zero-Knowledge Proofs Introduction to Modern Cryptography Benny Applebaum Tel-Aviv University Fall Semester, 2011 12 Some of these slides are based on note by Boaz Barak. Quo vadis? Eo Romam

More information

Oblivious Transfer and Secure Multi-Party Computation With Malicious Parties

Oblivious Transfer and Secure Multi-Party Computation With Malicious Parties CS 380S Oblivious Transfer and Secure Multi-Party Computation With Malicious Parties Vitaly Shmatikov slide 1 Reminder: Oblivious Transfer b 0, b 1 i = 0 or 1 A b i B A inputs two bits, B inputs the index

More information

Computer Science A Cryptography and Data Security. Claude Crépeau

Computer Science A Cryptography and Data Security. Claude Crépeau Computer Science 308-547A Cryptography and Data Security Claude Crépeau These notes are, largely, transcriptions by Anton Stiglic of class notes from the former course Cryptography and Data Security (308-647A)

More information

An Introduction to Probabilistic Encryption

An Introduction to Probabilistic Encryption Osječki matematički list 6(2006), 37 44 37 An Introduction to Probabilistic Encryption Georg J. Fuchsbauer Abstract. An introduction to probabilistic encryption is given, presenting the first probabilistic

More information

Lecture th January 2009 Fall 2008 Scribes: D. Widder, E. Widder Today s lecture topics

Lecture th January 2009 Fall 2008 Scribes: D. Widder, E. Widder Today s lecture topics 0368.4162: Introduction to Cryptography Ran Canetti Lecture 11 12th January 2009 Fall 2008 Scribes: D. Widder, E. Widder Today s lecture topics Introduction to cryptographic protocols Commitments 1 Cryptographic

More information

ECS 189A Final Cryptography Spring 2011

ECS 189A Final Cryptography Spring 2011 ECS 127: Cryptography Handout F UC Davis Phillip Rogaway June 9, 2011 ECS 189A Final Cryptography Spring 2011 Hints for success: Good luck on the exam. I don t think it s all that hard (I do believe I

More information

Error-Tolerant Combiners for Oblivious Primitives

Error-Tolerant Combiners for Oblivious Primitives Error-Tolerant Combiners for Oblivious Primitives Bartosz Przydatek 1 and Jürg Wullschleger 2 1 Google Switzerland, (Zurich, Switzerland) przydatek@google.com 2 University of Bristol (Bristol, United Kingdom)

More information

Introduction to Modern Cryptography. Benny Chor

Introduction to Modern Cryptography. Benny Chor Introduction to Modern Cryptography Benny Chor RSA: Review and Properties Factoring Algorithms Trapdoor One Way Functions PKC Based on Discrete Logs (Elgamal) Signature Schemes Lecture 8 Tel-Aviv University

More information

Lectures One Way Permutations, Goldreich Levin Theorem, Commitments

Lectures One Way Permutations, Goldreich Levin Theorem, Commitments Lectures 11 12 - One Way Permutations, Goldreich Levin Theorem, Commitments Boaz Barak March 10, 2010 From time immemorial, humanity has gotten frequent, often cruel, reminders that many things are easier

More information

1 What are Physical Attacks. 2 Physical Attacks on RSA. Today:

1 What are Physical Attacks. 2 Physical Attacks on RSA. Today: Today: Introduction to the class. Examples of concrete physical attacks on RSA A computational approach to cryptography Pseudorandomness 1 What are Physical Attacks Tampering/Leakage attacks Issue of how

More information

Theme : Cryptography. Instructor : Prof. C Pandu Rangan. Speaker : Arun Moorthy CS

Theme : Cryptography. Instructor : Prof. C Pandu Rangan. Speaker : Arun Moorthy CS 1 C Theme : Cryptography Instructor : Prof. C Pandu Rangan Speaker : Arun Moorthy 93115 CS 2 RSA Cryptosystem Outline of the Talk! Introduction to RSA! Working of the RSA system and associated terminology!

More information

14 Diffie-Hellman Key Agreement

14 Diffie-Hellman Key Agreement 14 Diffie-Hellman Key Agreement 14.1 Cyclic Groups Definition 14.1 Example Let д Z n. Define д n = {д i % n i Z}, the set of all powers of д reduced mod n. Then д is called a generator of д n, and д n

More information

U.C. Berkeley CS276: Cryptography Luca Trevisan February 5, Notes for Lecture 6

U.C. Berkeley CS276: Cryptography Luca Trevisan February 5, Notes for Lecture 6 U.C. Berkeley CS276: Cryptography Handout N6 Luca Trevisan February 5, 2009 Notes for Lecture 6 Scribed by Ian Haken, posted February 8, 2009 Summary The encryption scheme we saw last time, based on pseudorandom

More information

Circuit Complexity. Circuit complexity is based on boolean circuits instead of Turing machines.

Circuit Complexity. Circuit complexity is based on boolean circuits instead of Turing machines. Circuit Complexity Circuit complexity is based on boolean circuits instead of Turing machines. A boolean circuit with n inputs computes a boolean function of n variables. Now, identify true/1 with yes

More information

Introduction to Cryptography. Lecture 8

Introduction to Cryptography. Lecture 8 Introduction to Cryptography Lecture 8 Benny Pinkas page 1 1 Groups we will use Multiplication modulo a prime number p (G, ) = ({1,2,,p-1}, ) E.g., Z 7* = ( {1,2,3,4,5,6}, ) Z p * Z N * Multiplication

More information

Lectures 1&2: Introduction to Secure Computation, Yao s and GMW Protocols

Lectures 1&2: Introduction to Secure Computation, Yao s and GMW Protocols CS 294 Secure Computation January 19, 2016 Lectures 1&2: Introduction to Secure Computation, Yao s and GMW Protocols Instructor: Sanjam Garg Scribe: Pratyush Mishra 1 Introduction Secure multiparty computation

More information

CPSC 467: Cryptography and Computer Security

CPSC 467: Cryptography and Computer Security CPSC 467: Cryptography and Computer Security Michael J. Fischer Lecture 18 November 6, 2017 CPSC 467, Lecture 18 1/52 Authentication While Preventing Impersonation Challenge-response authentication protocols

More information

Pseudorandom Generators

Pseudorandom Generators Principles of Construction and Usage of Pseudorandom Generators Alexander Vakhitov June 13, 2005 Abstract In this report we try to talk about the main concepts and tools needed in pseudorandom generators

More information

Lecture 38: Secure Multi-party Computation MPC

Lecture 38: Secure Multi-party Computation MPC Lecture 38: Secure Multi-party Computation Problem Statement I Suppose Alice has private input x, and Bob has private input y Alice and Bob are interested in computing z = f (x, y) such that each party

More information

Secure Computation. Unconditionally Secure Multi- Party Computation

Secure Computation. Unconditionally Secure Multi- Party Computation Secure Computation Unconditionally Secure Multi- Party Computation Benny Pinkas page 1 Overview Completeness theorems for non-cryptographic faulttolerant distributed computation M. Ben-Or, S. Goldwasser,

More information

Lecture 3,4: Multiparty Computation

Lecture 3,4: Multiparty Computation CS 276 Cryptography January 26/28, 2016 Lecture 3,4: Multiparty Computation Instructor: Sanjam Garg Scribe: Joseph Hui 1 Constant-Round Multiparty Computation Last time we considered the GMW protocol,

More information

Benny Pinkas. Winter School on Secure Computation and Efficiency Bar-Ilan University, Israel 30/1/2011-1/2/2011

Benny Pinkas. Winter School on Secure Computation and Efficiency Bar-Ilan University, Israel 30/1/2011-1/2/2011 Winter School on Bar-Ilan University, Israel 30/1/2011-1/2/2011 Bar-Ilan University Benny Pinkas Bar-Ilan University 1 What is N? Bar-Ilan University 2 Completeness theorems for non-cryptographic fault-tolerant

More information

Additive Conditional Disclosure of Secrets

Additive Conditional Disclosure of Secrets Additive Conditional Disclosure of Secrets Sven Laur swen@math.ut.ee Helsinki University of Technology Motivation Consider standard two-party computation protocol. x f 1 (x, y) m 1 m2 m r 1 mr f 2 (x,

More information

THE CUBIC PUBLIC-KEY TRANSFORMATION*

THE CUBIC PUBLIC-KEY TRANSFORMATION* CIRCUITS SYSTEMS SIGNAL PROCESSING c Birkhäuser Boston (2007) VOL. 26, NO. 3, 2007, PP. 353 359 DOI: 10.1007/s00034-006-0309-x THE CUBIC PUBLIC-KEY TRANSFORMATION* Subhash Kak 1 Abstract. This note proposes

More information

Lecture 18 - Secret Sharing, Visual Cryptography, Distributed Signatures

Lecture 18 - Secret Sharing, Visual Cryptography, Distributed Signatures Lecture 18 - Secret Sharing, Visual Cryptography, Distributed Signatures Boaz Barak November 27, 2007 Quick review of homework 7 Existence of a CPA-secure public key encryption scheme such that oracle

More information

CPSC 467: Cryptography and Computer Security

CPSC 467: Cryptography and Computer Security CPSC 467: Cryptography and Computer Security Michael J. Fischer Lecture 19 November 8, 2017 CPSC 467, Lecture 19 1/37 Zero Knowledge Interactive Proofs (ZKIP) ZKIP for graph isomorphism Feige-Fiat-Shamir

More information

Permutation Generators Based on Unbalanced Feistel Network: Analysis of the Conditions of Pseudorandomness 1

Permutation Generators Based on Unbalanced Feistel Network: Analysis of the Conditions of Pseudorandomness 1 Permutation Generators Based on Unbalanced Feistel Network: Analysis of the Conditions of Pseudorandomness 1 Kwangsu Lee A Thesis for the Degree of Master of Science Division of Computer Science, Department

More information

Generation of Shared RSA Keys by Two Parties

Generation of Shared RSA Keys by Two Parties Generation of Shared RSA Keys by Two Parties Guillaume Poupard and Jacques Stern École Normale Supérieure, Laboratoire d informatique 45 rue d Ulm, F-75230 Paris Cedex 05, France email: {Guillaume.Poupard,Jacques.Stern}@ens.fr

More information

Lecture Notes, Week 10

Lecture Notes, Week 10 YALE UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE CPSC 467b: Cryptography and Computer Security Week 10 (rev. 2) Professor M. J. Fischer March 29 & 31, 2005 Lecture Notes, Week 10 1 Zero Knowledge Interactive

More information

Solutions for week 1, Cryptography Course - TDA 352/DIT 250

Solutions for week 1, Cryptography Course - TDA 352/DIT 250 Solutions for week, Cryptography Course - TDA 352/DIT 250 In this weekly exercise sheet: you will use some historical ciphers, the OTP, the definition of semantic security and some combinatorial problems.

More information

Commitment Schemes and Zero-Knowledge Protocols (2011)

Commitment Schemes and Zero-Knowledge Protocols (2011) Commitment Schemes and Zero-Knowledge Protocols (2011) Ivan Damgård and Jesper Buus Nielsen Aarhus University, BRICS Abstract This article is an introduction to two fundamental primitives in cryptographic

More information

MATH 158 FINAL EXAM 20 DECEMBER 2016

MATH 158 FINAL EXAM 20 DECEMBER 2016 MATH 158 FINAL EXAM 20 DECEMBER 2016 Name : The exam is double-sided. Make sure to read both sides of each page. The time limit is three hours. No calculators are permitted. You are permitted one page

More information

Protocols for Multiparty Coin Toss with a Dishonest Majority

Protocols for Multiparty Coin Toss with a Dishonest Majority Protocols for Multiparty Coin Toss with a Dishonest Maority Amos Beimel Department of Computer Science Ben Gurion University Be er Sheva, Israel Eran Omri Department of Computer Science and Mathematics

More information

Notes on Zero Knowledge

Notes on Zero Knowledge U.C. Berkeley CS172: Automata, Computability and Complexity Handout 9 Professor Luca Trevisan 4/21/2015 Notes on Zero Knowledge These notes on zero knowledge protocols for quadratic residuosity are based

More information

Practice Assignment 2 Discussion 24/02/ /02/2018

Practice Assignment 2 Discussion 24/02/ /02/2018 German University in Cairo Faculty of MET (CSEN 1001 Computer and Network Security Course) Dr. Amr El Mougy 1 RSA 1.1 RSA Encryption Practice Assignment 2 Discussion 24/02/2018-29/02/2018 Perform encryption

More information

during signature generation the secret key is never reconstructed at a single location. To provide fault tolerance, one slightly modies the above tech

during signature generation the secret key is never reconstructed at a single location. To provide fault tolerance, one slightly modies the above tech Generating a Product of Three Primes with an Unknown Factorization Dan Boneh and Jeremy Horwitz Computer Science Department, Stanford University, Stanford, CA 94305-9045 fdabo,horwitzg@cs.stanford.edu

More information

On Everlasting Security in the Hybrid Bounded Storage Model

On Everlasting Security in the Hybrid Bounded Storage Model On Everlasting Security in the Hybrid Bounded Storage Model Danny Harnik Moni Naor Abstract The bounded storage model (BSM) bounds the storage space of an adversary rather than its running time. It utilizes

More information

CPSC 467: Cryptography and Computer Security

CPSC 467: Cryptography and Computer Security CPSC 467: Cryptography and Computer Security Michael J. Fischer Lecture 22 November 27, 2017 CPSC 467, Lecture 22 1/43 BBS Pseudorandom Sequence Generator Secret Splitting Shamir s Secret Splitting Scheme

More information

1 Indistinguishability for multiple encryptions

1 Indistinguishability for multiple encryptions CSCI 5440: Cryptography Lecture 3 The Chinese University of Hong Kong 26 September 2012 1 Indistinguishability for multiple encryptions We now have a reasonable encryption scheme, which we proved is message

More information

Univ.-Prof. Dr. rer. nat. Rudolf Mathar. Written Examination. Cryptography. Tuesday, August 29, 2017, 01:30 p.m.

Univ.-Prof. Dr. rer. nat. Rudolf Mathar. Written Examination. Cryptography. Tuesday, August 29, 2017, 01:30 p.m. Cryptography Univ.-Prof. Dr. rer. nat. Rudolf Mathar 1 2 3 4 15 15 15 15 60 Written Examination Cryptography Tuesday, August 29, 2017, 01:30 p.m. Name: Matr.-No.: Field of study: Please pay attention to

More information

Single Database Private Information Retrieval with Logarithmic Communication

Single Database Private Information Retrieval with Logarithmic Communication Single Database Private Information Retrieval with Logarithmic Communication Yan-Cheng Chang Harvard University ycchang@eecs.harvard.edu February 10, 2004 Abstract In this paper, we study the problem of

More information

PERFECT SECRECY AND ADVERSARIAL INDISTINGUISHABILITY

PERFECT SECRECY AND ADVERSARIAL INDISTINGUISHABILITY PERFECT SECRECY AND ADVERSARIAL INDISTINGUISHABILITY BURTON ROSENBERG UNIVERSITY OF MIAMI Contents 1. Perfect Secrecy 1 1.1. A Perfectly Secret Cipher 2 1.2. Odds Ratio and Bias 3 1.3. Conditions for Perfect

More information

Cryptography CS 555. Topic 23: Zero-Knowledge Proof and Cryptographic Commitment. CS555 Topic 23 1

Cryptography CS 555. Topic 23: Zero-Knowledge Proof and Cryptographic Commitment. CS555 Topic 23 1 Cryptography CS 555 Topic 23: Zero-Knowledge Proof and Cryptographic Commitment CS555 Topic 23 1 Outline and Readings Outline Zero-knowledge proof Fiat-Shamir protocol Schnorr protocol Commitment schemes

More information

From Secure MPC to Efficient Zero-Knowledge

From Secure MPC to Efficient Zero-Knowledge From Secure MPC to Efficient Zero-Knowledge David Wu March, 2017 The Complexity Class NP NP the class of problems that are efficiently verifiable a language L is in NP if there exists a polynomial-time

More information

CPSC 467: Cryptography and Computer Security

CPSC 467: Cryptography and Computer Security CPSC 467: Cryptography and Computer Security Michael J. Fischer Lecture 18 November 3, 2014 CPSC 467, Lecture 18 1/43 Zero Knowledge Interactive Proofs (ZKIP) Secret cave protocol ZKIP for graph isomorphism

More information

CIS 551 / TCOM 401 Computer and Network Security

CIS 551 / TCOM 401 Computer and Network Security CIS 551 / TCOM 401 Computer and Network Security Spring 2008 Lecture 15 3/20/08 CIS/TCOM 551 1 Announcements Project 3 available on the web. Get the handout in class today. Project 3 is due April 4th It

More information

On Achieving the Best of Both Worlds in Secure Multiparty Computation

On Achieving the Best of Both Worlds in Secure Multiparty Computation On Achieving the Best of Both Worlds in Secure Multiparty Computation Yuval Ishai Jonathan Katz Eyal Kushilevitz Yehuda Lindell Erez Petrank Abstract Two settings are traditionally considered for secure

More information

Cosc 412: Cryptography and complexity Lecture 7 (22/8/2018) Knapsacks and attacks

Cosc 412: Cryptography and complexity Lecture 7 (22/8/2018) Knapsacks and attacks 1 Cosc 412: Cryptography and complexity Lecture 7 (22/8/2018) Knapsacks and attacks Michael Albert michael.albert@cs.otago.ac.nz 2 This week Arithmetic Knapsack cryptosystems Attacks on knapsacks Some

More information

Winter 2011 Josh Benaloh Brian LaMacchia

Winter 2011 Josh Benaloh Brian LaMacchia Winter 2011 Josh Benaloh Brian LaMacchia Fun with Public-Key Tonight we ll Introduce some basic tools of public-key crypto Combine the tools to create more powerful tools Lay the ground work for substantial

More information

1/p-Secure Multiparty Computation without an Honest Majority and the Best of Both Worlds

1/p-Secure Multiparty Computation without an Honest Majority and the Best of Both Worlds 1/p-Secure Multiparty Computation without an Honest Majority and the Best of Both Worlds Amos Beimel Department of Computer Science Ben Gurion University Be er Sheva, Israel Eran Omri Department of Computer

More information

Lecture 15 - Zero Knowledge Proofs

Lecture 15 - Zero Knowledge Proofs Lecture 15 - Zero Knowledge Proofs Boaz Barak November 21, 2007 Zero knowledge for 3-coloring. We gave a ZK proof for the language QR of (x, n) such that x QR n. We ll now give a ZK proof (due to Goldreich,

More information

Lecture 2: Quantum bit commitment and authentication

Lecture 2: Quantum bit commitment and authentication QIC 890/891 Selected advanced topics in quantum information Spring 2013 Topic: Topics in quantum cryptography Lecture 2: Quantum bit commitment and authentication Lecturer: Gus Gutoski This lecture is

More information

Privacy-preserving cooperative statistical analysis

Privacy-preserving cooperative statistical analysis Syracuse University SURFACE Electrical Engineering and Computer Science College of Engineering and Computer Science 2001 Privacy-preserving cooperative statistical analysis Wenliang Du Syracuse University,

More information

Security Implications of Quantum Technologies

Security Implications of Quantum Technologies Security Implications of Quantum Technologies Jim Alves-Foss Center for Secure and Dependable Software Department of Computer Science University of Idaho Moscow, ID 83844-1010 email: jimaf@cs.uidaho.edu

More information

CHALMERS GÖTEBORGS UNIVERSITET. TDA352 (Chalmers) - DIT250 (GU) 11 April 2017, 8:30-12:30

CHALMERS GÖTEBORGS UNIVERSITET. TDA352 (Chalmers) - DIT250 (GU) 11 April 2017, 8:30-12:30 CHALMERS GÖTEBORGS UNIVERSITET CRYPTOGRAPHY TDA35 (Chalmers) - DIT50 (GU) 11 April 017, 8:30-1:30 No extra material is allowed during the exam except for pens and a simple calculator (not smartphones).

More information

Definition: For a positive integer n, if 0<a<n and gcd(a,n)=1, a is relatively prime to n. Ahmet Burak Can Hacettepe University

Definition: For a positive integer n, if 0<a<n and gcd(a,n)=1, a is relatively prime to n. Ahmet Burak Can Hacettepe University Number Theory, Public Key Cryptography, RSA Ahmet Burak Can Hacettepe University abc@hacettepe.edu.tr The Euler Phi Function For a positive integer n, if 0

More information

Lecture 19: Public-key Cryptography (Diffie-Hellman Key Exchange & ElGamal Encryption) Public-key Cryptography

Lecture 19: Public-key Cryptography (Diffie-Hellman Key Exchange & ElGamal Encryption) Public-key Cryptography Lecture 19: (Diffie-Hellman Key Exchange & ElGamal Encryption) Recall In private-key cryptography the secret-key sk is always established ahead of time The secrecy of the private-key cryptography relies

More information

Public Key Cryptography

Public Key Cryptography T H E U N I V E R S I T Y O F B R I T I S H C O L U M B I A Public Key Cryptography EECE 412 1 What is it? Two keys Sender uses recipient s public key to encrypt Receiver uses his private key to decrypt

More information

The RSA public encryption scheme: How I learned to stop worrying and love buying stuff online

The RSA public encryption scheme: How I learned to stop worrying and love buying stuff online The RSA public encryption scheme: How I learned to stop worrying and love buying stuff online Anthony Várilly-Alvarado Rice University Mathematics Leadership Institute, June 2010 Our Goal Today I will

More information

Revisiting Cryptographic Accumulators, Additional Properties and Relations to other Primitives

Revisiting Cryptographic Accumulators, Additional Properties and Relations to other Primitives S C I E N C E P A S S I O N T E C H N O L O G Y Revisiting Cryptographic Accumulators, Additional Properties and Relations to other Primitives David Derler, Christian Hanser, and Daniel Slamanig, IAIK,

More information

Notes 10: Public-key cryptography

Notes 10: Public-key cryptography MTH6115 Cryptography Notes 10: Public-key cryptography In this section we look at two other schemes that have been proposed for publickey ciphers. The first is interesting because it was the earliest such

More information

LECTURE 5: APPLICATIONS TO CRYPTOGRAPHY AND COMPUTATIONS

LECTURE 5: APPLICATIONS TO CRYPTOGRAPHY AND COMPUTATIONS LECTURE 5: APPLICATIONS TO CRYPTOGRAPHY AND COMPUTATIONS Modular arithmetics that we have discussed in the previous lectures is very useful in Cryptography and Computer Science. Here we discuss several

More information

Lecture Notes 20: Zero-Knowledge Proofs

Lecture Notes 20: Zero-Knowledge Proofs CS 127/CSCI E-127: Introduction to Cryptography Prof. Salil Vadhan Fall 2013 Lecture Notes 20: Zero-Knowledge Proofs Reading. Katz-Lindell Ÿ14.6.0-14.6.4,14.7 1 Interactive Proofs Motivation: how can parties

More information

Lecture 9 and 10: Malicious Security - GMW Compiler and Cut and Choose, OT Extension

Lecture 9 and 10: Malicious Security - GMW Compiler and Cut and Choose, OT Extension CS 294 Secure Computation February 16 and 18, 2016 Lecture 9 and 10: Malicious Security - GMW Compiler and Cut and Choose, OT Extension Instructor: Sanjam Garg Scribe: Alex Irpan 1 Overview Garbled circuits

More information

One-Round Secure Computation and Secure Autonomous Mobile Agents

One-Round Secure Computation and Secure Autonomous Mobile Agents One-Round Secure Computation and Secure Autonomous Mobile Agents (Extended Abstract) Christian Cachin 1, Jan Camenisch 1, Joe Kilian 2, and Joy Müller 1 Abstract. This paper investigates one-round secure

More information

Lemma 1.2. (1) If p is prime, then ϕ(p) = p 1. (2) If p q are two primes, then ϕ(pq) = (p 1)(q 1).

Lemma 1.2. (1) If p is prime, then ϕ(p) = p 1. (2) If p q are two primes, then ϕ(pq) = (p 1)(q 1). 1 Background 1.1 The group of units MAT 3343, APPLIED ALGEBRA, FALL 2003 Handout 3: The RSA Cryptosystem Peter Selinger Let (R, +, ) be a ring. Then R forms an abelian group under addition. R does not

More information

Winter 2008 Introduction to Modern Cryptography Benny Chor and Rani Hod. Assignment #2

Winter 2008 Introduction to Modern Cryptography Benny Chor and Rani Hod. Assignment #2 0368.3049.01 Winter 2008 Introduction to Modern Cryptography Benny Chor and Rani Hod Assignment #2 Published Sunday, February 17, 2008 and very slightly revised Feb. 18. Due Tues., March 4, in Rani Hod

More information

Cryptographic Protocols FS2011 1

Cryptographic Protocols FS2011 1 Cryptographic Protocols FS2011 1 Stefan Heule August 30, 2011 1 License: Creative Commons Attribution-Share Alike 3.0 Unported (http://creativecommons.org/ licenses/by-sa/3.0/) Contents I Interactive Proofs

More information

10 Public Key Cryptography : RSA

10 Public Key Cryptography : RSA 10 Public Key Cryptography : RSA 10.1 Introduction The idea behind a public-key system is that it might be possible to find a cryptosystem where it is computationally infeasible to determine d K even if

More information

Math.3336: Discrete Mathematics. Mathematical Induction

Math.3336: Discrete Mathematics. Mathematical Induction Math.3336: Discrete Mathematics Mathematical Induction Instructor: Dr. Blerina Xhabli Department of Mathematics, University of Houston https://www.math.uh.edu/ blerina Email: blerina@math.uh.edu Fall 2018

More information

CRYPTOGRAPHY AND NUMBER THEORY

CRYPTOGRAPHY AND NUMBER THEORY CRYPTOGRAPHY AND NUMBER THEORY XINYU SHI Abstract. In this paper, we will discuss a few examples of cryptographic systems, categorized into two different types: symmetric and asymmetric cryptography. We

More information

Course MA2C02, Hilary Term 2013 Section 9: Introduction to Number Theory and Cryptography

Course MA2C02, Hilary Term 2013 Section 9: Introduction to Number Theory and Cryptography Course MA2C02, Hilary Term 2013 Section 9: Introduction to Number Theory and Cryptography David R. Wilkins Copyright c David R. Wilkins 2000 2013 Contents 9 Introduction to Number Theory 63 9.1 Subgroups

More information

Benny Pinkas Bar Ilan University

Benny Pinkas Bar Ilan University Winter School on Bar-Ilan University, Israel 30/1/2011-1/2/2011 Bar-Ilan University Benny Pinkas Bar Ilan University 1 Extending OT [IKNP] Is fully simulatable Depends on a non-standard security assumption

More information