Secrets & Lies, Knowledge & Trust. (Modern Cryptography) COS 116 4/17/2007 Guest Lecturer: Ari Feldman.

Slides:



Advertisements
Similar presentations
Secrets & Lies, Knowledge & Trust. (Modern Cryptography) COS 116, Spring 2010 Adam Finkelstein.
Advertisements

1 Introduction CSE 5351: Introduction to cryptography Reading assignment: Chapter 1 of Katz & Lindell.
Section 3.8: More Modular Arithmetic and Public-Key Cryptography
BY : Darshana Chaturvedi.  INTRODUCTION  RSA ALGORITHM  EXAMPLES  RSA IS EFFECTIVE  FERMAT’S LITTLE THEOREM  EUCLID’S ALGORITHM  REFERENCES.
What is Elliptic Curve Cryptography?
22C:19 Discrete Math Integers and Modular Arithmetic Fall 2010 Sukumar Ghosh.
Great Theoretical Ideas in Computer Science.
Foundations of Network and Computer Security J J ohn Black Lecture #10 Sep 18 th 2009 CSCI 6268/TLEN 5550, Fall 2009.
OOP/Java1 Public Key Crytography From: Introduction to Algorithms Cormen, Leiserson and Rivest.
Creating Secret Messages. 2 Why do we need to keep things secret? Historically, secret messages were used in wars and battles For example, the Enigma.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
Public-key Cryptography Montclair State University CMPT 109 J.W. Benham Spring, 1998.
ECOMMERCE TECHNOLOGY SUMMER 2002 COPYRIGHT © 2002 MICHAEL I. SHAMOS Cryptographic Security.
ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS Cryptography.
CMSC 414 Computer and Network Security Lecture 2 Jonathan Katz.
1 Lecture #10 Public Key Algorithms HAIT Summer 2005 Shimrit Tzur-David.
Csci5233 Computer Security & Integrity 1 Cryptography: Basics (2)
CRYPTOGRAPHY WHAT IS IT GOOD FOR? Andrej Bogdanov Chinese University of Hong Kong CMSC 5719 | 6 Feb 2012.
McGraw-Hill©The McGraw-Hill Companies, Inc., Security PART VII.
WS Algorithmentheorie 03 – Randomized Algorithms (Public Key Cryptosystems) Prof. Dr. Th. Ottmann.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
Overview of Cryptography and Its Applications Dr. Monther Aldwairi New York Institute of Technology- Amman Campus INCS741: Cryptography.
Fall 2010/Lecture 311 CS 426 (Fall 2010) Public Key Encryption and Digital Signatures.
Public Key Algorithms 4/17/2017 M. Chatterjee.
8: Network Security8-1 Symmetric key cryptography symmetric key crypto: Bob and Alice share know same (symmetric) key: K r e.g., key is knowing substitution.
Computer Security CS 426 Lecture 3
Encryption. Introduction Computer security is the prevention of or protection against –access to information by unauthorized recipients –intentional but.
Lecture 6: Public Key Cryptography
Public Key Model 8. Cryptography part 2.
Chapter 12 Cryptography (slides edited by Erin Chambers)
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 9: Cryptography.
1 Introduction to Security and Cryptology Enterprise Systems DT211 Denis Manley.
Lecture 19 Page 1 CS 111 Online Symmetric Cryptosystems C = E(K,P) P = D(K,C) E() and D() are not necessarily the same operations.
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.
Great Theoretical Ideas in Computer Science.
RSA Ramki Thurimella.
13-1 Last time Security in Networks Network Security Controls Firewalls Honeypots Intrusion Detection Systems.
Encryption Coursepak little bit in chap 10 of reed.
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.
CS526: Information Security Prof. Sam Wagstaff September 16, 2003 Cryptography Basics.
Cryptography Wei Wu. Internet Threat Model Client Network Not trusted!!
Chapter 21 Public-Key Cryptography and Message Authentication.
Public Key Cryptography. symmetric key crypto requires sender, receiver know shared secret key Q: how to agree on key in first place (particularly if.
Cryptography Dave Feinberg. Suppose I send an from to Who has access to that ? What if I want the.
Cryptograpy By Roya Furmuly W C I H D F O P S L 7.
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
Introduction to Quantum Key Distribution
Lecture 2: Introduction to Cryptography
Cryptography 1 Crypto Cryptography 2 Crypto  Cryptology  The art and science of making and breaking “secret codes”  Cryptography  making “secret.
Overview of Cryptography & Its Applications
15-499Page :Algorithms and Applications Cryptography I – Introduction – Terminology – Some primitives – Some protocols.
CRYPTOGRAPHY. WHAT IS PUBLIC-KEY ENCRYPTION? Encryption is the key to information security The main idea- by using only public information, a sender can.
14-1 Last time Internet Application Security and Privacy Basics of cryptography Symmetric-key encryption.
PUBLIC-KEY CRYPTOGRAPHY AND RSA – Chapter 9 PUBLIC-KEY CRYPTOGRAPHY AND RSA – Chapter 9 Principles Applications Requirements RSA Algorithm Description.
Encryption CS110: Computer Science and the Internet.
Cryptography CS Lecture 19 Prof. Amit Sahai.
1 Cryptography Troy Latchman Byungchil Kim. 2 Fundamentals We know that the medium we use to transmit data is insecure, e.g. can be sniffed. We know that.
EE 122: Lecture 24 (Security) Ion Stoica December 4, 2001.
Introduction to Pubic Key Encryption CSCI 5857: Encoding and Encryption.
Introduction to Elliptic Curve Cryptography CSCI 5857: Encoding and Encryption.
Foundations of Network and Computer Security J J ohn Black CSCI 6268/TLEN 5550, Spring 2014.
Cryptography services Lecturer: Dr. Peter Soreanu Students: Raed Awad Ahmad Abdalhalim
Department of Computer Science Chapter 5 Introduction to Cryptography Semester 1.
Public-key Cryptography
Cryptography.
Secrets & Lies, Knowledge & Trust. (Modern Cryptography)
Security: Public Key Cryptography
Presentation transcript:

Secrets & Lies, Knowledge & Trust. (Modern Cryptography) COS 116 4/17/2007 Guest Lecturer: Ari Feldman

Literally means “hidden writing” Cryptography Really is the making and breaking of systems designed to achieve two goals:  Confidentiality — Keeping information secret  Integrity — Ensuring that messages are authentic and preventing undetected modifications to messages

Ancient ideas (pre-1976)  More and more complicated letter scrambling Ancient vs. Modern Crypto Modern cryptography (post-1976)  Based on computational complexity — the study of what computers can and can’t do efficiently

Terminology cipher — an encryption method plaintext — the original message before encryption ciphertext — the encrypted version of the mesage

Cast of characters Alice Bob Eve (a.k.a. Mallory) (note the devil horns)

Suppose that Alice wants to send the message “THE LECTURER SMELLS” to Bob in encrypted form. What is the simplest cipher you can think of? Sending an encrypted message

Caesar’s Cipher (c. 100BCE) To encrypt: replace each letter of the plaintext with a letter that is a fixed number of positions further down the alphabet “THE LECTURER SMELLS”“WKH OHFWXUHU VPHOOV” If Alice shifts by 3 places, then

Caesar’s Cipher: A closer look We can represent each letter A–Z as a number 0–25 We can represent the size of the shift with a number K which can have values 0–25 To encrypt, we take each letter L of the original message and calculate: (L + K) mod 26 ‘mod’ gives you the remainder after dividing (e.g. 27 mod 26 = 1) ‘mod 26’ causes numbers greater than or equal to 26 to “wrap around” K is the “key” — a secret parameter to the cipher that Alice and Bob need to agree on.

Caesar’s Cipher is weak Caesar’s Cipher can be broken easily. How? “It will keep your kid sister out, but it won't keep the police out.” — Bruce Schneier (Cryptographer) There are only 26 possible keys — you can easily try them all!

Another idea: One-time Pad Step 1: Alice and Bob meet in advance Together they generate an array of random numbers that is as long as the message that Alice will later send Bob Each of the numbers in the array is between 0 and 25 This array is the one-time pad

One-time Pad (cont.) Step 2: To encrypt the message, Alice adds each letter of the message to the corresponding number in the one-time pad and takes the result mod THE LECTURER SMELLS + = WMOKUPAAFSNZFZEZB

One-time Pad (cont.) Step 3: To decrypt the message, Bob subtracts each number in the one-time pad from the corresponding letter of the ciphertext and takes the result mod THE LECTURER SMELLS – = WMOKUPAAFSNZFZEZB

One-time Pad — the good news Incredibly strong security: the ciphertext “looks random” — it is equally likely to be the encryption of any message of the same length

One-time Pad — the bad news Alice and Bob must share a secret as long as the message itself Using the same one-time pad more than once compromises security — hence the adjective “one-time” (Hopefully, you’ll see why in lab) The one-time pad must be truly random. How does a computer get randomness?

Random source hypothesis Integral to modern cryptography I and my computer have a source of random bits These bits look completely random and unpredictable to the rest of the world. Ways to generate: Quantum phenomena in semi-conductors, timing between keystrokes, etc …

Communicating with strangers So far, we have assumed that the sender and the receiver of a message have agreed on a secret key in advance But sometimes perfect strangers need to exchange encrypted messages How can you send your encrypted credit card number to Amazon? Insecure link (Internet) (Jeff Bezos ’86)

Public-key cryptography Main idea: Amazon has 2 keys:  A public key that everyone knows  A private key that only it knows Important Property: A message that is encrypted using the public key can only be decrypted using the private key

Public-key cryptography at a conceptual level “Box that clicks shut, and only Amazon has the key to open it.” Example:  Enter your credit card number  Put it in box, ship it to Amazon  Amazon opens box, recovers your credit card number credit card #

RSA One of the most popular implementations of public-key cryptography Rivest, Shamir, Adleman [1977]

Pick 2 large random prime numbers p and q — random source hypothesis! Let N = p q “Derive” values e and d from p and q such that e and d are mathematical inverses — leaving out many details! RSA (cont.) public key = (e, N) private key = (d, N)

RSA and integer factoring The security of RSA depends on a problem that is easy to generate, but seemingly hard to solve: integer factoring If you could efficiently derive p and q from N (i.e. factor N), you would be able to derive e and d And once you know d, you know Amazon’s private key!

Integer factoring (cont.) Easy to generate: Just multiply two prime numbers (N = p q) Seemingly hard to solve: Given N, find p and q  What algorithm could you use?  What if p and q are each hundreds or even thousands of bits long? (Aside: factoring is also easy to verify because given a potential solution p and q, you can efficiently verify that N = p q. Indeed, factoring is in NP.)

Status of factoring Despite many centuries of work, no efficient algorithms. Believed to be computationally hard, but remains unproved (“almost –exponential time”) You rely on it every time you use e-commerce (Aside: If quantum computers ever get built, may become easy to solve.)

Last theme Suppose you observe something What does it mean to learn nothing from it? Suggestions?

One-time pad revisited In what sense did Eve learn nothing about the message? Answer 1: Transmission looked like a sequence of random letters Answer 2: Transmission looked like something she could easily have generated herself Eve THE LECTURER SMELLS WMOKUPAAFSNZFZEZB Eureka! moment for modern cryptography THE LECTURER SMELLSWMOKUPAAFSNZFZEZB

Zero Knowledge Proofs [Goldwasser, Micali, Rackoff ’85] What we want: Prox card reader should accept real prox cards and reject fake ones But it should learn nothing about the prox card except that it is a prox card (e.g. to preserve privacy, it shouldn’t learn which prox card it is) prox card prox card reader Student “ZK Proof”: Everything that the verifier sees in the interaction, it could easily have generated itself.

Illustration: Zero-Knowledge Proof that “Sock A is different from sock B” Suppose that I know what distinguishes sock A from sock B, but you don’t Now suppose that I want to prove to you that I know what distinguishes them Normally, I would just tell you: “Look, sock A has a tiny hole and sock B doesn’t!” Sock A Sock B

Illustration: Zero-Knowledge Proof that “Sock A is different from sock B” (cont.) But what if I don’t want to give away the distinguishing feature? I could use the following ZKP: “OK, why don’t you put both socks behind your back. Show me a random one, and I will say whether it is sock A or sock B. Repeat as many times as you like, I will always be right.” Why do you learn “nothing”? (Except that the socks are indeed different.) Sock A Sock B

Main themes of today’s lecture Creating problems can be easier than solving them Difference between seeing information and making sense of it Role of randomness in the above Ability of 2 complete strangers to exchange secret information