Lecture 2: Perfect Ciphers (in Theory, not Practice)

Slides:



Advertisements
Similar presentations
Cryptography encryption authentication digital signatures
Advertisements

CMSC 414 Computer (and Network) Security Lecture 4 Jonathan Katz.
1 Codes, Ciphers, and Cryptography-Ch 2.3 Michael A. Karls Ball State University.
Ref. Cryptography: theory and practice Douglas R. Stinson
Foundations of Network and Computer Security J J ohn Black Lecture #3 Aug 28 th 2009 CSCI 6268/TLEN 5550, Fall 2009.
CSE331: Introduction to Networks and Security Lecture 17 Fall 2002.
Intro To Encryption Exercise 1. Monoalphabetic Ciphers Examples:  Caesar Cipher  At Bash  PigPen (Will be demonstrated)  …
Shannon ’ s theory part II Ref. Cryptography: theory and practice Douglas R. Stinson.
Coding, Information Theory (and Advanced Modulation) Prof. Jay Weitzen Ball 411
Lecture 2: Basic Information Theory Thinh Nguyen Oregon State University.
CryptographyPerfect secrecySlide 1 Today What does it mean for a cipher to be: –Computational secure? Unconditionally secure? Perfect secrecy –Conditional.
Information Theory and Security
Computer Security CS 426 Lecture 3
Lecture 2: Perfect Ciphers (in Theory, not Practice)
Lecture 5 Overview Does DES Work? Differential Cryptanalysis Idea – Use two plaintext that barely differ – Study the difference in the corresponding.
CMSC 414 Computer and Network Security Lecture 3 Jonathan Katz.
Cryptography Week-6.
CS526Topic 3: One-time Pad and Perfect Secrecy 1 Information Security CS 526 Topic 3 Cryptography: One-time Pad, Information Theoretic Security, and Stream.
EE5552 Network Security and Encryption block 4 Dr. T.J. Owens CEng MIET Dr T. Itagaki MIET, MIEEE, MAES.
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 9: Cryptography.
Chapter 2 Basic Encryption and Decryption. csci5233 computer security & integrity 2 Encryption / Decryption encrypted transmission AB plaintext ciphertext.
Section 2.2: Affine Ciphers; More Modular Arithmetic Practice HW (not to hand in) From Barr Textbook p. 80 # 2a, 3e, 3f, 4, 5a, 7, 8 9, 10 (Use affinecipherbreaker.
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.
David Evans CS551: Security and Privacy University of Virginia Computer Science Lecture 2: Breaking Unbreakable Ciphers.
Week 2 - Wednesday.  What did we talk about last time?  Encryption  Shift ciphers  Transposition ciphers.
David Evans CS200: Computer Science University of Virginia Computer Science Lecture 12: Decrypting Work Circle Fractal.
One-Time Pad Or Vernam Cipher Sayed Mahdi Mohammad Hasanzadeh Spring 2004.
Lec. 5 : History of Cryptologic Research II
Cryptography Part 1: Classical Ciphers Jerzy Wojdyło May 4, 2001.
Classical Crypto By: Luong-Sorin VA, IMIT Dith Nimol, IMIT.
1 Information Theory Nathanael Paul Oct. 09, 2002.
CS555Spring 2012/Topic 31 Cryptography CS 555 Topic 3: One-time Pad and Perfect Secrecy.
David Evans CS551: Security and Privacy University of Virginia Computer Science Lecture 4: Dissin’ DES The design took.
Lecture 4 Page 1 CS 236 Online Basic Encryption Methods Substitutions –Monoalphabetic –Polyalphabetic Permutations.
Lecture 5 Page 1 CS 236 Online More on Cryptography CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
CS526Topic 2: Classical Cryptography1 Information Security CS 526 Topic 2 Cryptography: Terminology & Classic Ciphers.
หัวข้อบรรยาย Stream cipher RC4 WEP (in)security LFSR CSS (in)security.
CS201 Tech-Talk Two: Cryptography Michael Hsu CSULA.
Lecture 3 Page 1 CS 236 Online Basic Encryption Methods Substitutions –Monoalphabetic –Polyalphabetic Permutations.
Secret Key Cryptography
(Thunking about Thunks)
Lecture 4: Metacircles Eval Apply David Evans
Lecture 6: Lambda Calculus
Chapter 2 Basic Encryption and Decryption
Cryptography Much of computer security is about keeping secrets
Lambda Calculus Revisited
Big Numbers: Mathematics and Internet Commerce
Basic Encryption Methods
Taehyung Kim HPC Lab. POSTECH
Outline Desirable characteristics of ciphers Uses of cryptography
Lecture 3: Symmetric Key Encryption
B504/I538: Introduction to Cryptography
Cryptography Lecture 4.
Lecture 9: Hash House Harriers Background just got here last week
Topic 3: Perfect Secrecy
Cryptography Lecture 3 Arpita Patra © Arpita Patra.
Information-Theoretic Secrecy
Cryptography Lecture 6.
Lecture 14: Blocking and Catching Photons Background
Lecture 21: Crosscutting Aspect-Oriented Programming Background
Lecture 10: The Return of Paco Background just got here last week
Lecture 10: Using Object-Oriented Languages
Cryptography Lecture 4.
Lecture 19: Proof-Carrying Code Background just got here last week
Lecture 10: Fixed Points ad Infinitum M.C. Escher, Moebius Ants
David Evans Lecture 19: ||ism I don’t think we have found the right programming concepts for parallel computers yet.
Lecture 5: DES Use and Analysis Background just got here last week
Lecture 15: Crazy Eddie and the Fixed Points Background
Review of Cryptography: Symmetric and Asymmetric Crypto Advanced Network Security Peter Reiher August, 2014.
CIS 5371 Cryptography 2. Perfect Secret Encryption
Presentation transcript:

David Evans http://www.cs.virginia.edu/~evans Lecture 2: Perfect Ciphers (in Theory, not Practice) Shannon was the person who saw that the binary digit was the fundamental element in all of communication. That was really his discovery, and from it the whole communications revolution has sprung. R G Gallager I just wondered how things were put together. Claude Shannon Background just got here last week finished degree at MIT week before Philosophy of advising students don’t come to grad school to implement someone else’s idea can get paid more to do that in industry learn to be a researcher important part of that is deciding what problems and ideas are worth spending time on grad students should have their own project looking for students who can come up with their own ideas for research will take good students interested in things I’m interested in – systems, programming languages & compilers, security rest of talk – give you a flavor of the kinds of things I am interested in meant to give you ideas (hopefully even inspiration!) but not meant to suggest what you should work on Claude Shannon, 1916-2001 CS588: Cryptology University of Virginia Computer Science David Evans http://www.cs.virginia.edu/~evans

University of Virginia CS 588 Menu Survey Results Perfect Ciphers Entropy and Unicity 3 Sep 2001 University of Virginia CS 588

University of Virginia CS 588 Survey Results Forged email: 7 out of 34 Broken into systems: 5 out of 34 All socially responsible, of course Victim: 10 out of 34 “hopefully not, but if they did a good job I probably would never have noticed it.” Movies/Books: Sneakers (10 – “should be required for the course”), Cryptonomicon (5), Hackers (3), Matrix (2), Mercury Rising (2), Crypto (2), Takedown, Enemy of the State, Cuckoo’s Egg, Maximum Security, The Net, Dr. Strangelove, Office Space, “Swordfish was really really bad” 3 Sep 2001 University of Virginia CS 588

Survey: Requested Topics SSL, PGP, RSA Network and web security, e-commerce Quantum Computing Banks, ATMs “All the NSA secrets” 3 Sep 2001 University of Virginia CS 588

University of Virginia CS 588 Last Time Big keyspace is not necessarily a strong cipher Claim: One-Time Pad is perfect cipher In theory: depends on perfectly random key, secure key distribution, no reuse In practice: usually ineffective (VENONA, Lorenz Machine) Today: what does is mean to be a perfect cipher? 3 Sep 2001 University of Virginia CS 588

University of Virginia CS 588 Ways to Convince “I tried really hard to break my cipher, but couldn’t. I’m a genius, so I’m sure no one else can break it either.” “Lots of really smart people tried to break it, and couldn’t.” Mathematical arguments – key size (dangerous!), statistical properties of ciphertext, depends on some provably (or believed) hard problem Invulnerability to known cryptanalysis techniques (but what about undiscovered techniques?) Show that ciphertext could match multiple reasonable plaintexts without knowing key Simple monoalphabetic secure for about 10 letters of English: XBCF CF FWPHGW This is secure Spat at troner 3 Sep 2001 University of Virginia CS 588

