Real-world Security of Public Key Crypto

Slides:



Advertisements
Similar presentations
Chapter 3 Public Key Cryptography and Message authentication.
Advertisements

CS555Spring 2012/Topic 171 Cryptography CS 555 Topic 17: Textbook RSA encryption.
IS 302: Information Security and Trust Week 4: Asymmetric Encryption
CS555Topic 191 Cryptography CS 555 Topic 19: Formalization of Public Key Encrpytion.
CS252: Systems Programming Ninghui Li Topic 3: Programming in a FIZ: Simple Functional Programming Language.
Kemal AkkayaWireless & Network Security 1 Department of Computer Science Southern Illinois University Carbondale CS 591 – Wireless & Network Security Lecture.
Public Key Cryptography
Public Encryption: RSA
Cryptography1 CPSC 3730 Cryptography Chapter 9 Public Key Cryptography and RSA.
RSA Encryption William Lu. RSA Background  Basic technique first discovered in 1973 by Clifford Cocks of CESG (part of British GCHQ)  Invented in 1977.
Fall 2010/Lecture 311 CS 426 (Fall 2010) Public Key Encryption and Digital Signatures.
Dr.Saleem Al_Zoubi1 Cryptography and Network Security Third Edition by William Stallings Public Key Cryptography and RSA.
Public Key Cryptography Bryan Pearsaul. Outline What is Cryptology? Symmetric Ciphers Asymmetric Ciphers Diffie-Hellman RSA (Rivest/Shamir/Adleman) Moral.
Dan Boneh Public Key Encryption from trapdoor permutations The RSA trapdoor permutation Online Cryptography Course Dan Boneh.
Public Key Model 8. Cryptography part 2.
Public Key Encryption and the RSA Public Key Algorithm CSCI 5857: Encoding and Encryption.
Andreas Steffen, , 4-PublicKey.pptx 1 Internet Security 1 (IntSi1) Prof. Dr. Andreas Steffen Institute for Internet Technologies and Applications.
RSA and its Mathematics Behind
Public Key Encryption and the RSA Public Key Algorithm CSCI 5857: Encoding and 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.
Day 37 8: Network Security8-1. 8: Network Security8-2 Symmetric key cryptography symmetric key crypto: Bob and Alice share know same (symmetric) key:
Private-Key Cryptography  traditional private/secret/single key cryptography uses one key  shared by both sender and receiver  if this key is disclosed.
Darci Miyashiro Math 480 April 29, 2013
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Public Key Cryptography. symmetric key crypto requires sender, receiver know shared secret key Q: how to agree on key in first place (particularly if.
RSA Public Key Crypto System. About RSA Announced in 1977 by Ronald Rivest, Adi Shamir, and Leonard Adleman Relies on the relative ease of finding large.
1 Public-Key Cryptography and Message Authentication.
Cryptography and Network Security Chapter 9 - Public-Key Cryptography
Algebra of RSA codes Yinduo Ma Tong Li. Ron Rivest, Adi Shamir and Leonard Adleman.
PUBLIC-KEY CRYPTOGRAPH IT 352 : Lecture 2- part3 Najwa AlGhamdi, MSc – 2012 /1433.
RSA and its Mathematics Behind July Topics  Modular Arithmetic  Greatest Common Divisor  Euler’s Identity  RSA algorithm  Security in RSA.
Information Security CS 526
Chapter 3 – Public Key Cryptography and RSA (A). Private-Key Cryptography traditional private/secret/single-key cryptography uses one key shared by both.
PUBLIC-KEY CRYPTOGRAPHY AND RSA – Chapter 9 PUBLIC-KEY CRYPTOGRAPHY AND RSA – Chapter 9 Principles Applications Requirements RSA Algorithm Description.
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
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.
RSA Pubic Key Encryption CSCI 5857: Encoding and Encryption.
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.
Cryptography By: Nick Belhumeur. Overview What is Cryptography? What is Cryptography? 2 types of cryptosystems 2 types of cryptosystems Example of Encryption.
Public Key Encryption.
Attacks on Public Key Encryption Algorithms
Public Key Cryptosystem
Asymmetric-Key Cryptography
RSA Slides by Kent Seamons and Tim van der Horst
Privacy & Security.
Public Key Encryption and Digital Signatures
Information Security CS 526
Topic 2: Public Key Encryption and Digital Signatures
Public Key Encryption and the RSA Algorithm
Cryptography Lecture 26.
رمزنگاري كليد عمومي بهروز ترك‏لاداني 1.
Private-Key Cryptography
Asymmetric Cryptography
Rivest, Shamir and Adleman
Topic 2: Public Key Encryption and Digital Signatures
Information Security CS 526
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
Appendix 5: Cryptography p
MSIT 543 Cryptography Concepts and Techniques How RSA Encryption Works
Lecture 6: Digital Signature
Chapter 3 - Public-Key Cryptography & Authentication
PUBLIC-KEY CRYPTOGRAPHY AND RSA – Chapter 9
Introduction to Cryptography
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
Security: Public Key Cryptography
Cryptography Lecture 25.
The RSA Public-Key Encryption Algorithm
Public Key Cryptography
LAB 3: Digital Signature
Presentation transcript:

Real-world Security of Public Key Crypto Network Security Real-world Security of Public Key Crypto 2018/11/20 Topic 2: Public Key Encryption and Digital Signatures

Diffie and Hellman won ACM Turing Award (2015) 2018/11/20 Topic 2: Public Key Encrypption and Digital Signatures

Rivest Shamir and Adleman won ACM Turing Award (2012) 2018/11/20 Topic 2: Public Key Encrypption and Digital Signatures

Topic 2: Public Key Encrypption and Digital Signatures RSA Algorithm Invented in 1978 by Ron Rivest, Adi Shamir and Leonard Adleman Published as R L Rivest, A Shamir, L Adleman, "On Digital Signatures and Public Key Cryptosystems", Communications of the ACM, vol 21 no 2, pp120-126, Feb 1978 Security relies on the difficulty of factoring large composite numbers Essentially the same algorithm was discovered in 1973 by Clifford Cocks, who works for the British intelligence Takes 2-3 years to discover the same alg. 2018/11/20 Topic 2: Public Key Encrypption and Digital Signatures

RSA Public Key Crypto System Key generation: 1. Select 2 large prime numbers of about the same size, p and q Typically each p, q has between 512 and 2048 bits 2. Compute n = pq, and (n) = (q-1)(p-1) 3. Select e, 1<e< (n), s.t. gcd(e, (n)) = 1 Typically e=3 or e=65537 4. Compute d, 1< d< (n) s.t. ed  1 mod (n) Knowing (n), d easy to compute. Public key: (e, n) Private key: d 2018/11/20 Topic 2: Public Key Encrypption and Digital Signatures

RSA Description (cont.) Encryption Given a message M, 0 < M < n M  Zn {0} use public key (e, n) compute C = Me mod n C  Zn {0} Decryption Given a ciphertext C, use private key (d) Compute Cd mod n = (Me mod n)d mod n = Med mod n = M 2018/11/20 Topic 2: Public Key Encrypption and Digital Signatures

Topic 2: Public Key Encrypption and Digital Signatures Group Discussion 2 Is textbook RSA secure? 2018/11/20 Topic 2: Public Key Encrypption and Digital Signatures

A simple attack on textbook RSA Random session-key K Web Browser CLIENT HELLO Web Server d SERVER HELLO (e,N) C=RSA(K) Session-key K is 64 bits. View K  {0,…,264} Eavesdropper sees: C = Ke (mod N) . Suppose K = K1K2 where K1, K2 < 234 . (prob. 20%) Then: C/K1e = K2e (mod N) Build table: C/1e, C/2e, C/3e, …, C/234e . time: 234 For K2 = 0,…, 234 test if K2e is in table. time: 23434 Attack time: 240 << 264

A real-world attack on QQ Browser 2018/11/20 Topic 2: Public Key Encrypption and Digital Signatures

Topic 2: Public Key Encrypption and Digital Signatures 2018/11/20 Topic 2: Public Key Encrypption and Digital Signatures

Topic 2: Public Key Encrypption and Digital Signatures 2018/11/20 Topic 2: Public Key Encrypption and Digital Signatures

Topic 2: Public Key Encrypption and Digital Signatures 2018/11/20 Topic 2: Public Key Encrypption and Digital Signatures

RSA Encryption & IND-CPA Security The RSA assumption, which assumes that the RSA problem is hard to solve, ensures that the plaintext cannot be fully recovered. Plain RSA does not provide IND-CPA security. For Public Key systems, the adversary has the public key, hence the initial training phase is unnecessary, as the adversary can encrypt any message he wants to. How to use it more securely? 2018/11/20 Topic 2: Public Key Encrypption and Digital Signatures

Real World Usage of Public Key Encryption Often used to encrypt a symmetric key To encrypt a message M under an RSA public key (n,e), generate a new AES key K, compute [Ke mod n, AES-CBCK(M)] Alternatively, one can use random padding. E.g., computer (M || r) e mod n to encrypt a message M with a random value r More generally, uses a function F(M,r), and encrypts as F(M,r) e mod n From F(M,r), one should be able to recover M This provides randomized encryption e.g., Optimal Asymmetric Encryption Padding (OAEP) Roughly, to encrypt M, chooses random r, encode M as M’ = [X = M  H1(r) , Y= r  H2(X) ] where H1 and H2 are cryptographic hash functions, then encrypt it as (M’) e mod n Note that given M’=[X,Y], r = Y  H2(X), and M = X  H1(r) 2018/11/20 Topic 2: Public Key Encrypption and Digital Signatures

RSA-OAEP Optimal Asymmetric Encryption Padding (OAEP) Roughly, to encrypt m, chooses random r, encode m as m’ = [X = m  H1(r) , Y= r  H2(X) ] where H1 and H2 are cryptographic hash functions, then encrypt it as (m’) e mod n To decrypt m’=[X,Y], compute r = Y  H2(X), and m = X  H1(r) Proven secure under the RSA assumption when H1 and H2 are assumed to be random oracles. Unless both X and Y are fully recovered, cannot obtain r, without r, cannot obtain any information of m. We will not cover Random Oracle Model in this course. See Chapter 13 if interested. CS555 Topic 19

RSA- Optimal asymmetric encryption padding (RSA-OAEP) 2018/11/20 Topic 2: Public Key Encrypption and Digital Signatures