Thinking the Impossible “Modern Cryptography”

Slides:



Advertisements
Similar presentations
1 Introduction CSE 5351: Introduction to cryptography Reading assignment: Chapter 1 of Katz & Lindell.
Advertisements

Zero-Knowledge Proofs J.W. Pope M.S. – Mathematics May 2004.
Public Key Crytography1 From: Introduction to Algorithms Cormen, Leiserson and Rivest.
Cryptography1 CPSC 3730 Cryptography Chapter 9 Public Key Cryptography and RSA.
Private-Key Cryptography traditional private/secret/single key cryptography uses one key shared by both sender and receiver if this key is disclosed communications.
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.
1 Pertemuan 08 Public Key Cryptography Matakuliah: H0242 / Keamanan Jaringan Tahun: 2006 Versi: 1.
Lecture 6: Public Key Cryptography
Public Key Model 8. Cryptography part 2.
ElGamal Public Key Cryptography CS 303 Alg. Number Theory & Cryptography Jeremy Johnson Taher ElGamal, "A Public-Key Cryptosystem and a Signature Scheme.
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 9: Cryptography.
RSA Implementation. What is Encryption ? Encryption is the transformation of data into a form that is as close to impossible as possible to read without.
1 Lecture 9 Public Key Cryptography Public Key Algorithms CIS CIS 5357 Network Security.
Midterm Review Cryptography & Network Security
CS526: Information Security Prof. Sam Wagstaff September 16, 2003 Cryptography Basics.
Modular Arithmetic with Applications to Cryptography Lecture 47 Section 10.4 Wed, Apr 13, 2005.
Darci Miyashiro Math 480 April 29, 2013
1 Public-Key Cryptography and Message Authentication.
Computer and Network Security Rabie A. Ramadan Lecture 6.
Cryptography and Network Security Chapter 9 - Public-Key Cryptography
Zero-knowledge proof protocols 1 CHAPTER 12: Zero-knowledge proof protocols One of the most important, and at the same time very counterintuitive, primitives.
15-499Page :Algorithms and Applications Cryptography I – Introduction – Terminology – Some primitives – Some protocols.
Lecture 8 Overview. Analysis of Algorithms Algorithms – Time Complexity – Space Complexity An algorithm whose time complexity is bounded by a polynomial.
1 Network and Computer Security (CS 475) Modular Arithmetic and the RSA Public Key Cryptosystem Jeremy R. Johnson.
Cryptography and Network Security Public Key Cryptography and RSA.
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 Algorithms Lesson Introduction ●Modular arithmetic ●RSA ●Diffie-Hellman.
1 Thinking the Impossible “Modern Cryptography” Jeremy R. Johnson.
Zero Knowledge Proofs Matthew Pouliotte Anthony Pringle Cryptography November 22, 2005 “A proof is whatever convinces me.” -~ Shimon Even.
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.
RSA Cryptosystem Great Theoretical Ideas In Computer Science S. Rudich V. Adamchik CS Spring 2006 Lecture 8Feb. 09, 2006Carnegie Mellon University.
1 Introduction CS 303 Algorithmic Number Theory and Cryptography Jeremy R. Johnson.
Lecture 5 Asymmetric Cryptography. Private-Key Cryptography Traditional private/secret/single key cryptography uses one key Shared by both sender and.
RSA cryptosystem with large key length
Public Key Cryptography
Topic 36: Zero-Knowledge Proofs
Outline Primitive Element Theorem Diffie Hellman Key Distribution
CS480 Cryptography and Information Security
Public Key Encryption.
CPS 512 Distributed Systems
Introduction CS 303 Algorithmic Number Theory and Cryptography
Public-Key Cryptography RSA Rivest-Shamir-Adelmann Public-Key System
Public Key Encryption and Digital Signatures
RSA and El Gamal Cryptosystems
Public-key Cryptography
Public Key Encryption and the RSA Algorithm
Fundamental Concepts in Security and its Application Cloud Computing
Big Numbers: Mathematics and Internet Commerce
Taehyung Kim HPC Lab. POSTECH
Coin Flipping Protocol
Private-Key Cryptography
Real-world Security of Public Key Crypto
ICS 353: Design and Analysis of Algorithms
Public-key encryption
Systems Architecture I
Enabling Technology1: Cryptography
Intro to Cryptography Some slides have been taken from:
NET 311 Information Security
Where Complexity Finally Comes In Handy…
Chapter -5 PUBLIC-KEY CRYPTOGRAPHY AND RSA
Hard Problems Some problems are hard to solve.
Cryptology Design Fundamentals
Where Complexity Finally Comes In Handy…
Introduction to Cryptography
Zero-Knowledge Proofs
Class 36: Public-Key Cryptography
Presentation transcript:

