/
Cryptography Lecture 21 Corollary Cryptography Lecture 21 Corollary

Cryptography Lecture 21 Corollary - PowerPoint Presentation

ani
ani . @ani
Follow
66 views
Uploaded On 2023-06-21

Cryptography Lecture 21 Corollary - PPT Presentation

Let G be a finite group of order m For any positive integer e define f e g g e If gcd em 1 then f e is a permutation of G Moreover if d e 1 mod m then f d is the inverse of ID: 1001361

problem generator mod rsa generator problem rsa mod hard group order cyclic assumption compute discrete genrsa logarithm uniform easy

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Cryptography Lecture 21 Corollary" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

1. CryptographyLecture 21

2. CorollaryLet G be a finite group of order mFor any positive integer e, define fe(g)=geIf gcd(e,m)=1, then fe is a permutation of G. Moreover, if d = e-1 mod m then fd is the inverse of feProof: The first part follows from the second.And fd(fe(g)) = (ge)d = ged = g[ed mod m] = g1 = g

3. CorollaryLet N=pq for p, q distinct primesSo | ℤ*N | = (N) = (p-1)(q-1)If gcd(e, (N))=1, then fe(x) = [xe mod N] is a permutation

4. ExampleN=33, e=3xx3 mod 33112843152671381710101319145164xx3 mod 3317291928201423232516262028729231253232

5. CorollaryIf gcd(e, (N))=1, then fe(x) = [xe mod N] is a permutationIn that case, let y1/e mod N be the unique x  ℤ*N such that xe = y mod NMoreover, if d = e-1 mod (N) then fd is the inverse of feI.e., y1/e = [yd mod N] We can efficiently compute e-th roots if the factorization of N is known

6. Computing e-th rootsIf p, q are known: (N) can be computed d = e-1 mod (N) can be computed can efficiently compute e-th roots modulo NIf p, q are not known: computing (N) is as hard as factoring N computing d is as hard as factoring N what about computing e-th roots?

7. The RSA assumption (informally)“Computing e-th roots modulo N is hard”When the factorization of N is unknownCareful: it is not hard to compute e-th roots of all y  ℤ*N In particular, it is easy when y is an e-th power (over the integers, with no modular reduction)Hard for a randomly chosen y

8. The RSA assumption (formal)Let GenRSA be an algorithm that on input 1n, outputs (N, e, d) with N=pq a product of two distinct n-bit primesed = 1 mod (N)

9. Implementing GenRSAOne way to implement GenRSA:Generate uniform n-bit primes p, qSet N := pqCompute (N) := (p-1)(q-1)Choose arbitrary e with gcd(e, (N))=1Compute d := [e-1 mod (N)]Output (N, e, d)Choice of e?Not believed to affect hardness of RSA probleme = 3 or e = 216 + 1 for efficient exponentiation

10. The RSA assumption (formal)Fix GenRSA and some algorithm AExperiment RSA-invA, GenRSA(n):Compute (N, e, d)  GenRSA(1n)Choose uniform y  ℤ*NRun A(N, e, y) to get xExperiment evaluates to 1 iff xe = y mod N

11. The RSA assumption (formal)The RSA problem is hard relative to GenRSA if for all PPT algorithms A, Pr[RSA-invA, GenRSA(n) = 1] < negl(n)

12. RSA and factoringIf factoring moduli output by GenRSA is easy, then the RSA problem is easy relative to GenRSAFactoring is easy  RSA problem is easyHardness of the RSA problem is not known to be implied by hardness of factoringPossible factoring is hard but RSA problem is easyPossible both are hard but RSA problem is “easier”Currently, RSA is believed to be as hard as factoring

13. Worked example (N=55, e=3)What is the cube root of 2 (modulo 55)?

14. Cyclic groups

15. Cyclic groupsLet G be a finite group of order m (written multiplicatively)Let g be some element of GConsider the set <g> = {g0, g1, …}We know gm = 1 = g0, so the set has ≤ m elementsIf the set has m elements, then it is all of G !In this case, we say g is a generator of GIf G has a generator, we say G is cyclicA cyclic group can have more than one generator

