Presentation is loading. Please wait.

Presentation is loading. Please wait.

Modern Cryptography New Directions in Cryptography W.Diffie & M.E.Hellman Probabilistic Encryption S.Goldwasser & S.Micali.

Similar presentations

Presentation on theme: "Modern Cryptography New Directions in Cryptography W.Diffie & M.E.Hellman Probabilistic Encryption S.Goldwasser & S.Micali."— Presentation transcript:


2 Modern Cryptography New Directions in Cryptography W.Diffie & M.E.Hellman Probabilistic Encryption S.Goldwasser & S.Micali

3 By Theoretically – Perfect secrecy [Shannon]. NOT MUCH BESIDES… The notion of a function easy to compute but hard to “inverse” arose... [Purdy] Complexity: NP (completeness) vs. P [Cook, Karp]. Practically – Computers and “Private key security” exist (DES), and are becoming more and more applicable.

4 In fact, computers and cryptography go hand in hand from the first computers. (WWII) In fact, there were confidential papers in cryptography (in CESG): Non-secret-encryption [J.H.Ellis ‘70] (with a proof!) ¼RSA [C.C.Cocks ’73] By (hush hush!)

5 By (biographical details) In 1972, Whitfiled Diffie, an AI graduate student, developes more than an interest in cryptography. In 1974, at the age of 30, he phones Martin Hellman, assistant professor in Stanford, to discuss issues in crypto. They begin collaborating. In 1975, Diffie thinks of quitting altogether. "I was worried that I wasn't particularly remarkable as a programmer and that my lot in life would get progressively worse if things continued going as they were." Also In 1975, he bares success. "The thing I remember distinctly is that I was sitting in the living room when I thought of it the first time and then I went downstairs to get a Coke and I almost lost it," he says. "I mean, there was this moment when - I was thinking about something. What was it? And then I got it back and didn't forget it."

6 New Directions in Cryptography W.Diffie & M.E.Hellman HellmanDiffie We stand today on the brink of a “We stand today on the brink of a revolution in cryptography”

7 Emphasis 1.NO definitions, notations, claims, proofs etc. This is an invited paper, so: 2. HOWEVER: clever ideas, clever insights! 3. Practicality. Historical survey.

8 So, what do we have in “ conventional cryptographic system ” (block or stream)? S k :{P}!{C}

9 “ Conventional Cryptographic System ” Goal: Enciphering and deciphering – “inexpensive”, but any “cryptananlytic operation” is “too complex to be economical”. “We call a task computationally infeasible, if its cost... is finite but impossibly large.” Important desired property- Error propagation: “A small change in the input block produces a major change in the resulting output”.

10 “ Conventional Cryptographic System ” Threats: ({S k } is known) Eavesdropping – “Ciphertext only”, “Known plaintext”, “Chosen plaintext”. Injecting – new messages, or combining/repeating. Problems: 3. n users )  (n 2 ) keys. 1. Where does the secure channel comes from? 2. Authentication & Signature.


12 THE PUBLIC KEY CRYPTOSYSTEM! Two families {E k } k, {D k } k of invertible transformations, E k, D k :{M}!{M}, s.t. the following holds: 1. 8 k, E k is the inverse of D k k, 8 m2{M}, E k (m), D k (m), are “easy to compute”. 3. For almost every k, each easily computed algorithm equivalent D k to is computationally infeasible to derive given E k k, it easy to come up with the pair h D k, E k i. Publicize E k, but keep D k to yourself! RANDOMIZED!

13 Suggestions 1.(useless) An invertible matrix E, D = E -1. (n 2 vs. n 3, at the time) 2.“One way compiler”. Public Key Distribution System: “Securely exchange a key over an insecure channel”. 3. Merkle. 4. The Diffie-Hellman key exchange.

