Cryptography Lecture 26.

Slides:



Advertisements
Similar presentations
Probabilistic Public Key Encryption with Equality Test Duncan S. Wong Department of Computer Science City University of Hong Kong Joint work with Guomin.
Advertisements

CS555Topic 191 Cryptography CS 555 Topic 19: Formalization of Public Key Encrpytion.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 7 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 9 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 7 Jonathan Katz.
Fall 2010/Lecture 311 CS 426 (Fall 2010) Public Key Encryption and Digital Signatures.
1 CIS 5371 Cryptography 9. Data Integrity Techniques.
Introduction to Public Key Cryptography
 Introduction  Requirements for RSA  Ingredients for RSA  RSA Algorithm  RSA Example  Problems on RSA.
8. Data Integrity Techniques
CS555Topic 211 Cryptography CS 555 Topic 21: Digital Schemes (1)
Cryptography Lecture 8 Stefan Dziembowski
Lecture 11 Chosen-Ciphertext Security Stefan Dziembowski MIM UW ver 1.0.
1 Lecture 9 Public Key Cryptography Public Key Algorithms CIS CIS 5357 Network Security.
Digital Signatures A primer 1. Why public key cryptography? With secret key algorithms Number of key pairs to be generated is extremely large If there.
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.
CS526: Information Security Prof. Sam Wagstaff September 16, 2003 Cryptography Basics.
Cryptography Lecture 9 Stefan Dziembowski
1 Number Theory and Advanced Cryptography 5. Cryptanalysis of RSA Chih-Hung Wang Sept Part I: Introduction to Number Theory Part II: Advanced Cryptography.
Public Key Algorithms Lesson Introduction ●Modular arithmetic ●RSA ●Diffie-Hellman.
Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 11 September 23, 2004.
Computer Security Lecture 5 Ch.9 Public-Key Cryptography And RSA Prepared by Dr. Lamiaa Elshenawy.
Lecture 3 (Chapter 9) Public-Key Cryptography and RSA Prepared by Dr. Lamiaa M. Elshenawy 1.
CS480 Cryptography and Information Security Huiping Guo Department of Computer Science California State University, Los Angeles 14. Digital signature.
Revision. Cryptography depends on some properties of prime numbers. One of these is that it is rather easy to generate large prime numbers, but much harder.
Overview Modern public-key cryptosystems: RSA
최신정보보호기술 경일대학교 사이버보안학과 김 현성.
Cryptography CS 555 Topic 34: SSL/TLS.
Attacks on Public Key Encryption Algorithms
Asymmetric-Key Cryptography
Key Exchange References: Applied Cryptography, Bruce Schneier
Public Key Encryption Systems
B504/I538: Introduction to Cryptography
Public Key Encryption and Digital Signatures
Information Security CS 526
Public-key Cryptography
Chapters 14,15 Security.
Authenticated encryption
Topic 24: Finding Prime Numbers, RSA
Digital signatures.
Public Key Cryptosystems - RSA
Digital Signatures Last Updated: Oct 14, 2017.
Digital Signature Schemes and the Random Oracle Model
Cryptography Lecture 12.
Cryptography Lecture 27.
Topic 25: Discrete LOG, DDH + Attacks on Plain RSA
Real-world Security of Public Key Crypto
Cryptography Lecture 10.
Security through Encryption
Introduction to Symmetric-key and Public-key Cryptography
Cryptography Lecture 25.
Information Security CS 526
Chapters 14,15 Security.
Cryptography Lecture 12.
Chapter 29 Cryptography and Network Security
Symmetric-Key Cryptography
Cryptography Lecture 9.
Cryptography Lecture 22.
Cryptography Lecture 11.
Oblivious Transfer.
Cryptography Lecture 21.
Public Key Encryption Systems
Cryptography Lecture 25.
Cryptography Lecture 24.
Cryptography Lecture 23.
Cryptography Lecture 26.
LAB 3: Digital Signature
Presentation transcript:

Cryptography Lecture 26

RSA-based PKE

Recall… (informal) Choose random, equal-length primes p, q Compute modulus N=pq Choose e, d such that e · d = 1 mod (N) The eth root of x modulo N is [xd mod N] (xd)e = xde = x[ed mod (N)] = x mod N RSA assumption: given N, e only, it is hard to compute the eth root of a uniform cℤN*

“Plain” RSA encryption N, e c (N, e, d)  RSAGen(1n) pk = (N, e) sk = d c = [me mod N] m = [cd mod N]

Is this scheme secure?

Plain RSA should never be used! Security? This scheme is deterministic Cannot be CPA-secure! RSA assumption only refers to hardness of computing the eth roots of uniform c c is not uniform unless m is Easy to recover “small” m from c RSA assumption only refers to hardness of computing the eth root of c in its entirety Partial information about the eth root may be leaked (In fact, this is the case) Plain RSA should never be used!

PKCS #1 v1.5 Standard issued by RSA labs in 1993 Idea: add random padding To encrypt m, choose random r c = [ (r|m)e mod N] Issues: No proof of CPA-security (unless m is very short) Chosen-plaintext attacks known if r is too short Chosen-ciphertext attacks possible

PKCS #1 v2.0 Optimal asymmetric encryption padding (OAEP) applied to message first This padding introduces redundancy, so that not every cℤ*N is a valid ciphertext Need to check for proper format upon decryption Return error if not properly formatted

OAEP m || 0…0 r G H e c = s t mod N

Security? RSA-OAEP can be proven CCA-secure under the RSA assumption, if G and H are modeled as random oracles Widely used in practice…

Digital signatures

Digital signatures Provide integrity in the public-key setting Analogous to message authentication codes, but some key differences…

Digital signatures pk pk pk m,  pk pk, sk 1 = Vrfypk(m, ) ?  = Signsk(m)

Public-key encryption pk pk pk c pk pk, sk c  Encpk(m) m = Decsk(c)

Security (informal) Even after observing signatures on multiple messages, an attacker should be unable to forge a valid signature on a new message

Prototypical application pk patch’, ’ patch,  pk, sk pk  = Signsk(patch) pk

Comparison to MACs? t’ = Mack(patch’) k patch’, t’ patch, t k k

Comparison to MACs? patch, t1 k1 patch, t2 k1, k2, k3 patch, t3 k2 t1 = Mack1(patch) t2 = Mack2(patch) t3 = Mack3(patch) k3

Comparison to MACs? Public verifiability Transferability “Anyone” can verify a signature (Only a holder of the key can verify a MAC tag) Transferability Can forward a signature to someone else… Non-repudiation

Non-repudiation Signer cannot (easily) deny issuing a signature Crucial for legal applications Judge can verify signature using public copy of pk MACs cannot provide this functionality! Without access to the key, no way to verify a tag Even if receiver leaks key to judge, how can the judge verify that the key is correct? Even if key is correct, receiver could have generated the tag also!