University of Virginia CS 588 Claude Shannon Master’s Thesis [1938] – boolean algebra in electronic circuits “Mathematical Theory of Communication” [1948] – established information theory “Communication Theory of Secrecy Systems” [1945/1949] (linked from manifest) Invented rocket-powered Frisbee, could juggle four balls while riding unicycle 3 Sep 2001 University of Virginia CS 588

University of Virginia CS 588 Entropy Amount of information in a message H(M) = -  P(Mi) log P(Mi) over all possible messages Mi If there are n equally probable messages, H(M) = -  1/n log 1/n = - (n * (1/n log 1/n)) = - (1 log 1/n) = log n Base of log is alphabet size, so for binary: H(M) = log2 n where n is the number of possible meanings 3 Sep 2001 University of Virginia CS 588

Entropy Example M = months of the year H(M) = = log2 12  3.6 (need 4 bits to encode a year) 3 Sep 2001 University of Virginia CS 588

Rate Absolute rate: how much information can be encoded R = log2 Z (Z=size of alphabet) REnglish = Actual rate of a language: r = H(M) / N M is an N-letter message. r of months spelled out using ASCII: log2 26  4.7 bits / letter = log2 12 / (8 letters * 8 bits/letter)  0.06 3 Sep 2001 University of Virginia CS 588

University of Virginia CS 588 Rate of English r(English) is about .28 letters/letter (1.3 bits/letter) How do we get this? How many meaningful 20-letter messages in English? r = H(M) / N .28 = H(M)/20 H(M) = 5.6 = log26 n n = 265.6 ~ 83 million (of 2*1028 possible) Probability that 20-letters are sensible English is About 1 in 2 * 1020 3 Sep 2001 University of Virginia CS 588

University of Virginia CS 588 Redundancy Redundancy (D) is defined: D = R – r Redundancy in English: D = 1 - .28 = .72 letters/letter D = 4.7 – 1.3 = 3.4 bits/letter Each letter is 1.3 bits of content, and 3.4 bits of redundancy. (~72%) 7-bit ASCII D = 7 – 1.3 = 5.7 81% redundancy, 19% information 3 Sep 2001 University of Virginia CS 588

University of Virginia CS 588 Unicity Distance Entropy of cryptosystem: (K = number of possible keys) H(K) = logAlphabet Size K if all keys equally likely H(64-bit key) = log2 264 = 64 Unicity distance is defined as: U = H(K)/D Expected minimum amount of ciphertext needed for brute-force attack to succeed. 3 Sep 2001 University of Virginia CS 588

University of Virginia CS 588 Unicity Examples One-Time Pad H(K) = infinite U = H(K)/D = infinite Monoalphabetic Substitution H(K) = log2 26!  87 D = 3.4 (redundancy in English) U = H(K)/D  25.5 Intuition: if you have 25 letters, probably only matches one possible plaintext. D = 0 (random bit stream) 3 Sep 2001 University of Virginia CS 588

University of Virginia CS 588 Unicity Distance Probabilistic measure of how much ciphertext is needed to determine a unique plaintext Does not indicate how much ciphertext is needed for cryptanalysis If you have less than unicity distance ciphertext, can’t tell if guess is right. As redundancy approaches 0, hard to cryptanalyze even simple cipher. 3 Sep 2001 University of Virginia CS 588

Shannon’s Theory [1945] Message space: { M1, M2,..., Mn } Assume finite number of messages Each message has probability p(M1) + p(M2) + ... + p(Mn) = 1 Key space: { K1, K2,..., Kl } (Based on Eli Biham’s notes) 3 Sep 2001 University of Virginia CS 588

Perfect Cipher: Definition Ka A perfect cipher: there is some key that maps any message to any ciphertext with equal probability. For any i, j: p (Mi|Cj) = p (Mi) M1 C1 Kb C2 M2 ... ... Mn Cn 3 Sep 2001 University of Virginia CS 588

Conditional Probability P (B | A) = The probability of B, given that A occurs P (coin flip is tails) = ½ P (coin flip is tails | last coin flip was heads) = ½ P (today is Monday | yesterday was Sunday) = 1 P (today is a weekend day | yesterday was a workday) = 1/5 3 Sep 2001 University of Virginia CS 588

Calculating Conditional Probability P (B | A) = P (A  B) P (A) P (coin flip is tails | last coin flip was heads) = P (coin flip is tails and last coin flip was heads) P(last coin flip was heads) = (½ * ½) / ½ = ½ 3 Sep 2001 University of Virginia CS 588

