based on applied cryptography by schneier chapter 1: foundations dulal c. kar

22
Based on Applied Cryptogr aphy by Schneier Chapter 1: Foundations Dulal C. Kar

Upload: molly-walton

Post on 01-Jan-2016

232 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Based on Applied Cryptography by Schneier Chapter 1: Foundations Dulal C. Kar

Based on Applied Cryptography by Schneier

Chapter 1: Foundations

Dulal C. Kar

Page 2: Based on Applied Cryptography by Schneier Chapter 1: Foundations Dulal C. Kar

Terminology

• Sender and Receiver

• Messages and Encryption– Encryption and decryption– Plaintext and ciphertext– Cryptography and cryptographers– Cryptanalysis and cryptanalysts– Cryptology and cryptologists

Page 3: Based on Applied Cryptography by Schneier Chapter 1: Foundations Dulal C. Kar

Encryption and Decryption

• Notations– Message, M– Plaintext, P– Ciphertext, C– Encryption function, E

• E(M) = C– Decryption function, D

• D(C) = M

• Identity: D(E(M)) = M

Encryption Decryption

Plaintext Ciphertext OriginalPlaintext

Page 4: Based on Applied Cryptography by Schneier Chapter 1: Foundations Dulal C. Kar

Authentication, Integrity, and Nonrepudiation

• In addition to providing confidentiality (privacy), other cryptographic services are:– Authentication

• Ascertaining a message’s true origin

– Integrity• Verifying that a message has not been modified in

transit

– Nonrepudiation• A sender should not be able to falsely deny later that

he sent a message

Page 5: Based on Applied Cryptography by Schneier Chapter 1: Foundations Dulal C. Kar

Algorithms and Keys

• Cryptographic algorithm– Also called cipher– Mathematical function for encryption and

decryption

• Restricted algorithm– Secret algorithm, popular for low security

applications, no standard

• Modern cryptography– Key, K– Keyspace

• Range of possible values of the key

Page 6: Based on Applied Cryptography by Schneier Chapter 1: Foundations Dulal C. Kar

Key-Based Cryptography

• Key-based encryption and decryption– Ek(M) = C– Dk(C) = M

• Identity– Dk(Ek(M)) = M

Encryption Decryption

Plaintext Ciphertext OriginalPlaintext

Key Key

Page 7: Based on Applied Cryptography by Schneier Chapter 1: Foundations Dulal C. Kar

Different Keys for Encryption and Decryption

• Encryption key, K1

• Decryption key, K2

• Ek1(M) = C• Dk2(C) = M• Dk2(Ek1(M)) = M

Encryption Decryption

Plaintext Ciphertext OriginalPlaintext

Encryption Key Decryption Key

Page 8: Based on Applied Cryptography by Schneier Chapter 1: Foundations Dulal C. Kar

Cryptosystem

• An algorithm, plus all possible plaintexts, ciphertexts, and keys

Page 9: Based on Applied Cryptography by Schneier Chapter 1: Foundations Dulal C. Kar

Symmetric Algorithms

• Same key for encryption and decryption• Also called, secret-key algorithms, one-key

algorithms, single-key algorithms

• Ek(M) = C

• Dk(C) = M

• Two categories– Stream algorithms or stream ciphers (operate on a

single bit or sometimes bytes)– Block algorithms or block ciphers (a typical block size

is 64 bits for modern computer algorithms)

Page 10: Based on Applied Cryptography by Schneier Chapter 1: Foundations Dulal C. Kar

Public-Key Algorithms

• Key used for encryption is different from key used for decryption

• Encryption key is often called the public key• Decryption key is often called the private key• Decryption key cannot be calculated from encryption key

in any reasonable amount of time• Also called asymmetric algorithms• Ek1(M) = C• Dk2(C) = M• For digital signatures, messages are encrypted with the

private key and decrypted with the public key

Page 11: Based on Applied Cryptography by Schneier Chapter 1: Foundations Dulal C. Kar

Cryptanalysis

• Science of recovering plaintext of a message without access to the key

• An attempted cryptanalysis is called an attack

• Kerckhoffs’ assumptions in cryptanalysis– Cryptographic algorithm and implementation

known – Secrecy resides only in the key

Page 12: Based on Applied Cryptography by Schneier Chapter 1: Foundations Dulal C. Kar

Cryptanalytic Attacks• Ciphertext-only attack

– Given ciphertext of several messages, recover plaintext, key(s), or algorithm

– Formally

Given: C1 = Ek(P1), C2 = Ek(P2), . . ., Ci = Ek(Pi)

Deduce: Either P1, P2, . . . Pi; k; or an algorithm to infer Pi+1 from Ci+1 = Ek(Pi+1)

• Known-plaintext attack– Given ciphertext and corresponding plaintext of several

messages, deduce the key(s) or algorithm– Formally

Given: (P1, C1), (P2, C2), . . ., (Pi, Ci) where Ci = Ek(Pi)

Deduce: Either k, or an algorithm to infer Pi+1 from Ci+1 = Ek(Pi+1)

Page 13: Based on Applied Cryptography by Schneier Chapter 1: Foundations Dulal C. Kar

Cryptanalytic Attacks (cont’d)• Chosen-plaintext attack

Given: (P1, C1), (P2, C2), . . ., (Pi, Ci) where the cryptanalyst gets to choose P1, P2, . . ., Pi