14 The DH Key Exchange Everybody knows: q – a prime, g – a generator for Z * q A Selects x A 2 r Z* q. Sends m A = g x A mod q. Computes K = m B x A mod q. B Selects x B 2 r Z* q. Sends m B = g x B mod q. Computes K = m A x B mod q. K = g x A x B mod q. Secure, if discrete log takes  (q 1/2 )

15 Signature By public key cryptosystem! A function f is a one-way function if it is easy to compute f(x), but for almost every y it is “computationally infeasible to solve the equation y=f(x).” (“Polynomials offer an elementary example of one-way functions.” “One way functions are easy to devise.”) Just send - h m, D k (m)i. One Way

16 One Way Authentication Techniques: 1.Login: user picks PW, but sends f(PW). 2.Login revised: user picks PW, send f T (PW). At time t, user authenticates by sending f T-t (PW) (requires fast enumerations of f). 3. Select x 0 1,x 1 1,x 0 2,x 1 2,…,x 0 N,x 1 N. Compute their images under f: y 0 1, y 1 1, y 0 2, y 1 2,…,y 0 N,y 1 N. Publicize these 2N images. Send the message m = m 1,m 2,…m N and x 1 m 1,x 2 m 2,…,x N m N

17 Insights “A cryptosystem which is secure against a known plaintext attack, can be used to produce a OWF”. Choose P 0 arbitrarily. Define: f(x) = S x (P 0 )

18 Insights (cont.) Trap-door OWF: a simply computed inverse exists, but given only f it is infeasible to find an inverse. Only possession of a trap-door information allows computing an inverse easily. (e.g. The random string used to produce E,D.) (A quasi-OWF: same definition, without the trap-door information.) Trap-door cipher: resists any cryptanalysis by anyone not in possession of a trap-door information. “A trap-door cryptosystem can be used to produce a public key distribution system”. A enciphers and publicize m, E k (m), B breaks the encryption.

19 Insights (cont.) Public Key Cryptosystem ) OW authentication. “Not conversly”. Public Key Cryptosystem ) Public Key Distribution System. “The converse does not appear to hold”. Public Key Cryptosystem ) Trap-door OWF. The converse – the function “must be invertible”

20 Connection to Complexity “The cryptanalytic difficulty of a system whose encryption and decryption operations can be done in P time cannot be greater than NP”. Nondeterministically, choose the key (maybe also the message). Verify by encryption / decryption in polytime. “The general cryptanalytic problem is NP-complete.” By Constructing a OWF from the Knapsack Problem.

21 The Knapsack Problem Given {a 1, a 2, …, a n }, and x2{0,1} n, computing y=f(x)=  i a i x i is easy, yet finding a subset of {a i } i that sums up to a given y is NP-complete. Problems: 1. f cannot be degenerate. 2. f cannot be super-increasing. Is f hard on average? …Probably not. Knapsack based encryption – given `77 [Merkle, Hellman], broken `82 [Shamir] and later others.

22 Historical Note From Caesar cipher to WWII. References – a book [~ 1200 pages]: D. Kahn, The Codebreakers, The Story of Secret Writing. Emphasize the following point: “innovation has come primarily from the amateurs”. “We hope this will inspire others to work in this facinating area in which participation has been discouraged in the recent past by a nearly total government monopoly.”

23 And what happened to Diffie & Hellman? Diffie didn't finish his degree, left to work in cryptography oriented companies. Works till today. Was awarded doctorate in 1992 (!) by the Swiss Federal IT. Hellman became a prof. in `79 and is currently retired. Both – highly respected, highly awarded.

24 After DH: Practical Public Keys Several suggestions, including the knapsack, and McEliece (ECC of invertible matrix and permutation + a random small mistake) – RSA! 1979 – Rabin (RSA with squaring) Mathematical definitions of security: – Blum; Goldwasser & Micali.

25 Probabilistic Encryption Goldwasser & Micali ’84

26 Main contributions of this paper First paper to give formal definitions of security Chose an adversary with limited power (polynomial) Showed equivalence of security definitions Gave a construction which satisfies the definition and proved its security based on a common assumption (quadratic residuosity is hard)