Thinking the Impossible “Modern Cryptography” September 4, 1997 Thinking the Impossible “Modern Cryptography” Jeremy R. Johnson

September 4, 1997 Introduction Objective: To see how to securely communicate on the internet without giving up privacy. To understand what a public key cryptosystem is and how the RSA algorithm works. To do impossible things. Modern cryptography Solutions to some “impossible problems” Public Key Cryptosystems Modular Arithmetic RSA Algorithm References: Rivest, Shamir, Adelman CS Unplugged

Importance of the Area Did you buy anything online recently? Use an ATM machine? If so, whether you know it or not, you used cryptography. Cryptography (in the guise of the SSL protocol) protects your credit card information as it whizzes across the Internet, and ensures that others can't withdraw money from your account. The ubiquitous use of tools such as SSL and SSH shows that cryptography, once an esoteric military concern, has now burst into the mainstream. Yet, this is only the beginning of a coming flood.

“Impossible” Problem One September 4, 1997 “Impossible” Problem One How can you determine the outcome of a vote on the intenet without revealing individual votes?

Classical Cryptography Basic problem: Secure communication over an insecure channel Solution: private key encryption m  E(k,m) = c  D(k,c) = m Shannon provided a rigorous theory of perfect secrecy based on information theory Adversary has unlimited computational resources, but key must be as long as message

September 4, 1997 Substitution Cypher HELLO ALL HAIL CEASAR

September 4, 1997 Substitution Cypher KHOOR DOO KDLO FHDVDU

September 4, 1997 Frequency Analysis en.wikipedia.org/wiki/Frequency_analysis_(cryptanalysis) scottbryce.com/cryptograms

One Time Pad Pad = b1  bn  {0,1}* chosen randomly m = m1  mn E(Pad,m) = c = m  Pad D(Pad,c) = c  Pad = (m  Pad)  Pad = m m,c PrPad[E(Pad,m) = c] = 1/2n No information gained from seeing c However, E(Pad,m)  E(Pad,m’) = m  m’

“Impossible” Problem Two September 4, 1997 “Impossible” Problem Two How can you send a secret over the internet without previously sending a courier to distribute the secret key? Is your method secure? The answer comes from modern cryptography and relies on public key cryptography Whitfield Diffie and Martin E. Hellman, "New Directions in Cryptography", IEEE Transactions on Information Theory, Vol. IT-22, No. 6, Nov. 1976.

Public Key Cryptosystem September 4, 1997 Public Key Cryptosystem Let M be a message and let C be the encrypted message (ciphertext). A public key cryptosystem has a separate method E() for encrypting and D() decrypting. D(E(M)) = M Both E() and D() are easy to compute Publicly revealing E() does not make it easy to determine D() E(D(M)) = M - needed for signatures The collection of E()’s are made publicly available but the D()’s remain secret. Called a one-way trap-door function (hard to invert, but easy if you have the secret information)

Public Key Encryption Map (From CS Unplugged)

Public Key Encryption Map Come up with 10 numbers that add up to your ASCII value. Label your vertices with the values. Take each vertex and its neighbors, compute the sum, and replace the vertex value with that sum. Erase the old values!!! The Map What To Do

ASCII Table

Private Key Encryption Map

Private Key Encryption Map Just add up the values of each bold vertex from the public map you were given. The Private Key What To Do

Modern Cryptography Adversary’s resources are computationally bounded Probabilistic polynomial time algorithm Impossibility of breaking the encryption system  Infeasibility of breaking Rely on gap between efficient algorithms for encryption and computational infeasibility of decryption by adversary