Deduce: Either k, or an algorithm to infer Pi+1 from Ci+1 = Ek(Pi+1)

• Adaptive-chosen-plaintext attack– A special case of chosen-plaintext attack– Cryptanalyst modifies his or her choice of plaintext based

on the results of previous encryption• Chosen-ciphertext attack

– Given: C1, P1 = Dk(C1), C2, P2 = Dk(C2), . . ., Ci, Pi = Dk(Ci)– Deduce: k– Primarily applicable to public-key algorithms– Sometimes effective against a symmetric algorithm as well

Page 14: Based on Applied Cryptography by Schneier Chapter 1: Foundations Dulal C. Kar

Cryptanalytic Attacks (cont’d)• Chosen-key attack

– Cryptanalyst has some knowledge about the relationship between different keys

– Not very practical

• Rubber-hose cryptanalysis– Cryptanalyst threatens, blackmails, or tortures someone to get the key

• Purchase-key attack– Bribe someone to get the key

• Author’s Comments – The best cryptographic algorithms are the ones that have been made

public, have been attacked by the world’s best cryptographers for years, and are still unbreakable

– Those who claim to have an unbreakable cipher simply because they cannot break are either geniuses or fools

– Good cryptographers rely on peer review to separate the good algorithms from the bad

Page 15: Based on Applied Cryptography by Schneier Chapter 1: Foundations Dulal C. Kar

Security of Algorithms• Different algorithms offer different degrees of security• Cost of breaking must be greater than the value of

encrypted data• Value of most data decreases over time• An algorithm is unconditionally secure if, no matter how

much ciphertext a cryptanalyst has, there is not enough information to recover the plaintext (ex: one-time pad)

• Cryptography is concerned with cryptosystems that are computationally infeasible to break

• An algorithm is considered computationally secure (also called strong) if it cannot be broken with available resources, either current or future.

Page 16: Based on Applied Cryptography by Schneier Chapter 1: Foundations Dulal C. Kar

Complexity Measures of An Attack

• Data complexity– Amount of data needed as input to the attack

• Processing complexity (also called work factor)– Time needed to perform the attack

• Storage requirements– Amount of memory needed to do the attack

• As a rule of thumb, the complexity of an attack is taken to be the minimum of the three factors

• Some attacks involve trading off the three complexities

Page 17: Based on Applied Cryptography by Schneier Chapter 1: Foundations Dulal C. Kar

Steganography

• Existence of a secret message is concealed by hiding it in other messages

• Example– Hiding secret messages in graphic images

Page 18: Based on Applied Cryptography by Schneier Chapter 1: Foundations Dulal C. Kar

Substitution Ciphers and Transposition Ciphers

• Substitution Ciphers– Classical cryptography– Each character in the plaintext is substituted for another

character in the ciphertext. Ex: Caesar Cipher

• Transposition Ciphers– Plaintext remains the same, but the order of characters is

shuffled around. Ex: columnar transposition cipher

• Rotor Machines– Enigma machine– Used by the Germans during World War II– A team of Polish cryptographers broke the first German Enigma

Page 19: Based on Applied Cryptography by Schneier Chapter 1: Foundations Dulal C. Kar

Simple XOR

• A symmetric algorithm– Plaintext is XORed with a keyword to generate ciphertext

• Not secured at all; trivial to break• How to break

– Discover the length of the key by a procedure known as counting coincidences

– Shift the ciphertext by that length and XOR it with itself

PKC

CKP

Page 20: Based on Applied Cryptography by Schneier Chapter 1: Foundations Dulal C. Kar

One-Time Pads

• Perfect encryption scheme, primarily used for ultra-secure low bandwidth channels

• Invented by Major Joseph Mauborgne and AT&T’s Gilbert Vernam in 1917

• Start by representing the message as a sequence of 0s and1s• Key is a random sequence of 0s and 1s of the same length as the

message• Add the key to the message mod 2, bit by bit (Actually XOR

operation)

• Discard the key, once used and never use again (plaintext) 00101001

(key) + 10101100------------------------------------(ciphertext) 10000101

Page 21: Based on Applied Cryptography by Schneier Chapter 1: Foundations Dulal C. Kar

A Variation of One-Time Pads• Consider plaintext as a sequence of letters• Key is a random sequence of shifts, each one between 0 and 25• Decryption uses the same key, but subtracts instead of adding the

shifts• This encryption is completely unbreakable for a ciphertext only

attack• Example: Assume A 1, B 2, . . ., Z 0

Plaintext: ONETIMEPAD key:TBFRGFARFMCiphertext: IPKLPSFHGQHow? O+T mod 26 = I

N + B mod 26 = Petc.

• Caveats: – key letters have to be generated randomly. Using pseudo-random

number generator is not useful. – No authenticity.

Page 22: Based on Applied Cryptography by Schneier Chapter 1: Foundations Dulal C. Kar

Computer Algorithms

• Thee most common cryptographic algorithms– DES (Data Encryption Standard)

• Most popular symmetric key algorithm• 3DES

– AES (Advanced Encryption Standard)– RSA (Rivest, Shamir, and Adleman)

• Most popular public-key algorithm• Can be used for both encryption and digital signatures

– DSA (Digital Signature Algorithm)• A public-key algorithm; cannot be used for encryption, but

only for digital signatures