Cryptography Lecture 23.

Slides:



Advertisements
Similar presentations
An Introduction to Pairing Based Cryptography Dustin Moody October 31, 2008.
Advertisements

Spreading Alerts Quietly and the Subgroup Escape Problem Aleksandr Yampolskiy (Yale) Joint work with James Aspnes, Zoë Diamadi, Kristian Gjøsteen, and.
Chapter 4 Finite Fields. Introduction of increasing importance in cryptography –AES, Elliptic Curve, IDEA, Public Key concern operations on “numbers”
Cryptography Lecture 8 Arpita Patra. Quick Recall and Today’s Roadmap >> Hash Functions- stands in between public and private key world >> Key Agreement.
Notation Intro. Number Theory Online Cryptography Course Dan Boneh
7. Asymmetric encryption-
1 Cryptosystems Based on Discrete Logarithms. 2 Outline [1] Discrete Logarithm Problem [2] Algorithms for Discrete Logarithm –A trivial algorithm –Shanks’
Hidden pairings and trapdoor DDH groups Alexander W. Dent Joint work with Steven D. Galbraith.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 7 Jonathan Katz.
1 CIS 5371 Cryptography 8. Asymmetric encryption-.
Dan Boneh Intro. Number Theory Intractable problems Online Cryptography Course Dan Boneh.
1 Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown Chapter 4 – Finite Fields.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
Prelude to Public-Key Cryptography Rocky K. C. Chang, February
1 Lecture 9 Public Key Cryptography Public Key Algorithms CIS CIS 5357 Network Security.
Public key ciphers 2 Session 6.
Ryan Henry I 538 /B 609 : Introduction to Cryptography.
Cryptography and Network Security Chapter 4. Introduction  will now introduce finite fields  of increasing importance in cryptography AES, Elliptic.
Ryan Henry I 538 /B 609 : Introduction to Cryptography.
On the Notion of Pseudo-Free Groups Ronald L. Rivest MIT Computer Science and Artificial Intelligence Laboratory TCC 2/21/2004.
1 Diffie-Hellman (Key Exchange) Protocol Rocky K. C. Chang 9 February 2007.
Cryptography Lecture 14 Arpita Patra © Arpita Patra.
1 Diffie-Hellman (Key Exchange) Protocol Rocky K. C. Chang 9 February 2007.
多媒體網路安全實驗室 Variations of Diffie-Hellman Problem Proceedings of ICICS 2003, LNCS 2836, Springer-Verlag, 2003, pp. 301–312 Feng Bao, Robert H. Deng, Huafei.
Elliptic Curve Public Key Cryptography Why ? ● ECC offers greater security for a given key size. ● The smaller key size also makes possible much more compact.
Assignment 4 is due! Assignment 5 is out and is due in two weeks!
Elliptic Curve Public Key Cryptography
On the Notion of Pseudo-Free Groups
An Introduction to Pairing Based Cryptography
Network Security Design Fundamentals Lecture-13
Topic 26: Discrete LOG Applications
Encryption and Integrity
Prelude to Public-Key Cryptography
B504/I538: Introduction to Cryptography
Introduction to Number Theory
RSA and El Gamal Cryptosystems
Quick reviews / corrections
Elliptic Curves.
Cryptographic protocols 2014, Lecture 2 assumptions and reductions
An Introduction to Pairing Based Cryptography
Homework 3 As announced: not due today 
Course Business Homework 3
Cryptography Lecture 22.
Math 3121 Abstract Algebra I
Topic 25: Discrete LOG, DDH + Attacks on Plain RSA
Topic 30: El-Gamal Encryption
Diffie-Hellman Key-Exchange Algorithm
Cryptography Lecture 24.
Cryptography Lecture 21.
Cryptography Lecture 25.
Cryptography Lecture 6.
CSCE 715: Network Systems Security
Asymmetric Cryptographic Algorithms
Cryptography Lecture 18.
Cryptography Lecture 17.
The power of Pairings towards standard model security
Cryptography Lecture 20.
Cryptography Lecture 21.
Cryptography Lecture 16.
Cryptography Lecture 19.
Cryptography Lecture 21.
Cryptography Lecture 19.
Network Security Design Fundamentals Lecture-13
Cryptography Lecture 24.
Cryptography Lecture 23.
Cryptography Lecture 26.
Diffie-Hellman Algorithm
Lecture 6.2: Protocols - Authentication and Key Exchange II
Presentation transcript:

Cryptography Lecture 23

Cyclic groups Let G be a finite group of order q (written multiplicatively) Let g be some element of G Consider the set <g> = {g0, g1, …} We know gq = 1 = g0, so the set has ≤ q elements If the set has q elements, then it is all of G ! In this case, we say g is a generator of G If G has a generator, we say G is cyclic

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

Example ℤ*11 Is 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…

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

Important examples Theorem: Any group of prime order is cyclic, and every non-identity element is a generator Theorem: If p is prime, then ℤ*p is cyclic Note: the order is p-1, which is not prime for p > 3

Uniform sampling Given 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

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

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

Discrete-logarithm problem (informal) Dlog problem in G: Given generator g and element h, compute loggh Dlog assumption in G: Solving the discrete log problem in G is hard

Example In ℤ*3092091139 What is log2 1656755742 ?

Discrete-logarithm problem Let G be a group-generation algorithm On input 1n, outputs a (description of a) cyclic group G, its order q (with ǁqǁ=n), and a generator g For algorithm A, define exp’t DlogA,G(n): Compute (G, q, g)  G(1n) Choose uniform hG Run A(G, q, g, h) to get x Experiment evaluates to 1 if gx = h

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

Diffie-Hellman problems Fix cyclic group G and generator g Define DHg(h1, h2) = DHg(gx, gy) = gxy

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

Diffie-Hellman assumptions Computational 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

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

Relating the Diffie-Hellman problems Relative to G: If the discrete-logarithm problem is easy, so is the CDH problem If the CDH problem is easy, so is the DDH problem I.e., the DDH assumption is stronger than the CDH assumption I.e., the CDH assumption is stronger than the dlog assumption

Group selection The discrete logarithm is not hard in all groups! For example, it is easy in ℤN (for any N, and for any generator) Nevertheless, there are certain groups where the problem is believed to be hard Note: since all cyclic groups of the same order are isomorphic, the group representation matters!

Group selection For cryptographic applications, best to use prime-order groups The dlog problem becomes easier if the order of the group has small prime factors Prime-order groups have several nice features E.g., every element except identity is a generator Two common choices of groups…

Group selection: choice 1 Prime-order subgroup of ℤ*p, p prime E.g., p = tq + 1 for q prime Take the subgroup of tth powers, i.e., G = { [xt mod p]| x  ℤ*p } This is a group It has order (p-1)/t = q Since q is prime, the group must be cyclic Generalizations based on finite fields also used

Group selection: choice 2 Prime-order subgroup of an elliptic curve group See book for details…

Group selection We will describe algorithms in “abstract” groups Can ignore details of the underlying group in the analysis Can instantiate with any (appropriate) group for an implementation