Dominating Sets & NP Completeness Given a graph G = (V,E) D  V is a Dominating Set If v  D is adjacent to some vertex in D Determining the number of vertices in a minimal dominating set is NP Complete An Independent Set is set of vertices such that no two are adjacent Max ind set (not subset of any other ind set) is a dominating set Smallest ind dom set  smallest max ind set Determining a maximal ind set is NP Hard

September 4, 1997 Creating Private Keys

“Impossible” Problem Three September 4, 1997 “Impossible” Problem Three How can you flip a coin over the phone? The answer comes from modern cryptography and is the key to secure communication over the internet, provides privacy, authentication and digital signatures

Public Key Cryptosystem September 4, 1997 Public Key Cryptosystem Let M be a message and let C be the encrypted message (ciphertext). A public key cryptosystem has a separate method E() for encrypting and D() decrypting. D(E(M)) = M Both E() and D() are easy to compute Publicly revealing E() does not make it easy to determine D() E(D(M)) = M - needed for signatures The collection of E()’s are made publicly available but the D()’s remain secret. Called a one-way trap-door function (hard to invert, but easy if you have the secret information)

“Impossible” Problem Four September 4, 1997 “Impossible” Problem Four How can you prove you know something to an adversary without revealing your secret? The answer comes from the area of zero knowledge proofs

Where’s Waldo

Open Sesame Jean-Jacques Quisquater, Louis C. Guillou, Thomas A. Berson. How to Explain Zero-Knowledge Protocols to Your Children. Advances in Cryptology - CRYPTO '89: Proceedings, v.435, p.628-631, 1990.

Zero Knowledge Proof Completeness: if the statement is true, the honest verifier (that is, one following the protocol properly) will be convinced of this fact by an honest prover. Soundness: if the statement is false, no cheating prover can convince the honest verifier that it is true, except with some small probability. Zero-knowledge: if the statement is true, no cheating verifier learns anything other than this fact. This is formalized by showing that every cheating verifier has some simulator that, given only the statement to be proven (and no access to the prover), can produce a transcript that "looks like" an interaction between the honest prover and the cheating verifier.

Secure Passwords Every users stores a statement of a theorem in a publicly readable directory Upon login, the user engages in a zero-knowledge proof of the correctness of the theorem If the proof is convincing access is granted Guarantees that an adversary who overhears the proof can not learn enough to gain access

RSA Public Key Cryptosystem September 4, 1997 RSA Public Key Cryptosystem

Public Key Cryptosystem September 4, 1997 Public Key Cryptosystem Let M be a message and let C be the encrypted message (ciphertext). A public key cryptosystem has a separate method E() for encrypting and D() decrypting. D(E(M)) = M Both E() and D() are easy to compute Publicly revealing E() does not make it easy to determine D() E(D(M)) = M - needed for signatures The collection of E()’s are made publicly available but the D()’s remain secret. Called a one-way trap-door function (hard to invert, but easy if you have the secret information)

RSA Public Key Cryptosystem September 4, 1997 RSA Public Key Cryptosystem Based on the idea that it is hard to factor large numbers. First encode M as an integer (e.g. use ASCII). Large messages will need to be blocked. Choose n = p*q, the product of two large prime numbers. Choose e such that gcd(e,phi(n)) = 1. Choose d such that de  1 (mod  (n)) E = (e,n) and E(M) = Me mod n D = (d,n) and D(M) = Md mod n

Correctness of the RSA Algorithm September 4, 1997 Correctness of the RSA Algorithm Theorem: D(E(M)) = E(D(M)) = M. Proof. D(E(M)) = (Me)d (mod n) = Med (mod n). Since ed  1 (mod  (n)), ed = k*  (n) + 1, for some integer k. Mk* (n)+1  (Mk* (n)+1 mod p, Mk* (n)+1 mod q) = (Mk* (n) * M mod p, Mk* (n) * M mod q) = (M(p-1)*(q-1)*k * M mod p, M(q-1)*(p-1)*k * M mod q) [since n = pq] = ((M(p-1))(q-1)*k * M mod p, (M(q-1))(p-1)*k * M mod q) = (M mod p, M mod q) [By Fermat’s theorem] Therefore, by the CRT, Mk* (n)+1  M (mod n).