CS526Topic 2: Classical Cryptography1 Information Security CS 526 Topic 2 Cryptography: Terminology & Classic Ciphers.

Slides:



Advertisements
Similar presentations
Cryptography encryption authentication digital signatures
Advertisements

Using Cryptography to Secure Information. Overview Introduction to Cryptography Using Symmetric Encryption Using Hash Functions Using Public Key Encryption.
1 CIS 5371 Cryptography 5b. Pseudorandom Objects in Practice Block Ciphers.
CMSC 414 Computer (and Network) Security Lecture 4 Jonathan Katz.
Computer Science CSC 474By Dr. Peng Ning1 CSC 474 Information Systems Security Topic 2.1 Introduction to Cryptography.
CS 6262 Spring 02 - Lecture #7 (Tuesday, 1/29/2002) Introduction to Cryptography.
Cryptology  Terminology  plaintext - text that is not encrypted.  ciphertext - the output of the encryption process.  key - the information required.
Lecture 2.1: Private Key Cryptography -- I CS 436/636/736 Spring 2013 Nitesh Saxena.
CS 555Topic 11 Cryptography CS 555 Topic 1: Overview of the Course & Introduction to Encryption.
CMSC 414 Computer and Network Security Lecture 3 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 2 Jonathan Katz.
CSE331: Introduction to Networks and Security Lecture 17 Fall 2002.
McGraw-Hill©The McGraw-Hill Companies, Inc., Security PART VII.
1 Day 04- Cryptography Acknowledgements to Dr. Ola Flygt of Växjö University, Sweden for providing the original slides.
Introduction to Symmetric Block Cipher Jing Deng Based on Prof. Rick Han’s Lecture Slides Dr. Andreas Steffen’s Security Tutorial.
Overview of Cryptography and Its Applications Dr. Monther Aldwairi New York Institute of Technology- Amman Campus INCS741: Cryptography.
CS426Fall 2010/Lecture 21 Computer Security CS 426 Lecture 2 Cryptography: Terminology & Classic Ciphers.
Lecture 1 Overview.
CS526Topic 2: Classical Cryptography1 Information Security CS 526 Topic 2 Cryptography: Terminology & Classic Ciphers.
Computer Security CS 426 Lecture 3
L1.1. An Introduction to Classical Cryptosystems Rocky K. C. Chang, February 2013.
Chapter 2 – Classical Encryption Techniques
3.1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 3 Traditional Symmetric-Key Ciphers.
3.1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 3 Traditional Symmetric-Key Ciphers.
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.
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.
CIS 5371 Cryptography Introduction.
symmetric key cryptography
Week 2 - Wednesday.  What did we talk about last time?  Encryption  Shift ciphers  Transposition ciphers.
Chapter 1 Introduction Cryptography-Principles and Practice Harbin Institute of Technology School of Computer Science and Technology Zhijun Li
Chapter 2 – Elementary Cryptography  Concepts of encryption  Cryptanalysis  Symmetric (secret key) Encryption (DES & AES)(DES & AES)  Asymmetric (public.
Lec. 5 : History of Cryptologic Research II
Topic 21 Cryptography CS 555 Topic 2: Evolution of Classical Cryptography CS555.
Based on Applied Cryptography by Schneier Chapter 1: Foundations Dulal C. Kar.
Day 18. Concepts Plaintext: the original message Ciphertext: the transformed message Encryption: transformation of plaintext into ciphertext Decryption:
1 Chapter 2-1 Conventional Encryption Message Confidentiality.
Network Security Lecture 11 Presented by: Dr. Munam Ali Shah.
CS526: Information Security Prof. Sam Wagstaff September 16, 2003 Cryptography Basics.
Symmetric-Key Cryptography
Terminology and classical Cryptology
Cryptography Lynn Ackler Southern Oregon University.
Cryptography Part 1: Classical Ciphers Jerzy Wojdyło May 4, 2001.
Elementary Cryptography  Concepts of encryption  Symmetric (secret key) Encryption (DES & AES)(DES & AES)  Asymmetric (public key) Encryption (RSA)(RSA)
Classical Crypto By: Luong-Sorin VA, IMIT Dith Nimol, IMIT.
CRYPTANALYSIS OF STREAM CIPHER Bimal K Roy Cryptology Research Group Indian Statistical Institute Kolkata.
Traditional Symmetric-Key Ciphers
Computer Security Cryptography. Cryptography Now and Before  In the past – mainly used for confidentiality  Today –Still used for confidentiality –Data.
Overview of Cryptography & Its Applications
K. Salah1 Cryptography Module I. K. Salah2 Cryptographic Protocols  Messages should be transmitted to destination  Only the recipient should see it.
CS555Spring 2012/Topic 31 Cryptography CS 555 Topic 3: One-time Pad and Perfect Secrecy.
1.1 Introduction to Cryptography. 1.2 Basic Cryptography Cryptography is a deep mathematical subject. Cryptographic protocols provide a cornerstone for.
1 CIS 5371 Cryptography 1.Introduction. 2 Prerequisites for this course  Basic Mathematics, in particular Number Theory  Basic Probability Theory 
Substitution Ciphers Reference –Matt Bishop, Computer Security, Addison Wesley, 2003.
Computer Security By Rubel Biswas. Introduction History Terms & Definitions Symmetric and Asymmetric Attacks on Cryptosystems Outline.
Department of Computer Science Chapter 5 Introduction to Cryptography Semester 1.
1 CIS 5371 Cryptography 1.Introduction. 2 Prerequisites for this course  Basic Mathematics, in particular Number Theory  Basic Probability Theory 
หัวข้อบรรยาย Stream cipher RC4 WEP (in)security LFSR CSS (in)security.
@Yuan Xue Quick Review.
CRYPTOGRAPHY G REEK WORD MEANING “ SECRET WRITING ”
Substitution Ciphers.
Chapter 2 Basic Encryption and Decryption
CH15 –Security & Crypto.
Asad Gondal Ali Haider Mansoor
Network Security Instructor: Haojin Zhu
Taehyung Kim HPC Lab. POSTECH
Information Security CS 526 Topic 3
Traditional Symmetric-Key Ciphers
Presentation transcript:

CS526Topic 2: Classical Cryptography1 Information Security CS 526 Topic 2 Cryptography: Terminology & Classic Ciphers

CS526Topic 2: Classical Cryptography2 Readings for This Lecture Required readings: –Cryptography on WikipediaCryptography on Wikipedia Interesting reading –The Code Book by Simon SinghThe Code Book

CS526Topic 2: Classical Cryptography3 Goals of Cryptography The most fundamental problem cryptography addresses: ensure security of communication over insecure medium What does secure communication mean? –confidentiality (secrecy) only the intended recipient can see the communication –integrity (authenticity) the communication is generated by the alleged sender What does insecure medium mean? –Two basic possibilities: Passive attacker: the adversary can eavesdrop Active attacker: the adversary has full control over the communication channel

CS526Topic 2: Classical Cryptography4 Approaches to Secure Communication Steganography –“covered writing” –hides the existence of a message –depends on secrecy of method Cryptography –“hidden writing” –hide the meaning of a message –depends on secrecy of a short key, not method

CS526Topic 2: Classical Cryptography5 Basic Terminology for Encryption Plaintext original message Ciphertext transformed message Key secret used in transformation Encryption Decryption Cipher algorithm for encryption/decryption

CS526Topic 2: Classical Cryptography6 Shift Cipher The Key Space: –[0.. 25] Encryption given a key K: –each letter in the plaintext P is replaced with the K’th letter following corresponding number (shift right) Decryption given K: –shift left History: K = 3, Caesar ’ s cipher

CS526Topic 2: Classical Cryptography7 Shift Cipher: Cryptanalysis Can an attacker find K? –YES: by a bruteforce attack through exhaustive key search. key space is small (<= 26 possible keys). –How much ciphertext is needed? Lessons: –Key space needs to be large enough. –Exhaustive key search can be effective.

CS526Topic 2: Classical Cryptography8 Mono-alphabetic Substitution Cipher The key space: all permutations of  = {A, B, C, …, Z} Encryption given a key  : –each letter X in the plaintext P is replaced with  (X) Decryption given a key  : –each letter Y in the cipherext P is replaced with  -1 (Y) Example: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  = B A D C Z H W Y G O Q X S V T R N M L K J I P F E U BECAUSE  AZDBJSZ

CS526Topic 2: Classical Cryptography9 Strength of the Mono-alphabetic Substitution Cipher Exhaustive search is difficult –key space size is 26!  4×10 26  2 88 Dominates the art of secret writing throughout the first millennium A.D. Thought to be unbreakable by many back then How to break it?

CS526Topic 2: Classical Cryptography10 Cryptanalysis of Substitution Ciphers: Frequency Analysis Basic ideas: –Each language has certain features: frequency of letters, or of groups of two or more letters. –Substitution ciphers preserve the language features. –Substitution ciphers are vulnerable to frequency analysis attacks. –How much ciphertext is required?

CS526Topic 2: Classical Cryptography11 Frequency of Letters in English

How to Defeat Frequency Analysis? Use larger blocks as the basis of substitution. Rather than substituting one letter at a time, substitute 64 bits at a time, or 128 bits. –Leads to block ciphers such as DES & AES. Use different substitutions to get rid of frequency features. –Leads to polyalphabetical substituion ciphers, and to stream ciphers such as RC4 CS526Topic 2: Classical Cryptography12

CS526Topic 2: Classical Cryptography13 Towards the Polyalphabetic Substitution Ciphers Main weaknesses of monoalphabetic substitution ciphers –In ciphertext, different letters have different frequency each letter in the ciphertext corresponds to only one letter in the plaintext letter Idea for a stronger cipher (1460’s by Alberti) –Use more than one substitutions, and switch between them when encrypting different letters As result, frequencies of letters in ciphertext are similar Developed into an easy-to-use cipher by Vigenère (published in 1586)

CS526Topic 2: Classical Cryptography14 The Vigenère Cipher Treat letters as numbers: [A=0, B=1, C=2, …, Z=25] Number Theory Notation: Z n = {0, 1, …, n-1} Definition: Given m, a positive integer, P = C = (Z 26 ) n, and K = (k 1, k 2, …, k m ) a key, we define: Encryption: e k (p 1, p 2 … p m ) = (p 1 +k 1, p 2 +k 2 …p m +k m ) (mod 26) Decryption: d k (c 1, c 2 … c m ) = (c 1 -k 1, c 2 -k 2 … c m - k m ) (mod 26) Example: Plaintext: C R Y P T O G R A P H Y Key: L U C K L U C K L U C K Ciphertext: N L A Z E I I B L J J I

CS526Topic 2: Classical Cryptography15 Security of Vigenere Cipher Vigenere masks the frequency with which a character appears in a language: one letter in the ciphertext corresponds to multiple letters in the plaintext. Makes the use of frequency analysis more difficult. Any message encrypted by a Vigenere cipher is a collection of as many shift ciphers as there are letters in the key.

CS526Topic 2: Classical Cryptography16 Vigenere Cipher: Cryptanalysis Find the length of the key. –Kasisky test –Index of coincidence (we won’t cover here) Divide the message into that many shift cipher encryptions. Use frequency analysis to solve the resulting shift ciphers. –How?

CS526Topic 2: Classical Cryptography17 Kasisky Test for Finding Key Length Observation: two identical segments of plaintext, will be encrypted to the same ciphertext, if they occur in the text at a distance  such that  is a multiple of m, the key length. Algorithm: –Search for pairs of identical segments of length at least 3 –Record distances between the two segments:  1,  2, … –m divides gcd(  1,  2, …)

CS526Topic 2: Classical Cryptography18 Example of the Kasisky Test Key K I N G K I N G K I N G K I N G K I N G K I N G PT t h e s u n a n d t h e m a n i n t h e m o o n CT D P R Y E V N T N B U K W I A O X B U K W W B T Repeating patterns (strings of length 3 or more) in ciphertext are likely due to repeating plaintext strings encrypted under repeating key strings; thus the location difference should be multiples of key lengths.

CS526Topic 3: One-time Pad and Perfect Secrecy 19 One-Time Pad Fix the vulnerability of the Vigenere cipher by using very long keys Key is a random string that is at least as long as the plaintext Encryption is similar to shift cipher Invented by Vernam in the 1920s

CS526Topic 3: One-time Pad and Perfect Secrecy 20 One-Time Pad Let Z m ={0,1,…,m-1} be the alphabet. Plaintext space = Ciphtertext space = Key space = (Z m ) n The key is chosen uniformly randomly Plaintext X = (x 1 x 2 … x n ) Key K = (k 1 k 2 … k n ) Ciphertext Y = (y 1 y 2 … y n ) e k (X) = (x 1 +k 1 x 2 +k 2 … x n +k n ) mod m d k (Y) = (y 1 -k 1 y 2 -k 2 … y n -k n ) mod m

CS526Topic 3: One-time Pad and Perfect Secrecy 21 The Binary Version of One-Time Pad Plaintext space = Ciphtertext space = Keyspace = {0,1} n Key is chosen randomly For example: Plaintext is Key is Then ciphertext is

CS526Topic 3: One-time Pad and Perfect Secrecy 22 Bit Operators Bit AND 0  0 = 0 0  1 = 0 1  0 = 0 1  1 = 1 Bit OR 0  0 = 0 0  1 = 1 1  0 = 1 1  1 = 1 Addition mod 2 (also known as Bit XOR) 0  0 = 0 0  1 = 1 1  0 = 11  1 = 0 Can we use operators other than Bit XOR for binary version of One-Time Pad?

CS526Topic 3: One-time Pad and Perfect Secrecy 23 How Good is One-Time Pad? Intuitively, it is secure … –The key is random, so the ciphertext is completely random How to formalize the confidentiality requirement? –Want to say “certain thing” is not learnable by the adversary (who sees the ciphertext). But what is the “certain thing”? Which (if any) of the following is the correct answer? –The key. –The plaintext. –Any bit of the plaintext. –Any information about the plaintext. E.g., the first bit is 1, the parity is 0, or that the plaintext is not “aaaa”, and so on –How to formalize this?

CS526Topic 3: One-time Pad and Perfect Secrecy 24 Key Randomness in One-Time Pad One-Time Pad uses a very long key, what if the key is not chosen randomly, instead, texts from, e.g., a book are used as keys. –this is not One-Time Pad anymore –this can be broken –How? Corrolary: The key in One-Time Pad should never be reused. –If it is reused, it is Two-Time Pad, and is insecure! –Why?

Usage of One-Time Pad To use one-time pad, one must have keys as long as the messages. To send messages totaling certain size, sender and receiver must agree on a shared secret key of that size. –typically by sending the key over a secure channel Key agreement is difficult to do in practice. Can’t one use the channel for sending the key to send the messages instead? Why is OTP still useful, even though difficult to use? CS526Topic 3: One-time Pad and Perfect Secrecy 25

Usage of One-Time Pad The channel for distributing keys may exist at a different time from when one has messages to send. The channel for distributing keys may have the property that keys can be leaked, but such leakage will be detected –Such as in Quantum cryptography CS526Topic 3: One-time Pad and Perfect Secrecy 26

CS526Topic 2: Classical Cryptography27 Adversarial Models for Ciphers The language of the plaintext and the nature of the cipher are assumed to be known to the adversary. Ciphertext-only attack : The adversary knows only a number of ciphertexts. Known-plaintext attack : The adversary knows some pairs of ciphertext and corresponding plaintext. Chosen-plaintext attack: The adversary can choose a number of messages and obtain the ciphertexts Chosen-ciphertext attack: The adversary can choose a number of ciphertexts and obtain the plaintexts. What kinds of attacks have we considered so far? When would these attacks be relevant in wireless communications?

CS526Topic 2: Classical Cryptography28 The Open Design Security Principle Kerckhoffs's Principle: –A cryptosystem should be secure even if everything about the system, except the key, is public knowledge. Shannon's maxim: –"The enemy knows the system." Security by obscurity doesn’t work Should assume that the adversary knows the algorithm; the only secret the adversary is assumed to not know is the key What is the difference between the algorithm and the key?

CS526Topic 2: Classical Cryptography29 Coming Attractions … Cryptography: Informational Theoretical Security, Stream Ciphers