Shared Generation of Shared RSA Keys 1. Simon Blake-Wilson 3. Certicom Corp. Steven Galbraith.

Size: px
Start display at page:

Download "Shared Generation of Shared RSA Keys 1. Simon Blake-Wilson 3. Certicom Corp. Steven Galbraith."

Transcription

1 Shared Generation of Shared RSA Keys 1 Simon Blackburn 2 Royal Holloway simonb@dcs.rhbnc.ac.uk Simon Blake-Wilson 3 Certicom Corp. sblakewi@certicom.com Steven Galbraith Royal Holloway stevenga@dcs.rhbnc.ac.uk Mike Burmester Royal Holloway m.burmester@rhbnc.ac.uk February 16, Technical report CORR 98-19, Dept. of C&O, University of Waterloo, Canada. 2 The author is supported by an EPSRC Advanced Fellowship. 3 Research performed as an EPSRC CASE student at Royal Holloway sponsored by Racal Airtech.

2 Abstract The paper considers the problem of distributed key generation for shared-control RSA schemes. In particular: how can two parties generate a shared RSA key in such a way that neither party can cheat? The answer to this question would have signicant applications to, for example, key escrow systems. Cocks has recently proposed protocols to solve this problem in the case when both parties act honestly. However, we show that the Cocks protocols [6] are insecure if a dishonest party actively deviates from the protocol. A new protocol which resists these active attacks is proposed. Keywords: active attack, distributed key generation, RSA.

3 Shared Generation of Shared RSA Keys 1 1 Introduction This paper considers the following problem: how can two parties generate a shared RSA key pair? The generation method should preclude either party individually from compromising the key pair. Our aim is to provide an ecient two-party shared RSA key generation protocol to solve this problem. Shared key generation protocols are relevant to the theory of secret sharing (see Shamir [20]) and threshold cryptography (see Desmedt [9]). For the protocols we consider, the primary application we envisage is key escrow, although a number of other applications, for example parameter generation for Fiat-Shamir signatures [10], also spring to mind. As an illustration of the potential application, suppose users of a system are required to escrow session keys for possible retrieval later by a duly authorised entity (see Micali [17]). Each time a session using key begins, the users deposit encrypted under the public RSA escrow key (N; e) as: e mod N : The key generation protocols we discuss can be used by two escrow agents to generate shares of this highly sensitive escrow key. Now users do not have to trust the integrity of any one third party to ensure protection. The agents can use their shares to carry out threshold decryption and retrieve session keys, and no dealer is required to supply the shares. In theory, generic protocol constructions, such as those described by Yao [22] and Goldreich et al. [15], prove the existence of secure shared key generation protocols; however they do not provide protocols which are ecient enough for most applications. In practice, ecient shared key generation protocols for cryptosystems based on the discrete logarithm problem are relatively plentiful: proposals can be found in Cerecedo et al. [3], Gennaro et al. [12], and Park and Kurosawa [18]. However, ecient shared generation of RSA keys appears a considerably harder problem, and the need for proposals has been noted by Bellare and Goldwasser [1] and Gennaro et al. [13]. Recently Boneh and Franklin [2] and Cocks [6] have independently suggested protocols to address this deciency. Both these papers concentrate on the case in which parties only cheat `passively', and do not actively deviate from the protocol. Cocks' protocols enable two parties to generate a shared key as we require. (Cocks [7] has recently extended his protocols to three or more parties.) Boneh and Franklin's protocols enable k 3 parties to generate a shared key in such a way that no t < k parties can cheat `passively'. 2 However we believe that a more realistic threat model must take into account the possibility that dishonest parties `actively' cheat during the protocol. In this paper, we investigate the possibility of providing secure two-party shared RSA key generation protocols in this enriched threat model which takes into account the ability of dishonest parties to deviate from the protocol. First we present attacks on the Cocks protocols which

4 Shared Generation of Shared RSA Keys 2 show that they are susceptible to these active attacks. Secondly we present a new protocol based on the Cocks protocols which is designed to resist active attacks. Based on Cocks' estimates, our protocol will take a few days to generate a shared 1024-bit modulus on a fast machine. This is ecient enough for some applications. The paper proceeds as follows. In Section 2 a formal denition of protocol security in the presence of a malicious adversary who actively attacks the protocol is provided. Sections 3 and 4 investigate the Cocks protocols: rst we summarise the protocols themselves and then we present some attacks. In Sections 5 and 6 our new protocol is described. Section 7 contains an heuristic justication of the security of our proposal, and Section 8 discusses how it may be implemented in practice. Finally Section 9 draws some conclusions and presents some open problems. 2 Security Model In this section we introduce our communication model and supply denitions of a secure twoparty shared key generation protocol for RSA. Formal denitions are made and accompanied by an informal discussion. The formal statements enable precise analysis, while (hopefully) the discussion gives the reader a avour of the problem. The technical denitions may be skipped by a reader uninterested in formalities; note that we will be providing only heuristic arguments that our proposal is secure, not a formal proof. Communication Model. The environment envisaged is composed of two players, Alice and Bob, who communicate over a reliable but non-secret channel on which messages are relayed in an orderly and authentic fashion. The assumption that Alice and Bob communicate in such a reliable fashion allows us to focus on a high-level description of the key generation protocols. Note, however, that in practice such a channel can be provided either by physical means or by cryptographic means. Alice and Bob only engage in one execution of the protocol at a time. We will formally model this scenario by regarding Alice and Bob as linked interactive Turing machines. See, for example, Goldreich [14] for a denition and discussion of interactive Turing machines. The Adversary. We assume that an adversary, F, can corrupt one of the players. Two kinds of adversary are distinguished: an eavesdropping adversary learns all the information stored and communicated by the corrupted player. a malicious adversary is an eavesdropping adversary who may also cause the corrupted player to divert from the specied protocol in any way. This paper is specically concerned with the kind of active attacks that a malicious adversary is able to launch.

5 Shared Generation of Shared RSA Keys 3 F is modeled as a probabilistic polynomial time Turing machine. The restriction throughout this section to asymptotic concepts like polynomial time and negligible probability is, as always, a device which aids formalization: in reality we are interested in a specic security level and the corresponding concrete notions of work factor and success probability. In any particular execution of the protocol, we will denote Alice by A if she certainly adheres to the description of the protocol, and by A otherwise. Similarly, Bob will be denoted by B or B. Thus an eavesdropping adversary who corrupts Alice can be thought of as one who runs the linked Turing machines (A; B) and witnesses A during this interaction, while a malicious adversary chooses A and runs (A ; B), witnessing A 's actions. Key Generation. Intuitively we require a two-party shared RSA key generation protocol to provide two honest users with shares of an RSA key pair. In this paper, a key pair consisting of ((N; e); d) will always be shared as ((N; e); d a ) and ((N; e); d b ) with d a + d b = d. Sharing the key in this way enables, for example, threshold decryption (see Cocks [6]). In order to formally dene a shared key generation procedure, we need rst to dene what we mean by saying that the RSA problem [19] is hard. Denition 1 The RSA problem is dened by a probabilistic polynomial time key generation algorithm G RSA. On input 1 k, G RSA generates RSA key pairs ((N; e); d) consisting of an integer N, an integer e 2 (Z=(N)Z), and an integer d 2 (Z=(N)Z) satisfying ed = 1 mod (N). The RSA problem is hard for G RSA if, for all probabilistic polynomial time Turing machines E (polynomial time in the rst input): Pr[((N; e); d) G RSA (1 k ); y (Z=NZ) ; E(1 k ; (N; e); y) = x : x e = y mod N] is negligible. Here k is the security parameter. The probability in the above denition is assessed over the coin tosses of G RSA and E, and over the random choice of y. All the above denition says is that the RSA problem is hard for a particular key generator if no-one has a very good chance of inverting the function dened by: f(x) = x e mod N for an N and e chosen by the key generator and a random choice of x. The formal denition of a two-party shared RSA key generator is now straightforward: it consists simply of the description of a pair of linked interactive Turing machines which output a valid RSA key pair and which together can be used in place of an ordinary RSA key generator. For simplicity we will call a pair of linked interactive Turing machines polynomial time if the total number of steps taken by both machines is polynomial. Denition 2 A two-party shared RSA key generation protocol is a polynomial time pair of linked interactive Turing machines (A; B) satisfying:

6 Shared Generation of Shared RSA Keys 4 1. On common input 1 k, (A; B) outputs some ((N; e); d a ; d b ) such that ((N; e); (d a + d b )) is a valid RSA key pair. Here (N; e) is the public output of A and B, d a is the private output of A, d b is the private output of B. 2. The RSA problem is hard for the key generator G RSA dened as follows. On input 1 k, G RSA calls (A; B) on input 1 k and outputs the key pair ((N; e); (d a + d b )) generated by (A; B). Dening the security of a shared RSA key generation protocol is a more delicate problem. It would be nice to say that even in the presence of a malicious adversary, the generator G RSA dened in Denition 2 is a secure key generator for RSA. However this is not possible: note that a malicious adversary can certainly always halt the shared key generation protocol so that a shared key is never produced. Instead, it is necessary to consider a more general adversary who rst takes part in the key generation protocol and then tries to solve the RSA problem for any resulting key pair. Formally a (malicious) adversary F a = (A ; E) which corrupts Alice consists of two Turing machines; an interactive machine A and an RSA adversary E. On input 1 k, F a runs the pair (A ; B) on input 1 k. If (A ; B) have joint public output (N; e) then y 2 (Z=NZ) is chosen at random, and the RSA adversary E is run on input 1 k, (N; e), y, and an auxiliary input consisting of a description of A 's execution. E of course now tries to `invert' y. The denition of a malicious adversary F b = (B ; E) which corrupts Bob is now analogous. An adversary is polynomial time if the total running time of the pair of interactive Turing machines and the RSA adversary is polynomial in k. Denition 3 A two-party shared RSA key generation protocol (A; B) is secure (against malicious adversaries) if, for all polynomial time adversaries F a = (A ; E): Pr[((N; e); d a ; d b ) (A ; B)(1 k ); y (Z=NZ) ; E(1 k ; (N; e); y; ) = x : x e = y mod N] is negligible (where denotes a description of A 's execution, and similarly for all polynomial time adversaries F b = (B ; E). Security can also be dened in the face of eavesdropping adversaries by restricting F a and F b in the above denition to be of the form F a = (A; E) and F b = (B; E). Observe that the above denition of security does not exclude the possibility that an adversary F only allows a shared key to be generated in the unlikely event (occurring with negligible probability) that E can factor N. Note that in some scenarios it would be desirable to generalise the above denition to allow adversaries who run the linked Turing machines a number of times. Since Alice and Bob do not have any private input in this particular model, such an extension does not increase F 's power in this case.

7 Shared Generation of Shared RSA Keys 5 3 The Cocks Protocols In this section the two-party shared RSA key generation protocols introduced by Cocks in [6] are described. In Section 4 we will explain why neither of these protocols can be used in the presence of a malicious adversary. The rst, asymmetric, protocol is designed to provide security against eavesdropping adversaries. The second, symmetric, protocol prevents certain attacks by malicious adversaries. 3.1 The Asymmetric Cocks Protocol To generate a shared key pair, Alice and Bob repeat the following process. Alice chooses two integers p a and q a (not necessarily prime) and Bob chooses two integers p b and q b (again not necessarily prime). Alice and Bob jointly compute the modulus N = (p a + p b )(q a + q b ) as follows. 1. Alice chooses her own RSA modulus M a and public exponent e a, which she makes known to Bob. The exponent e a should be large to prevent an attack due to Coppersmith; see Cocks [7]. Alice's private decryption key is d a. The modulus M a should be larger than the maximum size that N could possibly be. She sends the quantities p ea a mod M a to Bob. q ea a 2. Bob calculates the three elements a 1;a = p ea a qea b = (p a q b ) ea mod M a a 2;a = p ea b qea a = (p b q a ) ea mod M a a 3;a = (p b q b ) ea mod M a : mod M a and 3. Bob generates a set of 3K numbers fb i;j;a : 1 i 3; 1 j Kg, chosen to be random modulo M a subject to the condition that KX j=1 b i;j;a = 1 mod M a for all i 2 f1; 2; 3g : Here K is a `suciently large' integer. The choice of an appropriate K is discussed below. 4. Bob calculates the 3K numbers x i;j;a = a i;a b ea i;j;a mod M a, and sends them to Alice in a new order (for example a random order, or in a sorted order). This is done so that it is impossible for Alice to recover the correspondence between the elements x i;j;a and the pairs (i; j). 5. Alice calculates the elements y i;j;a = x da i;j;a mod M a, so y i;j;a = b i;j;a a da i;a mod M a :

8 Shared Generation of Shared RSA Keys 6 Hence Alice can determine p a q a + 3X KX i=1 j=1 y i;j;a = p a q a + p a q b + p b q a + p b q b = N mod M a : Since 0 < N < M a, Alice has determined N uniquely. 6. Alice sends N to Bob. Once N has been calculated, Alice and Bob determine whether N is the product of two primes by using, for example, the test due to Boneh and Franklin [2]. The above process is repeated until they generate a candidate N which is the product of two primes. Finally, Alice and Bob agree on a small value for e and respectively compute shares d a and d b of the corresponding d by exchanging the values of p a + q a and p b + q b modulo e as described by Boneh and Franklin [2]. Consider the security of this protocol in the case that Alice and Bob do not deviate from the protocol's description. The security of the protocol certainly relies on choosing the integer K to be suciently large. The integer K should be chosen so that Alice receives virtually no information about the decomposition of the the sum i=1p P3 K y j=1 i;j;a into the three summands p a q b, p b q a and p b q b. Cocks recommends that K should be chosen so that (3K)! (K!) > M 3 a 2 ; in which case for most guesses by Alice as to the values of p a q b, p b q a, and p b q b there will be a partition of the 3K fragments into 3 sets which produce these values. If K is chosen to be of this size, it seems that Alice receives no useful information from the protocol, beyond the value of N and her secret information p a and q a. At the end of the protocol, Bob knows p b, q b, the modulus N and the encryptions p ea a, q ea a of Alice's secret information. It seems plausible that the extra information that Bob possesses does not help to break the resulting RSA system (i.e. modulo N) under the assumption that Alice is implementing RSA securely (i.e. modulo M a ). 3.2 The Symmetric Protocol Cocks [6] remarks that a dishonest Alice could, of course, cheat in the asymmetric protocol, simply by transmitting a dierent value of N at stage 6. He observes that, to avoid these kinds of active attacks, the process of computing N could be made symmetrical. More explicitly, let 1 0, 2 0, 3 0, 4 0, 5 0 and 6 0 be the steps of the asymmetric protocol with the roles of Alice and Bob reversed. (We attach a subscript of b rather than a to all the new variables that arise, to indicate that they are associated with Bob's RSA modulus M b.) Then a symmetric version of the protocol replaces the steps 1{6 with the steps 1{5, the steps 1 0 {5 0, an exchange of hashes of N, and nally the publication and verication of N.

9 Shared Generation of Shared RSA Keys 7 4 Attacks on the Cocks Protocols We now consider various attacks on the symmetric and asymmetric versions of the Cocks protocol. These attacks show that neither protocol prevents attacks by a malicious adversary. Three of the attacks are relatively easy to prevent. Our desire to avoid the fourth attack motivated our construction of the protocol in Section Dishonest Alice in the Symmetric Protocol Our rst attack works on the symmetric version of the protocol. Suppose that Alice is dishonest. Before the protocol begins, she generates an RSA modulus N 0. She would like to manipulate Bob into believing that N 0 is the modulus the pair are trying to generate. Alice follows the protocol correctly during stages 1 to 5, and during stage 1 0. At this point, she has calculated the modulus N and has received the values p e b b mod M b and q e b b mod M b from Bob. Suppose that Alice can factor N. (This situation is likely to occur.) Alice is now able to compute Bob's secret information p b and q b as follows. She rst chooses a factorisation N = pq. Provided that N is not too smooth (which is unlikely to happen), there are not very many choices for p and q. For each such choice, she computes p 0 b = p? p a and q 0 b = q? q a. She then checks whether the following equalities hold: (p 0 b )e b = p e b b mod M b (qb) 0 e b = q e b b mod M b : If these equalities do hold, p 0 b = p b and q 0 b = q b so she has found Bob's secret information. If these equalities do not hold, she tries another choice of the factorisation N = pq. One choice of the factorisation N = pq will always recover p b and q b, since N = (p a + p b )(q a + q b ). Alice now chooses a set of 3K elements at random subject to the condition that fy 0 i;j;b 2 Z=M bz: 1 i 3; 1 j Kg 3X KX i=1 j=1 y 0 i;j;b = N 0? p b q b mod M b : She sends elements x 0 i;j;b in a sorted or random order to Bob, where x 0 i;j;b = (y 0 i;j;b) e b mod M b : Bob decrypts these elements to recover the elements y 0 i;j;b, and then calculates the sum mod M b of these elements and p b q b ; this is equal to N 0 rather than N as Bob hopes. Finally, Alice and Bob exchange a hash of N 0 rather than N.

10 Shared Generation of Shared RSA Keys 8 Because Alice knows p b and q b, she can arrange that N 0 passes the Boneh-Franklin test. At the end of the protocol, Alice and Bob have agreed on a common modulus N 0 that is the product of two primes. However, Alice can factor N 0. One way to prevent this attack is to have Alice and Bob exchange messages simultaneously, so that Alice sends ow 1 to Bob at the same time that Bob sends ow 1 0 to Alice, and so on. This can be achieved by the parties exchanging commitments to these ows using a hash function. 4.2 Cheating by a choice of pa, qa In either the symmetric or asymmetric protocol, Alice could cheat by choosing either p a or q a to have a factor in common with her public RSA modulus M a. If she does this, she is able to derive information about the partition of the elements x i;j;a into the three classes fx 1;j;a g, fx 2;j;a g and fx 3;j;a g by computing the greatest common divisor of each x i;j;a and M a. This allows her to obtain Bob's secret information, and so Alice is able to factor N. A dishonest Bob can carry out a similar attack in the symmetric protocol. In either case, however, the attack is easily foiled by checking that the encrypted material received is coprime to the relevant modulus M a or M b. 4.3 Dishonest Bob in the Asymmetric Protocol In the asymmetric protocol Bob can send elements x 0 i;j;a to Alice such that Bob knows the sum of the elements (x 0 i;j;a modulo M )da a. (For example, Bob chooses random elements yi;j;a 0 2 Z=M az and sends the elements x 0 i;j;a = (y0 i;j;a mod M )ea a to Alice.) Then Alice reveals the integer N 0 = p a q a + 3X KX i=1 j=1 (x 0 i;j;a) da mod M a that she regards as the correct modulus, while Bob is able to compute p a q a, and hence (assuming that Bob is able to factor this number) he is able to derive p a and q a. Since Bob now knows Alice's secret information, he can calculate the answers Alice expects in the Boneh-Franklin test and hence he is able to convince Alice that N 0 is the product of two primes. There is a second attack that Bob is able to mount. After receiving p ea a mod M a and qa ea mod M a from Alice at stage 1 of the protocol, Bob is able to pick p b = (p a ) c 1(q a ) c 2c 3, where c 1, c 2 and c 3 are constants of his choice, similarly for q b. Although he does not know p a and q a, he is able to calculate p ea b and q ea b modulo M a from the information that Alice has given him, and so Bob can calculate the elements x i;j;a. This allows Bob to force N to have a certain form. For example, by taking p b = q a and q b = p a, the resulting N is a square. It is possible that Bob could benet from the special form of the resulting N and gain an advantage in factorising N. Both these attacks are prevented by using the symmetric protocol. They are included here to motivate the design of the protocol we propose in Section 5.

11 Shared Generation of Shared RSA Keys Cheating during the Boneh-Franklin Test Suppose that Alice and Bob have calculated a candidate N by following the Cocks protocol honestly. Suppose that Alice is dishonest. She could try to factor N. If she succeeds, she is able to recover Bob's secret information p b and q b using the method outlined in Subsection 4.1. Now when Alice and Bob execute the Boneh-Franklin test to determine whether N is the product of two primes, Alice can convince Bob that N is the product of two primes, even when this is not the case (since she knows what replies Bob expects to any query, as she has his secret information). Hence, at the end of the process of generating and testing N, Bob is convinced that N is a valid RSA modulus, but Alice is able to factor N. This attack is particularly pertinent in the case when Alice has far more computational power than Bob. For then Bob, even after trying (unsuccessfully) to factor N himself, cannot be sure that Alice has not factored N. Note that the attack could equally well have been launched by Bob. This attack motivated the design of the protocol we propose in Section 5. Our approach will require Alice and Bob to prove that they use their secret information p a, p b, q a, and q b properly at this stage. 5 A New Protocol We now describe a new protocol which resists active attacks. The protocol is derived from the Cocks scheme discussed in Subsection 3.1. The principal dierence between our protocol and the Cocks protocol is that we use a discretelogarithm based system, which has the advantage of allowing us to commit to the value of N before it is actually computed. However the security of our protocol therefore relies on the diculty of both the discrete logarithm problem and the RSA problem. A natural question is therefore: why not just agree a discrete logarithm key and forget about RSA altogether? However we point out that in applications like key escrow as described in Section 1, the cost of the encryption operation of the resulting system is a crucial overhead. The use of RSA (especially with small public exponent) may therefore be highly desirable because encryption is cheap. The protocol is fairly complicated. We therefore provide an overview of the protocol before describing the details. Overview. There are four distinct phases of the protocol: A. Commitment to N. As in the Cocks protocol, in this protocol Alice and Bob will generate candidate moduli N of the form N = (p a + p b )(q a + q b ). In the rst phase of the protocol Alice and Bob commit to the value of N that they will compute. B. Computation of N. Having committed to the value of the candidate N, Alice and Bob now proceed to compute N.

12 Shared Generation of Shared RSA Keys 10 C. Testing N. Next Alice and Bob test whether the candidate N they have calculated is the product of two primes. The rst three phases are repeated until a candidate N which passes this test is generated. D. Exponent generation. Once a suitable N has been found, in the nal phase Alice and Bob agree on a value for the public key e and generate shares d a and d b of the corresponding private key. Various steps in the protocol require Alice and Bob to prove that certain statements are true. For clarity of exposition, we delay a description of the proofs we recommend until Section 6. If any of the checks or proofs performed by Alice or Bob during the protocol fail, then the entire protocol is halted; either Alice or Bob has been caught cheating. We now describe the details of the protocol. Suppose that Alice and Bob want to generate a modulus of length 2n + 3 or 2n + 4 bits. Commitment to N. Alice and Bob commit to the value of a candidate N as follows. The commitment is made using a discrete logarithm based system. To initiate this phase Alice and Bob agree on two prime numbers M and L so that L divides M? 1 (ideally M? 1 = 2L), so that L has at least 2n + 7 bits, and so that L? 1 has a large prime factor. They also agree on an element in (Z=MZ) of order L and a generator for (Z=LZ). Techniques like those described in [11] can be used to agree these values. Alice and Bob then proceed as follows: 1. Alice chooses integers p a and q a uniformly at random such that 2 n p a ; q a < 2 n+1 and such that p a = q a = 3 mod 4. Likewise, Bob chooses integers p b and q b such that 2 n p b ; q b < 2 n+1 and such that p b = q b = 0 mod 4. The conditions on p a, p b, q a, and q b modulo 4 allow us to use the Boneh-Franklin test when checking whether or not the candidate N is the product of two primes. 2. Alice computes pa mod M and qa mod M. Bob computes p b mod M and q b mod M. Alice and Bob then exchange hashes of these values before publishing them. Both parties check that the published values agree with the previously exchanged hashes. At this stage the values p a, q a, p b and q b modulo L have been committed. Alice proves to Bob that she knows p a and q a, that p a = q a = 3 mod 4 and that 1 p a ; q a < 2 n+2. Similarly, Bob proves to Alice that he knows the integers p b and q b, that p b = q b = 0 mod 4 and that 1 p b ; q b < 2 n+2. These proofs are made using the proof system described in Subsection 6.3. (Note that we prove that the values lie in a larger interval here than the interval specied in step 1; see Section 7.) Both parties independently compute the value I = pa+p b mod M.

13 Shared Generation of Shared RSA Keys Alice computes and publishes I qa mod M and proves to Bob that this has been performed correctly. Similarly, Bob computes and publishes I q b mod M and proves that this has been performed correctly. Appropriate proof systems are described in Subsection 6.1. Both parties may now independently compute I qa I q b = (pa+p b)(q a+q b) = N mod M which gives a commitment to the choice of N modulo L. In other words, there is a unique integer 0 < N L for which N is the value computed in this step. Having committed to the value of the candidate N, Alice and Bob now proceed to compute N. Computation of N. Alice and Bob calculate N using an ElGamal-based variant of the procedure used in the asymmetric Cocks protocol described in Subsection 3.1. The use of ElGamal is necessary so that the zero-knowledge proofs in Section 6 can be used. 4. Alice chooses an ElGamal secret key s for sending messages modulo L and publishes her public key = s mod L. 5. Alice sends p a and q a to Bob via ElGamal encryption modulo L, using her public key. More precisely, Alice chooses random integers k 1 ; k 2 and sends (R 1 ; S 1 ) = ( k 1 ; p a k 1 ) mod L (R 2 ; S 2 ) = ( k 2 ; q a k 2 ) mod L to Bob. Alice proves to Bob that these encryptions have been correctly computed using the proof system in Subsection Bob chooses 3K random elements b i;j 2 Z=LZ, for 1 i 3 and 1 j K exactly as in the Cocks protocol (so that P j b i;j = 1 mod L for each i). Bob chooses random elements r i;j 2 Z=(L? 1)Zand computes the pairs x 1;j = (R 1 r 1;j ; b 1;jq b S 1 r 1;j ) mod L x 2;j = (R 2 r 2;j ; b 2;jp b S 2 r 2;j ) mod L x 3;j = ( r 3;j ; b 3;jp b q b r 3;j ) mod L : These pairs are then sorted (or thoroughly shued in some other way) and sent to Alice. 7. For each x i;j = (u; v), Alice performs the usual ElGamal decryption y i;j = vu?s mod L :

14 Shared Generation of Shared RSA Keys 12 Hence she obtains the values y 1;j = b 1;j p a q b mod L, y 2;j = b 2;j p b q a mod L and y 3;j = b 3;j p b q b mod L. Alice computes p a q a + 3X KX i=1 j=1 y i;j = (p a + p b )(q a + q b ) = N mod L : She checks that 2 2n+2 N < 2 2n+4 and that N mod M agrees with the value committed earlier. (This check shows that Bob has been honest in the generation of the elements x i;j.) She then sends the integer N to Bob. 8. Bob checks that 2 2n+2 N < 2 2n+4, computes N mod M and checks to see if it agrees with the value committed earlier. Note that, in this protocol, there is no advantage in using a symmetric version, since Alice and Bob are forced to produce the value of N to which they have already committed. Testing N. Once N has been calculated, Alice and Bob determine whether N is the product of two primes using the test due to Boneh and Franklin [2]. However, we will insist on proofs that the test is performed correctly. 9. Alice and Bob independently check that N is not divisible by any small primes (say less than 2 15 ). 10. For all?? x x in a predetermined list Alice and Bob calculate the Jacobi symbol x If N = 1, Alice computes and publishes va = x (pa+qa+2)=4 mod N and Bob computes and publishes v b = x (p b+q b )=4 mod N. Alice and Bob prove to each other that these values have been computed correctly using the proof system in Subsection The candidate modulus N is declared to be a probable product of two primes if it is always the case that x (N?1)=4 (v a )?1 = v b mod N. The three phases above are repeated until a modulus N is generated that is the product of two primes. Exponent generation. Having generated a candidate N which is the product of two primes, Alice and Bob now generate the public exponent e and shares d a and d b of the private exponent in the same way as the Cocks protocol in Subsection 3.1. We outline the method here for completeness. 12. Alice and Bob agree on a small public exponent e (say e = ). N.

15 Shared Generation of Shared RSA Keys Alice and Bob exchange the values p a + q a mod e and p b + q b mod e. Both parties can therefore calculate f = (p a + p b ) + (q a + q b )? N? 1 mod e and hence g = f?1 mod e (provided f is invertible modulo e). Alice then calculates d a as: d a = (N +1) 2? p a? q a g e 75 ; and Bob calculates d b as: d b = 2 (N +1) 6 3? p 2 b? q b g e 7 : Finally Alice and Bob have succeeded in generating a shared RSA key: the public key is (N; e), Alice's share of the private key is d a, and Bob's share of the private key is d b. In some applications, it may be desirable to ensure that neither party can be duped into holding an incorrect share of the private key. If this is the case, then Alice and Bob should additionally check that the values of p a + q a mod e and p b + q b mod e exchanged in step 13 are correct. This can be done using standard (but impractical) zero-knowledge techniques, or by carrying out trial decryptions with proofs of correctness similar to those in Subsection 6.4. The security of this protocol will be discussed in Section 7. Issues involved in the implementation of the protocol in practice are discussed in Section 8. 6 Proofs used in the Protocol There are four points in the protocol given above where one participant must convince the other of their knowledge of a certain piece of information, or of the correctness of some calculation. This section suggests proofs that can be used in these situations. Two of the proofs we suggest are zero-knowledge, but the remainder leak some knowledge to the verier. Where a signicant amount of knowledge is revealed by the protocol, we attempt to quantify the amount of revealed knowledge. 6.1 The Proofs in Step 3 Let I 2 Z=MZand qa ; q b 2 Z=MZ be public. In step 3 of the protocol, Alice publishes G 2 Z=MZ. She wishes to prove to Bob that G = I qa without revealing any information about q a. Similarly, Bob publishes G 0 2 Z=MZ, and wishes to prove to Alice that G 0 = I q b. We suggest that Alice and Bob achieve this using the perfect zero-knowledge conrmation protocol for undeniable signatures due to Chaum [4]. For completeness we now describe the protocol that Alice uses. The protocol used by Bob is analogous. The probability that Alice can successfully cheat in this proof is 1=L.

16 Shared Generation of Shared RSA Keys 14 The proof system works as follows. Bob checks that G L = 1 mod M. He then chooses elements r 1 ; r 2 2 Z=LZuniformly at random. He sends v = I r 1 r 2 mod M to Alice. Alice then chooses a random element r 3 2 Z=LZ. She sends w 1 = r 3 and w 2 = (v r 3) qa to Bob. Bob then sends r 1 and r 2 to Alice. She checks that v was computed correctly. Finally, Alice sends r 3 to Bob. He checks that w 1 and w 2 were computed correctly, and recovers I qa by calculating (w 2 =( qa ) r 2+r 3 ) 1=r The Proofs in Step 5 Let pa ; qa mod M, and = s mod L be public. Let (R 1 ; S 1 ) and (R 2 ; S 2 ) be the ElGamal encryptions sent from Alice to Bob. In step 4 of the protocol, Alice is required to prove to Bob that (R 1 ; S 1 ) and (R 2 ; S 2 ) are respectively valid encryptions of p a mod L and q a mod L under the public key. We suggest that Alice achieves this using the perfect zero-knowledge proof described below. Since the technique is of a standard type (see Chaum et al. [5]), we omit the proof of soundness. The probability that Alice can cheat in any one iteration of the system described is 1=2. Alice and Bob will therefore repeat the proof until Bob is convinced that Alice has sent him the correct encryptions. To prove to Bob that (R 1 ; S 1 ) is a valid encryption of p a, Alice proceeds as follows. Let k 1 be such that (R 1 ; S 1 ) = ( k 1; p a k 1). Alice chooses two elements r 1 2 (Z=LZ) n f0g and r 2 2 Z=(L? 1)Zuniformly at random. She sends the values T 0 = par 1 mod M, R 0 = k 1+r 2 mod L and S 0 = (p a r 1 ) k 1+r 2 mod L to Bob. Either Bob requests (and Alice sends) r 1 and r 2, in which case Bob checks that r 1 6= 0 mod L ( pa ) r 1 = T 0 mod M R 1 r 2 = R 0 mod L r 1 S 1 r 2 = S 0 mod L ; or Bob requests (and Alice sends) r 1 p a 2 Z=LZand k 1 + r 2 2 Z=(L? 1)Z, in which case Bob checks that r 1 p a 6= 0 mod L r 1p a = T 0 mod M k 1+r 2 = R 0 mod L (r 1 p a ) k 1+r 2 = S 0 mod L : The analogous proof is then used to convince Bob that (R 2 ; S 2 ) is a valid encryption of q a.

17 Shared Generation of Shared RSA Keys The Proof in Step 2 In step 1 of the protocol above, Alice has published an element S where S = pa mod M. In step 2, Alice is required to prove to Bob that she knows an integer p a such that pa = S mod M, such that 1 p a < 2 n+2 and such that p a = 3 mod 4. Alice is also required to prove similar statements about q a, and Bob to prove similar statements about p b and q b. Since these requirements are all of the same form, we will describe here only a proof system that can be used by Alice in the rst case. This proof system can be adapted in the obvious way to prove the other statements. The proof required presents a problem. The statement being proved is in NP, so one possibility is to use the generic zero-knowledge techniques described by Goldreich, Micali, and Wigderson [16]. However, the resulting proofs are not practical. Indeed the authors know of no practical zero-knowledge protocol for this problem. Therefore we propose instead an ecient proof system which is not zero-knowledge. This system is inspired by zero-knowledge proofs such as those described in Subsection 6.2. Unfortunately the proof we suggest does leak a substantial amount of knowledge about p a ; after the description of the proof system, we will discuss how much knowledge of p a is leaked by our method. The probability that Alice can cheat in any one iteration of the system described is 1=2. Alice and Bob will therefore repeat the proof enough times so that Bob is convinced by Alice's proof, but few enough times so that (with high probability) Bob cannot obtain too much knowledge about p a. To prove that Alice knows an integer p a such that pa = S mod M and 1 p a < 2 n+2, she proceeds as follows. She chooses an integer r 2 f0; 1; : : : ; 2 n? 1g uniformly at random. She publishes R = r mod M. Bob then requests (and Alice sends) either r or the integer m = p a +r. In the rst case, Bob checks that r = R and that 0 r 2 n?1. This proves that R is properly constructed. In the second case, Bob checks that m = RS and that 2 n m 2 n n. This proves that, provided r is properly constructed, m = p a + r and 1 p a 2 n n < 2 n+2. Alice also wishes to prove to Bob that p a = 3 mod 4. This can be simply achieved by requiring Alice to choose an integer r such that r = 0 mod 4 in the above proof system. Bob checks that r = 0 mod 4 or that m = p a + r = 3 mod 4 at the appropriate place in the proof. No extra knowledge about p a is leaked by this modication when Alice is acting honestly, since the value of p a mod 4 is already specied in the protocol. In the Appendix, we analyse how much knowledge is leaked by this proof system. In summary, it is shown that with probability at least 1? 2t at most d bits of information about p 2 a are d leaked to Bob by revealing the t sums p a + r 1 ; p a + r 2 ; : : :; p a + r t. See the Appendix for details. Bob gains no signicant additional knowledge from the commitments r 1; : : :; rt. In practice we would like to reduce the amount of knowledge leaked in this stage of the protocol. One possibility, discussed in Section 8, is that the system is not iterated many times. We suggest that in many applications, Alice and Bob nonetheless receive sucient assurance from the protocol. Another possibility is to omit the proof altogether, and replace it by a simple

18 Shared Generation of Shared RSA Keys 16 zero-knowledge proof of knowledge of the discrete logarithm. In this case one party may actively cheat by choosing their secret integers to be outside the correct range. Whilst this might cause the value of N to exceed L, it is then almost certain that N would fail the Boneh-Franklin test. The attack could be made even less attractive by specifying that all secret information is revealed whenever a modulus N that fails the Boneh-Franklin test is generated, so that a party cheating like this is almost certainly detected. Omitting the proof altogether may therefore also be considered a possibility in some applications. 6.4 The Proof in the Boneh-Franklin Test During the Boneh-Franklin test, Alice needs to prove to Bob that she has computed the value R = x z mod N correctly, where z = (p a + q a + 2)=4. Note that, by this stage of the protocol, Bob knows that 1 z 2 n+1. In this subsection we will describe an ecient proof system that can be used by Alice to prove this statement. Essentially the same proof can be used by Bob to prove that he has calculated correctly x (p b+q b )=4 mod N. Again only impractical zero-knowledge techniques to prove this statement like those described by Goldreich, Micali, and Wigderson [16] are known. We therefore propose instead a method which is similar to those used in Subsection 6.3. However, since we are able to use random values which are taken from a much larger range in this test, the proof is unlikely to leak a signicant amount of knowledge. The test is carried out as follows. Alice chooses an integer r 2 f0; 1; : : : ; u? 1g uniformly at random, where u is chosen so that u is large and u + 2 n+1 < L. Alice publishes S = x r mod N and T = r mod M. Then Bob requests (and Alice sends) either r or m = z + r. In the rst case, Bob checks that Otherwise, Bob checks that 0 r u? 1 (1) x r = S mod N (2) r = T mod M : (3) 1 m < L (4) x m = SR mod N (5) 4m = T 4 pa qa 2 mod M : (6) The checks (1) to (3) in the rst case ensure that S and T have been correctly constructed, i.e. there exists a (uniquely determined) integer r such that 0 r < u and such that S = x r mod N and T = r mod M. Assuming that S and T have been correctly constructed, the checks in

19 Shared Generation of Shared RSA Keys 17 the second case ensure that R = x z mod N, as the following argument shows. By (6), we have that 4m = 4(r + z) mod L (and so, since 4 is coprime to L, that m = z + r mod L). Now 0 m < L (by equation (4)). Moreover, 1 z 2 n+1 and 0 r < u L? z. Hence the fact that m = z + r mod L implies that m = z + r. The equality (5) now shows that R = x m?r = x z mod N. Just as in the subsection above, knowledge about z may be leaked to Bob via the sums m and the commitments r i and x r i. Again the results proved in the Appendix can be used to analyse how much. In this case it is very unlikely that any signicant knowledge is, in fact, leaked. For example, taking u = 2 2n+5 it is shown that with probability at least 1? t2?(n+3) no information is leaked about z from observing the t sums m i = z + r i. See the Appendix for details. As before, the commitments r i and x r i do not appear to add to Bob's eective knowledge. Note that in this case the possibility of relaxing or leaving out the proofs altogether is not a good idea: on the one hand as we have seen very little knowledge is likely to be leaked about p a, and on the other hand eective attacks like those described in Subsection 4.4 become possible if the proof is omitted. 7 Security Issues This section aims to give plausible arguments as to why the protocol in Section 5 is a secure two-party shared RSA key generation protocol. Is the Protocol Well-Dened? This boils down to the question: is the protocol a good key generator for RSA from the point of view of a third party? Just like the Cocks protocols [6] and the protocol of Boneh and Franklin [2], our protocol generates a random modulus N of the form (p a + p b )(q a + q b ) which is a product of two primes. This modulus is therefore the product of two primes chosen almost uniformly at random within a certain range. Given that it is secure to generate RSA keys simply by picking primes of the appropriate length at random (which is widely believed), then it can be seen that keys generated in this way are also secure (see [2]). Is the Protocol Secure against Eavesdropping Adversaries? Suppose Alice and Bob follow the protocol honestly. Does the extra knowledge they learn during the protocol give either party an advantage they can use to invert the resulting RSA system? Consider rst the knowledge leaked to either party by the proof systems employed during the protocol. As we have seen, the proof systems used in steps 3 and 4 are zero-knowledge and the proof system used during the Boneh-Franklin test is extremely unlikely to leak a signicant amount of knowledge. Hence the only threat comes from the system used in step 2. The most signicant bits of the secrets p a and q a or p b and q b may well be leaked by the proof at this stage. It is possible that this knowledge may be used to factor N if suciently many bits leak: for example an algorithm based on lattice techniques due to Coppersmith [8] factors N in

20 Shared Generation of Shared RSA Keys 18 polynomial time provided that the 1 4 log 2 N most signicant bits of one of the factors are known. In our situation suppose N is a 512-bit integer, then this means that Bob is able to factor N if 128 bits of p a are revealed. However, according to the analysis in the appendix, this number of bits will leak with probability only approximately 2?128. Based on the analysis, it seems that, provided the proof system is only iterated a sensible number of times, Alice and Bob are extremely unlikely to gain sucient knowledge at this stage to make such an attack viable. (If this leakage is undesirable, one possibility is to omit the proof. This possibility is discussed in Subsection 6.3.) Next consider the knowledge that may be leaked to either party during the other stages of the protocol. At the end of the protocol Alice also possesses Bob's commitments to p b and q b, the elements y i;j;a, and the value p b + q b mod e. Alice certainly gains nothing from the value p b + q b mod e since e is necessarily small. Furthermore, as in the Cocks protocol, the integer K is chosen so that it is unlikely that Alice gains any useful information from the elements y i;j;a. Finally, provided the discrete logarithm problem is hard, it seems plausible that Bob's commitments to p b and q b also do not leak any knowledge that Alice can use to her advantage. Thus it seems reasonable to assert that a passive Alice does not gain signicant advantage from the protocol to help her invert the resulting RSA system. At the end of the protocol, Bob also possesses Alice's commitments to p a and q a, the ElGamal encryptions of p a and q a, and the value of p a + q a mod e. As above, provided Bob does not gain any signicant knowledge from the ElGamal encryptions of p a and q a, he appears to gain no worthwhile advantage that might enable him to invert the resulting RSA system. It therefore seems that the protocol proposed in secure against eavesdropping adversaries provided the discrete logarithm problem is hard and the RSA problem is hard. Note that it is required that the discrete logarithm problem is hard for logarithms within certain ranges: see van Oorschot and Wiener [21] for a discussion of this problem. Is the Protocol Secure against Malicious Adversaries? The crucial point here is that the proofs and checks performed during the protocol essentially force Alice and Bob to behave honestly. There are two exceptions: there is no check that either party has selected their secret contributions at random, and the proof used during step 2 only checks that the contributions lie in the larger range 1 to 2 n+2 rather than the specied range 2 n to 2 n+1. Malicious adversaries who cheat in any other way will be detected with high probability, and hence it is sucient to restrict our attention to malicious adversaries of the special type that possibly cheat in either of the above ways but otherwise follow the protocol honestly. Firstly it seems impossible for such an adversary to gain a signicant advantage by choosing the contributions p a and q a or p b and q b non-uniformly. In this case the other pair of contributions will still have been selected uniformly at random, and so the distribution of the resulting moduli will not have been signicantly eected.

21 Shared Generation of Shared RSA Keys 19 Modulus Size K ElGamal (bits) Operations ,000, ,000, ,000,000 Figure 1: ElGamal operations to be carried out by Alice or Bob Secondly, what damage can be caused by choosing the values, say p a and q a, outside the range 2 n to 2 n+1? Since p a and q a are certainly less than 2 n+2, the resulting modulus N is certainly no greater than L. Furthermore, since the other party is behaving honestly and has selected p b and q b in the range 2 n to 2 n+1, both factors of N are certainly greater than 2 n. The power of such an adversary is therefore extremely limited. Both parties check that the modulus N generated is in the range 2 2n+2 to 2 2n+4, so the best the adversary can hope to achieve is to force the modulus to be the product of an (n + 1)-bit prime and an (n + 3)-bit prime. In the light of current factoring algorithms, this does not represent a signicant advantage. We conclude that the protocol appears to be secure in the face of malicious adversaries. 8 Eciency Issues This section contains estimates of the running time of the protocol proposed in Section 5. We also discuss ways in which the protocol might be modied in practical situations in order to increase its eciency. Workload Estimate. The protocol generates candidate moduli N of the form N = pq and then tests whether N is the product of two primes. The probability of p and q both being prime is approximately (log p)?1 (log q)?1. Hence we expect that (log 2 n ) 2 candidate moduli are produced before a 2n-bit modulus that passes the Boneh-Franklin test is generated. The bulk of the work in the protocol is involved in the ElGamal encryptions and decryptions carried out during the calculation of N. Bob performs 3K ElGamal encryptions and Alice performs essentially 3K decryptions. If K is chosen to be as small as possible subject to the condition that (3K)!=(K!) 3 > M 2 a, the expected total number of ElGamal operations to be calculated by Alice or Bob may be enumerated. Some sample values are given in Figure 1. The cost of the other components in the protocol is negligible compared to the cost of these operations. Note that the number of operations required is essentially the same as the number of operations required by the asymmetric Cocks protocol described in Subsection 3.1. However, the asymmetric Cocks protocol employs RSA operations as opposed to ElGamal operations. Since RSA is computationally less expensive than ElGamal, we would expect the asymmetric Cocks

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

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

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

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

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

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

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

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

CPSC 467b: Cryptography and Computer Security

CPSC 467b: Cryptography and Computer Security CPSC 467b: Cryptography and Computer Security Michael J. Fischer Lecture 16 March 19, 2012 CPSC 467b, Lecture 16 1/58 Authentication While Preventing Impersonation Challenge-response authentication protocols

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

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

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

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

one eciently recover the entire key? There is no known method for doing so. Furthermore, the common belief is that no such ecient algorithm exists. Th

one eciently recover the entire key? There is no known method for doing so. Furthermore, the common belief is that no such ecient algorithm exists. Th Exposing an RSA Private Key Given a Small Fraction of its Bits Dan Boneh Glenn Durfee y Yair Frankel dabo@cs.stanford.edu gdurf@cs.stanford.edu yfrankel@cs.columbia.edu Stanford University Stanford University

More information

Concurrent Non-malleable Commitments from any One-way Function

Concurrent Non-malleable Commitments from any One-way Function Concurrent Non-malleable Commitments from any One-way Function Margarita Vald Tel-Aviv University 1 / 67 Outline Non-Malleable Commitments Problem Presentation Overview DDN - First NMC Protocol Concurrent

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

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

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

Cryptographical Security in the Quantum Random Oracle Model

Cryptographical Security in the Quantum Random Oracle Model Cryptographical Security in the Quantum Random Oracle Model Center for Advanced Security Research Darmstadt (CASED) - TU Darmstadt, Germany June, 21st, 2012 This work is licensed under a Creative Commons

More information

Abstract In a (k; n) threshold digital signature scheme, k out of n signers must cooperate to issue a signature. In this paper, we show an ecient (k;

Abstract In a (k; n) threshold digital signature scheme, k out of n signers must cooperate to issue a signature. In this paper, we show an ecient (k; New ElGamal Type Threshold Digital Signature Scheme Choonsik PARK y and Kaoru KUROSAWA z y Electronics and Telecommunications Research Institute, P.O.Box 106, Yusong-ku, Taejeon, 305-600, Korea z Tokyo

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

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

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

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

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

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

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 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 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

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

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 11 October 7, 2015 CPSC 467, Lecture 11 1/37 Digital Signature Algorithms Signatures from commutative cryptosystems Signatures from

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

Zero-Knowledge Proofs and Protocols

Zero-Knowledge Proofs and Protocols Seminar: Algorithms of IT Security and Cryptography Zero-Knowledge Proofs and Protocols Nikolay Vyahhi June 8, 2005 Abstract A proof is whatever convinces me. Shimon Even, 1978. Zero-knowledge proof is

More information

The odd couple: MQV and HMQV

The odd couple: MQV and HMQV The odd couple: MQV and HMQV Jean-Philippe Aumasson 1 / 49 Summary MQV = EC-DH-based key agreement protocol, proposed by Menezes, Qu and Vanstone (1995), improved with Law and Solinas (1998), widely standardized

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

Impossibility Results for Universal Composability in Public-Key Models and with Fixed Inputs

Impossibility Results for Universal Composability in Public-Key Models and with Fixed Inputs Impossibility Results for Universal Composability in Public-Key Models and with Fixed Inputs Dafna Kidron Yehuda Lindell June 6, 2010 Abstract Universal composability and concurrent general composition

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

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

Exam Security January 19, :30 11:30

Exam Security January 19, :30 11:30 Exam Security January 19, 2016. 8:30 11:30 You can score a maximum of 100. Each question indicates how many it is worth. You are NOT allowed to use books or notes, or a (smart) phone. You may answer in

More information

Cryptographic Protocols Notes 2

Cryptographic Protocols Notes 2 ETH Zurich, Department of Computer Science SS 2018 Prof. Ueli Maurer Dr. Martin Hirt Chen-Da Liu Zhang Cryptographic Protocols Notes 2 Scribe: Sandro Coretti (modified by Chen-Da Liu Zhang) About the notes:

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

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

From Fixed-Length to Arbitrary-Length RSA Encoding Schemes Revisited

From Fixed-Length to Arbitrary-Length RSA Encoding Schemes Revisited From Fixed-Length to Arbitrary-Length RSA Encoding Schemes Revisited Julien Cathalo 1, Jean-Sébastien Coron 2, and David Naccache 2,3 1 UCL Crypto Group Place du Levant 3, Louvain-la-Neuve, B-1348, Belgium

More information

COS433/Math 473: Cryptography. Mark Zhandry Princeton University Spring 2018

COS433/Math 473: Cryptography. Mark Zhandry Princeton University Spring 2018 COS433/Math 473: Cryptography Mark Zhandry Princeton University Spring 2018 Identification Identification Non- Repudiation Consider signature- based C- R sk ch=r res = Sig(vk,ch) Bob can prove to police

More information

Security Protocols and Application Final Exam

Security Protocols and Application Final Exam Security Protocols and Application Final Exam Solution Philippe Oechslin and Serge Vaudenay 25.6.2014 duration: 3h00 no document allowed a pocket calculator is allowed communication devices are not allowed

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

Oblivious Evaluation of Multivariate Polynomials. and Applications

Oblivious Evaluation of Multivariate Polynomials. and Applications 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

More information

Entity Authentication

Entity Authentication Entity Authentication Sven Laur swen@math.ut.ee University of Tartu Formal Syntax Entity authentication pk (sk, pk) Gen α 1 β 1 β i V pk (α 1,...,α i 1 ) α i P sk (β 1,...,β i 1 ) Is it Charlie? α k The

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

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

8 Elliptic Curve Cryptography

8 Elliptic Curve Cryptography 8 Elliptic Curve Cryptography 8.1 Elliptic Curves over a Finite Field For the purposes of cryptography, we want to consider an elliptic curve defined over a finite field F p = Z/pZ for p a prime. Given

More information

Fast Three-Party Shared Generation of RSA Keys Without Distributed Primality Tests

Fast Three-Party Shared Generation of RSA Keys Without Distributed Primality Tests Fast Three-Party Shared Generation of RSA Keys Without Distributed Primality Tests Maged H. Ibrahim I. I. Ibrahim A. H. El-Sawy Telecommunications Department, Faculty of Engineering, Helwan University

More information

Lecture 17 - Diffie-Hellman key exchange, pairing, Identity-Based Encryption and Forward Security

Lecture 17 - Diffie-Hellman key exchange, pairing, Identity-Based Encryption and Forward Security Lecture 17 - Diffie-Hellman key exchange, pairing, Identity-Based Encryption and Forward Security Boaz Barak November 21, 2007 Cyclic groups and discrete log A group G is cyclic if there exists a generator

More information

2 Message authentication codes (MACs)

2 Message authentication codes (MACs) CS276: Cryptography October 1, 2015 Message Authentication Codes and CCA2 Instructor: Alessandro Chiesa Scribe: David Field 1 Previous lecture Last time we: Constructed a CPA-secure encryption scheme from

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

[6] was based on the quadratic residuosity problem, whilst the second given by Boneh and Franklin [3] was based on the Weil pairing. Originally the ex

[6] was based on the quadratic residuosity problem, whilst the second given by Boneh and Franklin [3] was based on the Weil pairing. Originally the ex Exponent Group Signature Schemes and Ecient Identity Based Signature Schemes Based on Pairings F. Hess Dept. Computer Science, University of Bristol, Merchant Venturers Building, Woodland Road, Bristol,

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

Solving Systems of Modular Equations in One Variable: How Many RSA-Encrypted Messages Does Eve Need to Know?

Solving Systems of Modular Equations in One Variable: How Many RSA-Encrypted Messages Does Eve Need to Know? Solving Systems of Modular Equations in One Variable: How Many RSA-Encrypted Messages Does Eve Need to Know? Alexander May, Maike Ritzenhofen Faculty of Mathematics Ruhr-Universität Bochum, 44780 Bochum,

More information

Abstract. Often the core diculty in designing zero-knowledge protocols arises from having to

Abstract. Often the core diculty in designing zero-knowledge protocols arises from having to Interactive Hashing Simplies Zero-Knowledge Protocol Design Rafail Ostrovsky Ramarathnam Venkatesan y Moti Yung z (Extended abstract) Abstract Often the core diculty in designing zero-knowledge protocols

More information

From Unpredictability to Indistinguishability: A Simple. Construction of Pseudo-Random Functions from MACs. Preliminary Version.

From Unpredictability to Indistinguishability: A Simple. Construction of Pseudo-Random Functions from MACs. Preliminary Version. From Unpredictability to Indistinguishability: A Simple Construction of Pseudo-Random Functions from MACs Preliminary Version Moni Naor Omer Reingold y Abstract This paper studies the relationship between

More information

MTAT Cryptology II. Zero-knowledge Proofs. Sven Laur University of Tartu

MTAT Cryptology II. Zero-knowledge Proofs. Sven Laur University of Tartu MTAT.07.003 Cryptology II Zero-knowledge Proofs Sven Laur University of Tartu Formal Syntax Zero-knowledge proofs pk (pk, sk) Gen α 1 β 1 β i V pk (α 1,...,α i 1 ) α i P sk (β 1,...,β i 1 ) (pk,sk)? R

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

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

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

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

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

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

Cryptography. Course 1: Remainder: RSA. Jean-Sébastien Coron. September 21, Université du Luxembourg

Cryptography. Course 1: Remainder: RSA. Jean-Sébastien Coron. September 21, Université du Luxembourg Course 1: Remainder: RSA Université du Luxembourg September 21, 2010 Public-key encryption Public-key encryption: two keys. One key is made public and used to encrypt. The other key is kept private and

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

Lecture 10. Public Key Cryptography: Encryption + Signatures. Identification

Lecture 10. Public Key Cryptography: Encryption + Signatures. Identification Lecture 10 Public Key Cryptography: Encryption + Signatures 1 Identification Public key cryptography can be also used for IDENTIFICATION Identification is an interactive protocol whereby one party: prover

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

Algorithmic Number Theory and Public-key Cryptography

Algorithmic Number Theory and Public-key Cryptography Algorithmic Number Theory and Public-key Cryptography Course 3 University of Luxembourg March 22, 2018 The RSA algorithm The RSA algorithm is the most widely-used public-key encryption algorithm Invented

More information

Cryptography and Security Final Exam

Cryptography and Security Final Exam Cryptography and Security Final Exam Serge Vaudenay 29.1.2018 duration: 3h no documents allowed, except one 2-sided sheet of handwritten notes a pocket calculator is allowed communication devices are not

More information

One can use elliptic curves to factor integers, although probably not RSA moduli.

One can use elliptic curves to factor integers, although probably not RSA moduli. Elliptic Curves Elliptic curves are groups created by defining a binary operation (addition) on the points of the graph of certain polynomial equations in two variables. These groups have several properties

More information

ASYMMETRIC ENCRYPTION

ASYMMETRIC ENCRYPTION ASYMMETRIC ENCRYPTION 1 / 1 Recommended Book Steven Levy. Crypto. Penguin books. 2001. A non-technical account of the history of public-key cryptography and the colorful characters involved. 2 / 1 Recall

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

CODING AND CRYPTOLOGY III CRYPTOLOGY EXERCISES. The questions with a * are extension questions, and will not be included in the assignment.

CODING AND CRYPTOLOGY III CRYPTOLOGY EXERCISES. The questions with a * are extension questions, and will not be included in the assignment. CODING AND CRYPTOLOGY III CRYPTOLOGY EXERCISES A selection of the following questions will be chosen by the lecturer to form the Cryptology Assignment. The Cryptology Assignment is due by 5pm Sunday 1

More information

Théorie de l'information et codage. Master de cryptographie Cours 10 : RSA. 20,23 et 27 mars Université Rennes 1

Théorie de l'information et codage. Master de cryptographie Cours 10 : RSA. 20,23 et 27 mars Université Rennes 1 Théorie de l'information et codage Master de cryptographie Cours 10 : RSA 20,23 et 27 mars 2009 Université Rennes 1 Master Crypto (2008-2009) Théorie de l'information et codage 20,23 et 27 mars 2009 1

More information

Week 7 An Application to Cryptography

Week 7 An Application to Cryptography SECTION 9. EULER S GENERALIZATION OF FERMAT S THEOREM 55 Week 7 An Application to Cryptography Cryptography the study of the design and analysis of mathematical techniques that ensure secure communications

More information

Cryptography IV: Asymmetric Ciphers

Cryptography IV: Asymmetric Ciphers Cryptography IV: Asymmetric Ciphers Computer Security Lecture 7 David Aspinall School of Informatics University of Edinburgh 31st January 2011 Outline Background RSA Diffie-Hellman ElGamal Summary Outline

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

Homework 3 Solutions

Homework 3 Solutions 5233/IOC5063 Theory of Cryptology, Fall 205 Instructor Prof. Wen-Guey Tzeng Homework 3 Solutions 7-Dec-205 Scribe Amir Rezapour. Consider an unfair coin with head probability 0.5. Assume that the coin

More information

Fast Signature Generation with a. Fiat Shamir { Like Scheme. Fachbereich Mathematik / Informatik. Abstract

Fast Signature Generation with a. Fiat Shamir { Like Scheme. Fachbereich Mathematik / Informatik. Abstract Fast Signature Generation with a Fiat Shamir { Like Scheme H. Ong Deutsche Bank AG Stuttgarter Str. 16{24 D { 6236 Eschborn C.P. Schnorr Fachbereich Mathematik / Informatik Universitat Frankfurt Postfach

More information

RSA. Ramki Thurimella

RSA. Ramki Thurimella RSA Ramki Thurimella Public-Key Cryptography Symmetric cryptography: same key is used for encryption and decryption. Asymmetric cryptography: different keys used for encryption and decryption. Public-Key

More information

Augmented Black-Box Simulation and Zero Knowledge Argument for NP

Augmented Black-Box Simulation and Zero Knowledge Argument for NP Augmented Black-Box Simulation and Zero Knowledge Argument for N Li Hongda, an Dongxue, Ni eifang The Data Assurance and Communication Security Research Center, School of Cyber Security, University of

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

Privacy and Computer Science (ECI 2015) Day 4 - Zero Knowledge Proofs Mathematics

Privacy and Computer Science (ECI 2015) Day 4 - Zero Knowledge Proofs Mathematics Privacy and Computer Science (ECI 2015) Day 4 - Zero Knowledge Proofs Mathematics F. Prost Frederic.Prost@ens-lyon.fr Ecole Normale Supérieure de Lyon July 2015 F. Prost Frederic.Prost@ens-lyon.fr (Ecole

More information

Threshold Undeniable RSA Signature Scheme

Threshold Undeniable RSA Signature Scheme Threshold Undeniable RSA Signature Scheme Guilin Wang 1, Sihan Qing 1, Mingsheng Wang 1, and Zhanfei Zhou 2 1 Engineering Research Center for Information Security Technology; State Key Laboratory of Information

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

Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Module No. # 01 Lecture No. # 33 The Diffie-Hellman Problem

More information

L7. Diffie-Hellman (Key Exchange) Protocol. Rocky K. C. Chang, 5 March 2015

L7. Diffie-Hellman (Key Exchange) Protocol. Rocky K. C. Chang, 5 March 2015 L7. Diffie-Hellman (Key Exchange) Protocol Rocky K. C. Chang, 5 March 2015 1 Outline The basic foundation: multiplicative group modulo prime The basic Diffie-Hellman (DH) protocol The discrete logarithm

More information

Secret sharing schemes

Secret sharing schemes Secret sharing schemes Martin Stanek Department of Computer Science Comenius University stanek@dcs.fmph.uniba.sk Cryptology 1 (2017/18) Content Introduction Shamir s secret sharing scheme perfect secret

More information

2. Cryptography 2.5. ElGamal cryptosystems and Discrete logarithms

2. Cryptography 2.5. ElGamal cryptosystems and Discrete logarithms CRYPTOGRAPHY 19 Cryptography 5 ElGamal cryptosystems and Discrete logarithms Definition Let G be a cyclic group of order n and let α be a generator of G For each A G there exists an uniue 0 a n 1 such

More information

Intro to Public Key Cryptography Diffie & Hellman Key Exchange

Intro to Public Key Cryptography Diffie & Hellman Key Exchange Introduction to Modern Cryptography Lecture 5 Number Theory: 1. Quadratic residues. 2. The discrete log problem. Intro to Public Key Cryptography Diffie & Hellman Key Exchange Course Summary - Math Part

More information

CPSC 467: Cryptography and Computer Security

CPSC 467: Cryptography and Computer Security CPSC 467: Cryptography and Computer Security Michael J. Fischer Lecture 15 October 25, 2017 CPSC 467, Lecture 15 1/31 Primitive Roots Properties of primitive roots Lucas test Special form primes Functions

More information

A Fair and Efficient Solution to the Socialist Millionaires Problem

A Fair and Efficient Solution to the Socialist Millionaires Problem In Discrete Applied Mathematics, 111 (2001) 23 36. (Special issue on coding and cryptology) A Fair and Efficient Solution to the Socialist Millionaires Problem Fabrice Boudot a Berry Schoenmakers b Jacques

More information