27 Previous Attempts at Public Key Cryptography DH ’76 RSA ’78 Rabin ‘79

28 Examples of Problems Might be easy for some messages  In RSA, 1 and 0 always encrypt to themselves  Small messages can be easily decrypted Might reveal partial information  In RSA, the Jacobi symbol of the message is preserved under encryption Message Indistinguishability  Given two messages m 1 and m 2 and their encryptions E k (m 1 ) and E k (m 2 ) – decide which is which  No deterministic public key encryption gives message indistinguishability !!

29 Main Idea  Make the Encryption Probabilistic ! Messages encrypt to many possible ciphertexts The encryption algorithm is probabilistic The decryption algorithm has a deterministic output Notice that any deterministic encryption can be converted into a randomized one  part (length=l) of plaintext consist of a randomly generated bit-string  not provably secure

30 Security Definitions Polynomial security  no passive adversary can in polynomial time  select two plaintext m 1 and m 2 and  then distinguish between encryptions of m 1 and m 2 with probability greater than ½ +1/poly(k)

31 Security Definitions II Semantically secure  for all probability distributions over the message space  whatever a passive adversary can compute in expected polynomial time about the plaintext given the ciphertext  it can also compute in expected polynomial time without the ciphertext.  Semantic security of PKC = no partial information leakage

32 Perfect vs. Semantic security perfect secrecy :  a passive adversary, even with infinite computational resources  can learn nothing about plaintext from ciphertext  Limitation: cannot be achieved unless key is as long as message semantic security: polynomially bounded perfect secrecy  a passive adversary with poly. bounded resources can learn nothing   semantically secure PKC where keys are shorter than messages

33 Unapproximable Trapdoor Predicates A family of unapproximable trapdoor predicates (UTP) is  a family of predicates {B i (x)} i  Which is unapproximable, i.e., for any polynomially sized circuit C, Pr[C(x)=B i (x)] <½+1/poly(k)  And has a trapdoor given i and y=0,1 can easily find x s.t. B i (x)=y with uniform probability over the possible x There exists an algorithm T and a function  (i) s.t. given (  (i), i, x) T can compute B i (x) It is possible to select pairs (i,  (i)) with uniform probability

34 A note on quadratic residuosity y is a quadratic residue modulo n if y has a square root modulo n That is y=x 2 modulo n y is a quadratic non-residue modulo n if y doesn’t have a square root modulo n If n is prime, computing whether y is a quadratic residue is easy. The Legendre symbol (y/p) is defined to be 1 if y is a quadratic residue mod p and -1 otherwise The Jacobi symbol (y/n) is defined as (y/p 1 )(y/p 2 )…(y/p k )

35 A note on quadratic residuosity Computing the Jacobi symbol is easy even if the factorization of n is not known !! Raising to an odd power preserves the Jacobi symbol y is a quadratic residue mod n iff (y/p 1 )=(y/p 2 )=1 But (y/n)=1 does not imply that y is a quadratic residue If (y/p 1 )=(y/p 2 )=-1 then (y/n)=1 but y is not a quadratic residue

36 Quadratic Residuosity as a UTP Private key (  (i)) is a pair of primes p 1,p 2 Public key (i) is n=p 1 p 2 and y – a quadratic non- residue Q i (x) = 1 iff x is a quadratic residue modulo n Facts:  Q i (x) is hard to approximate  Given p 1, p 2 it is easy to compute Q i (x)  It is easy to generate residues with uniform probability  Given a non-residue it is easy to generate non- residues with uniform probability  It is easy to generate p 1,p 2,y