16. ExamplesℤNCyclic (for any N); 1 is always a generator: {0, 1, 2, …, N-1}ℤ8Is 3 a generator?{0, 3, 6, 1, 4, 7, 2, 5} – yes!Is 2 a generator?{0, 2, 4, 6} – no!

17. Exampleℤ*11Is 3 a generator?{1, 3, 9, 5, 4} – no!Is 2 a generator?{1, 2, 4, 8, 5, 10, 9, 7, 3, 6} – yes!Is 8 a generator?{1, 8, 9, 6, 4, 10, 3, 2, 5, 7} – yes!Note that elements appear in a different order from above…

18. Exampleℤ*13<2> = {1, 2, 4, 8, 3, 6, 12, 11, 9, 5, 10, 7},so 2 is a generator<8> = {1, 8, 12, 5},so 8 is not a generator

19. Important examplesTheorem: Any group of prime order is cyclic, and every non-identity element is a generatorTheorem: If p is prime, then ℤ*p is cyclicNote: the order is p-1, which is not prime for p > 3

20. Uniform samplingGiven cyclic group G of order q along with generator g, easy to sample a uniform hG:Choose uniform x{0, …, q-1}; set h := gx

21. Discrete-logarithm problemFix cyclic group G of order q, and generator gWe know that {g0, g1, …, gq-1} = GFor every hG, there is a unique xℤq s.t. gx = hDefine loggh to be this x – the discrete logarithm of h with respect to g (in the group G)

22. ExamplesIn ℤ*11What is log2 9?<2> = {1, 2, 4, 8, 5, 10, 9, 7, 3, 6}, so log2 9 = 6What is log8 9?<8> = {1, 8, 9, 6, 4, 10, 3, 2, 5, 7}, so log8 9 = 2In ℤ*13What is log2 9?<2> = {1, 2, 4, 8, 3, 6, 12, 11, 9, 5, 10, 7}, so log2 9 = 8

23. Discrete-logarithm problem (informal)Dlog problem in G: Given generator g and element h, compute logghDlog assumption in G: Solving the discrete log problem in G is hardCareful: not hard to compute loggh for all h, but hard for a randomly chosen h

24. ExampleIn ℤ*3092091139What is log2 1656755742 ?

25. Discrete-logarithm problemLet G be a group-generation algorithmOn input 1n, outputs a (description of a) cyclic group G, its order q (with ǁqǁ=n), and a generator gFor algorithm A, define exp’t DlogA,G(n):Compute (G, q, g)  G(1n)Choose uniform h  GRun A(G, q, g, h) to get xExperiment evaluates to 1 if gx = h

26. Discrete-logarithm problemThe discrete-logarithm problem is hard relative to G if for all PPT algorithms A, Pr[DlogA,G(n) = 1] ≤ negl(n)

27. Diffie-Hellman problemsFix cyclic group G and generator gDefine DHg(h1, h2) = DHg(gx, gy) = gxy

28. Diffie-Hellman assumptionsComputational Diffie-Hellman (CDH) problem:Given g, h1, h2, compute DHg(h1, h2)Decisional Diffie-Hellman (DDH) problem:Given g, h1, h2, distinguish DHg(h1, h2) from a uniform element of G

29. ExampleIn ℤ*11<2> = {1, 2, 4, 8, 5, 10, 9, 7, 3, 6}So DH2(7, 5) = ?In ℤ*3092091139What is DH2(1656755742, 938640663)?Is 1994993011 the answer, or is it just a random element of ℤ*3092091139 ?

30. DDH problemLet G be a group-generation algorithmOn input 1n, outputs a cyclic group G, its order q (with ǁqǁ=n), and a generator gThe DDH problem is hard relative to G if for all PPT algorithms A: | Pr[A(G, q, g, gx, gy, gxy)=1] – Pr[A(G, q, g, gx, gy, gz)=1] | ≤ (n)

31. Relating the Diffie-Hellman problemsRelative to G:If the discrete-logarithm problem is easy, so is the CDH problemIf the CDH problem is easy, so is the DDH problemI.e., the DDH assumption is stronger than the CDH assumptionI.e., the CDH assumption is stronger than the dlog assumption