7. Asymmetric encryption-

Slides:



Advertisements
Similar presentations
Digital Signatures Good properties of hand-written signatures: 1. Signature is authentic. 2. Signature is unforgeable. 3. Signature is not reusable (it.
Advertisements

CS555Topic 191 Cryptography CS 555 Topic 19: Formalization of Public Key Encrpytion.
Asymmetric-Key Cryptography
Great Theoretical Ideas in Computer Science.
Session 4 Asymmetric ciphers.
HW6 due tomorrow Teams T will get to pick their presentation day in the order Teams T will get to pick their presentation day in the orderQuestions? Review.
Public Key Crytography1 From: Introduction to Algorithms Cormen, Leiserson and Rivest.
The RSA Cryptosystem and Factoring Integers (II) Rong-Jaye Chen.
ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS Cryptography.
Pass in HW6 now Can use up to 2 late days Can use up to 2 late days But one incentive not to burn them all: teams will get to pick their presentation day.
Cryptography Lecture 11: Oct 12. Cryptography AliceBob Cryptography is the study of methods for sending and receiving secret messages. adversary Goal:
Electronic Payment Systems Lecture 5: ePayment Security II
Public Encryption: RSA
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
Introduction to Modern Cryptography Lecture 7 1.RSA Public Key CryptoSystem 2.One way Trapdoor Functions.
1 CIS 5371 Cryptography 9. Data Integrity Techniques.
CSCI 172/283 Fall 2010 Public Key Cryptography. New paradigm introduced by Diffie and Hellman The mailbox analogy: Bob has a locked mailbox Alice can.
ASYMMETRIC CIPHERS.
Lecture 6: Public Key Cryptography
0x1A Great Papers in Computer Security
Asymmetric encryption. Asymmetric encryption, often called "public key" encryption, allows Alice to send Bob an encrypted message without a shared secret.
Public Key Model 8. Cryptography part 2.
The RSA Algorithm Based on the idea that factorization of integers into their prime factors is hard. ★ n=p . q, where p and q are distinct primes Proposed.
1 CIS 5371 Cryptography 8. Asymmetric encryption-.
8. Data Integrity Techniques
Rachana Y. Patil 1 1.
ElGamal Public Key Cryptography CS 303 Alg. Number Theory & Cryptography Jeremy Johnson Taher ElGamal, "A Public-Key Cryptosystem and a Signature Scheme.
The RSA Algorithm Rocky K. C. Chang, March
Digital Signatures Good properties of hand-written signatures: 1. Signature is authentic. 2. Signature is unforgeable. 3. Signature is not reusable (it.
Cryptography Lecture 8 Stefan Dziembowski
J. Wang. Computer Network Security Theory and Practice. Springer 2008 Chapter 3 Public-Key Cryptography and Key Management.
Great Theoretical Ideas in Computer Science.
HW6 due tomorrow Teams T will get to pick their presentation day in the order Teams T will get to pick their presentation day in the order Teams mostly.
RSA Ramki Thurimella.
Prelude to Public-Key Cryptography Rocky K. C. Chang, February
Cryptography Dec 29. This Lecture In this last lecture for number theory, we will see probably the most important application of number theory in computer.
1 Lecture 9 Public Key Cryptography Public Key Algorithms CIS CIS 5357 Network Security.
Public-Key Cryptography CS110 Fall Conventional Encryption.
1 Lect. 13 : Public Key Encryption RSA ElGamal. 2 Shamir Rivest Adleman RSA Public Key Systems  RSA is the first public key cryptosystem  Proposed in.
By Yernar.  Background  Key generation  Encryption  Decryption  Preset Bits  Example.
Modular Arithmetic with Applications to Cryptography Lecture 47 Section 10.4 Wed, Apr 13, 2005.
Number Theory and Advanced Cryptography 2
Private-Key Cryptography  traditional private/secret/single key cryptography uses one key  shared by both sender and receiver  if this key is disclosed.
Cryptography and Network Security Chapter 10 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Public Key Cryptography. symmetric key crypto requires sender, receiver know shared secret key Q: how to agree on key in first place (particularly if.
1 Public-Key Cryptography and Message Authentication.
1 Number Theory and Advanced Cryptography 5. Cryptanalysis of RSA Chih-Hung Wang Sept Part I: Introduction to Number Theory Part II: Advanced Cryptography.
CS461/ECE422 Spring 2012 Nikita Borisov — UIUC1.  Text Chapters 2 and 21  Handbook of Applied Cryptography, Chapter 8 
PUBLIC-KEY CRYPTOGRAPH IT 352 : Lecture 2- part3 Najwa AlGhamdi, MSc – 2012 /1433.
PUBLIC KEY CRYPTOGRAPHY ALGORITHM Concept and Example 1IT352 | Network Security |Najwa AlGhamdi.
Scott CH Huang COM 5336 Lecture 7 Other Public-Key Cryptosystems Scott CH Huang COM 5336 Cryptography Lecture 7.
Public Key Cryptosystems RSA Diffie-Hellman Department of Computer Engineering Sharif University of Technology 3/8/2006.
Public Key Algorithms Lesson Introduction ●Modular arithmetic ●RSA ●Diffie-Hellman.
Public Key Cryptosystem Introduced in 1976 by Diffie and Hellman [2] In PKC different keys are used for encryption and decryption 1978: First Two Implementations.
CS 4803 Fall 04 Public Key Algorithms. Modular Arithmetic n Public key algorithms are based on modular arithmetic. n Modular addition. n Modular multiplication.
Ryan Henry I 538 /B 609 : Introduction to Cryptography.
Great Theoretical Ideas in Computer Science.
Introduction to Pubic Key Encryption CSCI 5857: Encoding and Encryption.
Diffie-Hellman Key Exchange first public-key type scheme proposed by Diffie & Hellman in 1976 along with the exposition of public key concepts – note:
Introduction to Elliptic Curve Cryptography CSCI 5857: Encoding and Encryption.
RSA Cryptosystem Great Theoretical Ideas In Computer Science S. Rudich V. Adamchik CS Spring 2006 Lecture 8Feb. 09, 2006Carnegie Mellon University.
1 Diffie-Hellman (Key Exchange) Protocol Rocky K. C. Chang 9 February 2007.
Breaking Cryptosystems Joshua Langford University of Texas at Tyler Fall 2007 Advisor: Dr. Ramona Ranalli Alger.
1 The RSA Algorithm Rocky K. C. Chang February 23, 2007.
Key Exchange in Systems VPN usually has two phases –Handshake protocol: key exchange between parties sets symmetric keys –Traffic protocol: communication.
Public Key Cryptography. Asymmetric encryption is a form of cryptosystem in which Encryption and decryption are performed using the different keys—one.
Topic 26: Discrete LOG Applications
B504/I538: Introduction to Cryptography
Topic 24: Finding Prime Numbers, RSA
Topic 25: Discrete LOG, DDH + Attacks on Plain RSA
Presentation transcript:

7. Asymmetric encryption- CIS 5371 Cryptography 7. Asymmetric encryption-

Public Key Cryptography Alice Bob Alice and Bob want to exchange a private key in public.

Public Key Cryptography The Diffie-Hellman protocol Let p is a large prime and 𝑔 𝑍 𝑝 ∗ . The order ℎ of 𝑔 is a factor of 𝑝−1. 𝑍 𝑝 ∗ has a generator for any factor h of 𝑝−1. p is called a safe prime if h = 2q, with q a prime.

Public Key Cryptography The Diffie-Hellman protocol Alice ga mod p Bob gb mod p The private key is: gab mod p where p is a prime and g is a generator of Zp*

Example p = 43, g = 3, Alice and Bob share (p,g) = (43,3). Alice picks her (secret) exponent: a random a = 8 U [0:42]. Alice sends Bob: 38  25 (mod 43). Bob picks his (secret) exponent: a random b = 37U [0:42]. Bob sends Alice: 337  20 (mod 43). The secret key agreed between the two is: 9  208  2537 (mod 43).

Man-in-the-middle attack Alice picks a U Zp* and sends Malice (“Bob”): ga (mod p) Malice (“Alice”) picks m  Zp* and sends Bob: gm (mod p) Bob picks b U Zp* and sends Malice (“Bob) Bob: gb (mod p) Malice (“Bob”) sends Alice: gm (mod p) Alice computes: k1  (gm)a (mod p) Bob computes: k2  (gm)b (mod p)

The Computational Diffie-Hellman Problem, CDH INPUT The description of a finite cyclic group 𝐺 of prime order q A generator element 𝑔 of 𝐺 𝑔 𝑎 , 𝑔 𝑏  𝐺, for some integers 0<𝑎,𝑏<𝑞. OUTPUT 𝑔 𝑎𝑏

The Computational Diffie-Hellman Assumption A CDH solver is a PPT algorithm that solves the CDH problem. The CDH Assumption is that, for any CDH solver there exists a negligible function negl such that: for an arbitrary instance of the CDH problem, the CDH solver will succeed with probability  negl for all sufficiently large inputs.

The Decisional Diffie-Hellman Problem, DDH INPUT The description of a finite cyclic group G of prime order q A generator element g of G ga, gb, gc  G, for some integers 0 < a,b,c< q. OUTPUT 1 ---Decision that gc = gab or 0 ---Decision that gc  gab

The Decisional Diffie-Hellman Assumption A DDH solver is a PPT algorithm that solves the DDH problem. The DDH Assumption is that, for any DDH solver, there exists a negligible function negl such that: for an arbitrary instance of the DDH problem, the DDH solver will succeed with probability  negl for all sufficiently large inputs.

The Discrete Logarithm Problem The Discrete Logarithm Problem -- DL INPUT The description of a finite cyclic group 𝐺 of order 𝑞 (say 𝑍 𝑝 ∗ ) A generator element 𝑔 of 𝐺 h  G. OUTPUT The unique integer 𝑎<𝑝 such that ℎ= 𝑔 𝑎 𝑚𝑜𝑑 𝑝. We call the integer 𝑎 the discrete logarithm of ℎ in base 𝑔 and write: 𝑎= 𝑙𝑜𝑔 𝑔 ℎ 𝑚𝑜𝑑 𝑝.

The Discrete Logarithm Assumption A DL solver is a PPT algorithm that solves the DL problem. The DL Assumption is that, for any DL solver, there exists a negligible function negl such that: for an arbitrary instance of the DL problem, the DDH solver will succeed with probability  negl for all sufficiently large inputs.

The RSA cryptosystem Alice performs the following steps Choose p, q large primes with |p|  |q|. Compute N = pq. Compute  (N) = (p-1)(q-1). Choose a random integer e <  (N) such that gcd(e, (N)) = 1 and compute the integer d such that ed = 1 (mod  (N)). Make (N,e) the public key, keep (N,d) as private key, and discard p,q and  (N).

The RSA cryptosystem Encryption Decryption Let m < N be the confidential message that Bob wants to send to Alice. Bob creates the ciphertext: c  𝑚 𝑒 (𝑚𝑜𝑑 𝑁). Bob sends Alice: c Decryption To decrypt the ciphertext c Alice computes: 𝑚← 𝑐 𝑑 (𝑚𝑜𝑑 𝑁).

Check We have: Therefore,  (m(n))t  m  1m  m mod n ed  1 (mod  (N)) , so ed  1 + t (N). Therefore, Dd (Ee (m))  (me)d  m ed  m t(N)+1  (m(n))t  m  1m  m mod n

Example Let p = 101, q = 113. Then N = 11413.  (N) = 100 x 112 = 11200 = 26527 For encryption use e = 3533. Alice publishes: N = 11413, e = 3533. Suppose Bob wants to encrypt: 9726. Bob computes 97263533 mod 11413 = 5761 Bob sends Alice the ciphertext 5761. To decrypt it Alice computes the plaintext: 57616597 (mod 11413) = 9726

Implementation Generate two large primes: p,q N  pq and 𝜑 𝑁 = (p-1)(q-1) Choose random e: with 1 < e <  (N) & gcd(e, (N))=1 𝑑← 𝑒 −1 𝑚𝑜𝑑 𝜑(𝑁) The public key is (N,e) and the private key is (N,d)

Cost In 𝑍 𝑛 : Cost of a modular multiplication (xy) mod n is O (k2), where k = log2n Cost of a modular exponentiation xz (mod n) is O (k2 log2z) = O (k2 log2 n)

Cryptanalysis of Public-key cryptosystems Active attacks on cryptosystems Chosen-Plaintext Attack (CPA): The attacker chooses plaintexts and obtains the corresponding ciphertexts: the task of the attacker is successful if he can decrypt a (new) target ciphertext. Chosen-Ciphertext Attack (CCA1): The attacker chooses a number of ciphertexts and obtains the corresponding plaintexts: the task of the attacker is successful if he can decrypt a (new) target ciphertext. Adaptive Chosen-Ciphertext Attack (CCA2): This is a CCS1 attack in which the attacker can adaptively choose ciphertexts: the task of the attacker is successful if he can decrypt a (new) target ciphertext.

The RSA Problem INPUT N = pq with p,q prime nmbers. e an integer such that gcd(e,(p-1)(q-1)) =1 c  ZN . OUTPUT The unique integer m  ZN such that me  c (mod N )

The RSA Assumption An RSA solver is a PPT algorithm that solves the RSA problem. The RSA Assumption is that, for any RSA solver, there exists a negligible function negl such that: for an arbitrary instance of the RSA problem, the RSA solver will succeed with probability  negl for all sufficiently large inputs.

The Integer Factorization Problem The IF Problem (IF) INPUT N an odd composite integer with at least two distinct prime factors. OUTPUT A prime p such that p | N.

The IF Assumption An integer factorizer is a PPT algorithm that solves the IF problem. The IF Assumption is that, for any IF solver, there exists a negligible function negl such that: for an arbitrary instance of the IF problem, the IF solver will succeed with probability  negl for all sufficiently large inputs.

Security of RSA Relation to factoring. If Factoring is easy then the RSA problem is easy: recovering the plaintext m from an RSA ciphertext c is easy if factoring is possible The converse is likely not to be true. Relation between factoring and the RSA problem If Factoring is easy then the RSA problem is easy.

The Rabin cryptosystem Alice performs the following steps Choose p, q large primes with |p| = |q|. Compute n = pq. Pick a random integer b U Zn* Make (n,b) public key, keep (p,q) as private key.

The Rabin cryptosystem Encryption Let m  Zn* be the confidential message that Bob wants to send to Alice. Bob creates the ciphertext: c  m(m+b) (mod n). Bob sends Alice: c Decryption To decrypt the ciphertext c Alice solves the quadratic equation: m2 + bm –c  0 (mod n), for m < n.

The Rabin cryptosystem Decryption From elementary mathematics: 𝑚= −𝑏 Δ 2 where  = b2 +4c (mod n). Since m was chosen in Zn*,  must be in QRn . Notice that if p,q are such that p  q  3 (mod 4), then it is easier to compute square roots modulo N, as we shall see below.

Remarks Suppose p  q  3 (mod 4), n = pq. Let y  𝑥 2 (mod p). Then: because, 𝑦 (𝑝−1)/2 ≡ 𝑥 2 (𝑝−1)/2 ≡ 𝑥 𝑝−1 ≡1 (𝑚𝑜𝑑 𝑝)

Remarks (continued) It follows that: is a square root of y modulo p. A similar argument applies for the other prime q. So we get the quadratic residues modulo p and modulo q. We then get the quadratic residue modulo n by using the Chinese Remainder Theorem.

Example Suppose n = 77. Then e (x) = x 2 (mod 77) d (y) = (mod 77) Suppose Bob wants to decrypt y = 23

Example, continued Using the Chinese Remainder Theorem we compute the 4 square roots of 23 modulo 77 to be:

The Rabin Problem INPUT N = pq with p,q prime numbers. y  x 2 (mod N), x  ZN* OUTPUT z  ZN* such that z  x 2 (mod N).

Security of Rabin Relation to factoring. Recovering the plaintext m from a Rabin ciphertext c is easy if the IF problem is easy. Relation between factoring and the Rabin problem Under CPA attacks the Rabin system is secure iff the IF problem is hard. Under CCA attacks the Rabin problem is completely insecure.

Security of Rabin Under CCA attacks the Rabin system is completely insecure. Proof: We show this for the case when 𝑏=0. The adversary picks an 𝑚 and computes 𝑐≡ 𝑚 2 𝑚𝑜𝑑 𝑁 . Then he gets its decryption 𝑚′. This is one of the 4 square roots of 𝑐, and with probability ½, gcd 𝑚 ′ 𝑚,𝑁 =𝑝 or q. Then the adversary can decrypt any ciphertext.

The ELGamal cryptosystem Alice performs the following steps Choose a large random primes p. Compute a random multiplicative generator g  Zp* Pick x U Zp-1 as private key Compute the public key y  gx (mod p). Make (p,g,y) public key, and keep (p,x) as private key.

The ElGamal cryptosystem Encryption Let m < p be the confidential message that Bob wants to send to Alice. Bob picks k U Zp-1 and computes the ciphertext (c1, c2) c1  gk (mod p). c2  yk m (mod p). Decryption To decrypt the ciphertext (c1, c2) Alice computes m  c2/c1x (mod p).

The ElGamal cryptosystem Check: 𝑐 1 𝑥 ≡ (𝑔 𝑘 ) 𝑥 ≡ 𝑦 𝑘 ≡ 𝑐 2 /𝑚 𝑚𝑜𝑑 𝑝 .

Example Decryption: m = c2/c1x (mod p) = 31/157 (mod 43) = 14 . Use p = 43, g =3, m = 14, x = 7, y = 37. Alice’s private key: x = 7 Alice’s public key: (p,g,y) = (43,3,37). Encryption with k = 26: c1 = gk (mod p) = 326 (mod 43) =15. c2 = yk m (mod p) = 3726 ×14 (mod 43) =31 . Decryption: m = c2/c1x (mod p) = 31/157 (mod 43) = 14 .

Security of ElGamal Relation to the DL. Recovering the plaintext m from an ElGamal ciphertext c is easy if the DL problem is easy. ELGamal and the CDH problem For messages that are uniformly distributed, the ElGamal encryption system is secure against CPAs iff the CDH problem is hard.

Security of ElGamal For messages that are uniformly distributed, the ElGamal encryption system is secure against CPAs iff the CDH problem is hard.

Security of ElGamal Proof: Suppose there exists an oracle that breaks ElGamal with non negligible probability  > 0. Then since 𝑚= 𝑐 2 / 𝑐 1 𝑥 (𝑚𝑜𝑑 𝑝) can be computed, 𝑐 2 /𝑚 = 𝑔 𝑙𝑜𝑔 𝑔 𝑦 𝑙𝑜𝑔 𝑔 𝑐 1 (𝑚𝑜𝑑 𝑝) can also be computed. For an arbitrary CDH instance 𝑝,𝑔, 𝑔 1 =𝑦, 𝑔 2 = 𝑐 1 , take 𝑝,𝑔, 𝑔 1 as the ElGamal public key and 𝑐 1 , 𝑐 2 as ciphertext. Then the oracle outputs 𝑐 2 /𝑚 = 𝑔 𝑙𝑜𝑔 𝑔 𝑔 1 𝑙𝑜𝑔 𝑔 𝑔 2 (𝑚𝑜𝑑 𝑝) which is a solution for the CDH instance.