37 PKC and PPKC Public Key Cryptosystem (PKC) is composed of a server  which given  MG – a message generator and a security parameter k  Outputs, (E)ncryption and (D)ecryption algorithms Probabilistic PKC (PPKC) with UTP B  Outputs a pair (i,  (i)) where i specifies the Encryption algorithm E, and  (i) specifies the Decryption algorithm D  E takes an l bit input m 1 m 2 …m l for each m j, E randomly selects x j such that B i (x j )=m j. The output is (x 1,x 2,…,x l )  D takes (x 1,x 2,…,x l ) and uses T to find m j for each x j (remember that T takes (x, i,  (i)) and outputs B i (x))

38 PPKC with Quadratic Residuosity Generates p 1,p 2 and y – a quadratic non-residue Outputs a pair (i,  (i)) where i is (n=p 1 p 2,y), and  (i) = (p 1,p 2 ) The encryption algorithm generates for every bit m j of the message a x j s.t., Q i (x)=m j and outputs (x 1,…,x l ) The decryption algorithm takes (x 1,x 2,…,x l ) and uses its knowledge of p 1,p 2 to find m j for each x j

39 Main Results Any PPKC with a UTP is polynomially secure A PKC is polynomially secure  it is semantically secure

40 PPKC is Polynomially Secure Assume that an (polynomially bounded) adversary A can find two messages m 1,m 2 and them distinguish with non-negligible probability between E i (m 1 ) and E i (m 2 ) Look at a sequence of messages m 1 =x 1,x 2,…,x t =m 2 s.t. x j and x j+1 differ by a single bit There must be j s.t. A can distinguish between E i (x j ) and E i (x j+1 ) with non-negligible probability But now we can use this fact to contradict the unapproximability of B i

41 PPKC is Polynomially Secure Given y we can approximate B i (y) by generating many messages which encrypt to E i (x j ) or E i (x j+1 ) where the j th element of the message is y Since we can distinguish between encryptions of x j and x j+1 with non-negligible probability, we can approximate B i (y) with non-negligible probability A contradiction to the unapproximability of B i

42 Polynomially Secure  Semantically Secure Recall a PKC is semantically secure if for all message distributions and for all functions f and for all polynomially sized circuit C, given an encryption E(m) of m the probability that C(E(m)) = f(m) is at most the probability of f(m), up to a negligible factor (over the given message distribution). Let  be a polynomially secure PKC and assume for a contradiction that  is not semantically secure. So we have a polynomially sized circuit C that given E(m) can compute f(m) with probability higher than the probability of f(m) (over message distribution).

43 Polynomially  Semantically By the assumption we have advantage  k =1/poly(k) Denote by r E m, y the probability that C outputs y on input E(m) Fix some message  Let M’ be the set of all messages m s.t. |r E m,v -r E ,v | >  2 /10 Lemma 1  Given m2 M’ we can find v s.t., |r E m,v -r E ,v |>  2 /20 in polynomial time Lemma 2   m2 M ’ p m >  k /10

44 Polynomially  Semantically Lemma 1  Given m2 M’ we can find v s.t., |r E m,v -r E ,v |>  2 /20 in polynomial time Lemma 2   m2 M ’ p m >  k /10 Lemma 1 and 2 imply that we can find two messages m 1, m 2 and a value v s.t., |r E m1,v -r E m2,v |>  2 /20 But this allows us to distinguish between m 1 and m 2 in contradiction to the polynomially secure PKC Conclusion: polynomial security  semantic security

45 Other solutions Notice that every bit of the message is expanded into k bits in the encryption Using apseudo-random generator, it is possible to add a total of k bits to the entire message [GB 84’] Idea is to generate a random seed, and send the encryption of the seed together with the message xored with the pseudo-random output

46 Further development Pseudo-random generators/functions [GGM 84’] Interactive proofs/Zero knowledge [GMR 85’] Digital Signatures [GMY ’83]

47 Thank You

Download ppt "Modern Cryptography New Directions in Cryptography W.Diffie & M.E.Hellman Probabilistic Encryption S.Goldwasser & S.Micali."

Similar presentations

Ads by Google