P (today is a weekend day | yesterday was a workday) = P (today is a weekend day and yesterday was a workday) / P (yesterday was a workday) = P (today is a weekend day) * P(yesterday was a workday) / P (yesterday was a workday) = 2/7 * 5/7 / 5/7 = 2/7 Wrong! P(A  B) = P(A) * P(B) only if A and B are independent events 3 Sep 2001 University of Virginia CS 588

University of Virginia CS 588 Perfect Cipher Definition:  i, j: P (Mi|Cj) = P (Mi) A cipher is perfect iff:  M, C P (C | M) = P (C) Or, equivalently:  M, C P (M | C) = P (M) 3 Sep 2001 University of Virginia CS 588

University of Virginia CS 588 Perfect Cipher  M, C P (C | M) = P (C)  M, C P (C) =  P(K) EK(M) = C Or:  C  P(K) is independent of M EK(M) = C Without knowing anything about the key, any ciphertext is equally likely to match and plaintext. K K 3 Sep 2001 University of Virginia CS 588

Example: Monoalphabetic Random monoalphabetic substitution for one letter message:  C,M: p(C) = p(C | M) = 1/26. 3 Sep 2001 University of Virginia CS 588

University of Virginia CS 588 Example: One-Time Pad For each bit: p(Ci = 0) = p(Ci = 0 | Mi = 0) = p(Ci = 0 | Mi = 1) = ½ since Ci = Ki  Mi p (Ki  Mi = 0) = p (Ki = 1) * p (Mi = 1) + p (Ki = 0) * p (Mi = 0) Truly random K means p (Ki = 1) = p (Ki = 0) = ½ = ½ * p (Mi = 1) + ½ * p (Mi = 0) = ½ * (p (Mi = 1) + p (Mi = 0)) = ½ All key bits are independent, so: p(C) = p(C | M) QED. 3 Sep 2001 University of Virginia CS 588

Perfect Cipher Keyspace Theorem Theorem: If a cipher is perfect, there must be at least as many keys (l) are there are possible messages (n). 3 Sep 2001 University of Virginia CS 588

Proof by Contradiction Suppose there is a perfect cipher with l < n. (More messages than keys.) Let C0 be some ciphertext with p(C0) > 0. There exist m messages M such that M = DK(C0 ) n - m messages M0 such that M0  DK(C0 ) We know 1  m  l < n so n - m > 0 and there is at least one message M0. 3 Sep 2001 University of Virginia CS 588

University of Virginia CS 588 Proof, cont. Consider the message M0 where M0  DK(C0 ) for any K. So, p (C0 | M0) = 0. In a perfect cipher, p (C0 | M0) = p (C0) > 0. Contradiction! It isn’t a perfect cipher. Hence, all perfect ciphers must have l  n. 3 Sep 2001 University of Virginia CS 588

Example: Monoalphabetic Random monoalphabetic substitution is not a perfect cipher for messages of up to 20 letters: l = 26! n = 2620 l < n its not a perfect cipher. In previous proof, could choose C0 = “AB” and M0 = “ee” and p (C0 | M0) = 0. 3 Sep 2001 University of Virginia CS 588

Example: Monoalphabetic Is random monoalphabetic substitution a perfect cipher for messages of up to 2 letters? l = 26! n = 262 l  n. No! Showing l  n does not prove its perfect. 3 Sep 2001 University of Virginia CS 588

University of Virginia CS 588 Summary Cipher is perfect:  i, j: p (Mi|Cj) = p (Mi) Given any ciphertext, the probability that it matches any particular message is the same. Equivalently,  i, j: p (Ci|Mj) = p (Ci) Given any plaintext, the probability that it matches any particular ciphertext is the same. 3 Sep 2001 University of Virginia CS 588

University of Virginia CS 588 Imperfect Cipher To prove a cipher is imperfect: Find a ciphertext that is more likely to be one message than another Show that there are more messages than keys Implies there is some ciphertext more likely to be one message than another even if you can’t find it. 3 Sep 2001 University of Virginia CS 588

University of Virginia CS 588 Charge Problem Set 1: due next Monday Next lecture will help with Question 5a,b All other questions covered (as much as we will cover them in class) already Next time: Project Kickoff Enigma 3 Sep 2001 University of Virginia CS 588