cryptology n the study of secret messages n caesar cipher ä f (p) = (p + 3) mod 26 ä “meet you...
TRANSCRIPT
![Page 1: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/1.jpg)
Cryptology
The study of secret messages
Caesar cipher f (p) = (p + 3) mod 26
“MEET YOU IN THE PARK” becomes“PHHW BRX LQ WKH SDUN”
![Page 2: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/2.jpg)
Security Now Podcast
Leo LaPorte, twit.tv, leoville.com
Steve Gibson, grc.com
![Page 3: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/3.jpg)
Decoder Ring (SN-31)
![Page 4: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/4.jpg)
Basic Terminology• plaintext - the original message
• ciphertext - the coded message
• cipher - algorithm for transforming plaintext to ciphertext
• key - info used in cipher known only to sender/receiver
• encipher (encrypt) - converting plaintext to ciphertext
• decipher (decrypt) - recovering ciphertext from plaintext
• cryptography - study of encryption principles/methods
• cryptanalysis (codebreaking) - the study of principles/ methods of deciphering ciphertext without knowing key
• cryptology - the field of both cryptography and cryptanalysis
![Page 5: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/5.jpg)
Cryptology
The study of secret messages
Caesar cipher f (p) = (p + 3) mod 26
“MEET YOU IN THE PARK” becomes“PHHW BRX LQ WKH SDUN”
![Page 6: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/6.jpg)
English Letter Frequencies
![Page 7: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/7.jpg)
Letter Pair Frequencies
For instance, given a section of English language, E tends to be very common, while X is very rare. Likewise, ST, NG, TH, and QU are common pairs of letters (termed bigrams or digraphs), while NZ and QJ are rare. The mnemonics phrase "ETAOIN SHRDLU" encodes the 12 most frequent letters in typical English language text.
![Page 8: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/8.jpg)
EXCLUSIVE OR
The EXCLUSIVE OR is true when
exactly one of its operands is true.
p q p q
____________________
F F F
F T T
T F T
T T F
![Page 9: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/9.jpg)
Reversible XOR
1100 plaintext
1010 encrypt
-----
0110 ciphertext
1010 decrypt
-----
1100 plaintext
![Page 10: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/10.jpg)
Ch 7 / Foil 10
Random Numbers
Generating a sequence of random numbers is often useful In a game, it ensures that a player does not see
the same behavior each time In a simulation of a complex system,
random numbers can be used tohelp generate random events
– Car crash in a simulationof a highway system
– Likelihood of a gene in cell mutation– Weather simulation
![Page 11: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/11.jpg)
Ch 7 / Foil 11
Uniform Random Numbers
Uniform random number sequence A sequence of random numbers where
– Each value in the sequence is drawn from the same range of numbers
– In each position of the sequence, any value in the number range is equally likely to occur
![Page 12: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/12.jpg)
Ch 7 / Foil 12
Random Numbers
Examples Generate a uniform random
number sequence in the range1 to 6
– Use a fair six-sided dice– Each roll represents a new random number
Do two die produce uniform random numbers in the range 1 ... 12?
Generate a uniform random numbersequence in the range 1 to 2
– Use a fair coin Heads: 1, Tails: 2
![Page 13: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/13.jpg)
Ch 7 / Foil 13
Random Numbers
We can write an algorithmfor generating what lookslike random numbers
Because it’s an algorithm,we know the rules for generating the next number The generated numbers are not really random
– They are properly called pseudorandom numbers
30 21 9 28 29 ...
![Page 14: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/14.jpg)
Ch 7 / Foil 14
Stdlib Library
Provides in part an interface to functions that generate pseudorandom numbers rand() -- returns a uniform pseudorandom number (unsigned int)
from the inclusive interval 0 to RAND_MAX Consider rand.cpp
#include <iostream>#include <string>using namespace std;#include <stdlib.h>int main() { for (int i = 1; i <= 5; ++i)
cout << rand() << endl; return 0;
}
![Page 15: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/15.jpg)
Ch 7 / Foil 15
Different Sequences
To produce a different sequence, invoke
void srand(unsigned int); Consider seed.cpp
int main() { cout << "Enter a seed: "; unsigned int Seed; cin >> Seed; srand(Seed); for (int i = 1; i <= 5; ++i) cout << rand() << endl; return 0;
}
![Page 16: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/16.jpg)
Ch 7 / Foil 16
Different Sequences
To get a different sequence each time Need a method of setting the seed to a random value
– The standard method is to use the computer's clock as the value of the seed
– The function invocation time() can be used Returns an integral value of type time_t Invocation time(0) returns a suitable value for
generating a random sequence
![Page 17: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/17.jpg)
Ch 7 / Foil 17
Randseed.cpp
#include <iostream>#include <string>using namespace std;#include <stdlib.h>#include <time.h>
int main() { srand((unsigned int) time(0)); for (int i = 1; i <= 5; ++i)
cout << rand() << endl; return 0;
}
![Page 18: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/18.jpg)
Symmetric Key
Symmetric-key algorithms are a class of algorithms for cryptography that use trivially related, often identical, cryptographic keys for both decryption and encryption.
![Page 19: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/19.jpg)
Diffie-Hellman Key Exchange
We both agree on a public key a I raise ab for some large integer b You raise ac for integer c We exchange values You raise ab to the c power I raise ac to the b power We both have abc for our session key (RNG seed)
No one eavesdropping can perform log ab or log ac for large values of a, b, c
Security Now 34, 7:30mins-11:30
![Page 20: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/20.jpg)
RSA Encryption C = Me mod n
C = encrypted message M = plaintext message (converted to #s via ASCII) n is product of two primes pq e is exponent relatively prime to (p-1)(q-1) (public key)
The formula is invertible if p, q are known So, huge prime values are chosen for p,q (200 digits) n cannot be factored in a reasonable amount of time (2 billion years of computer time) Receiver of message is given decryption key: p & q
RSA Demo
![Page 21: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/21.jpg)
RSA Encryption The RSA algorithm, invented in 1977 by Ron Rivest, Adi Shamir, and Leonard
Adleman, is used frequently for public-key encryption and decryption. It works as follows: Take two large prime numbers, p and q, and find their
product n = pq; n is called the modulus. Choose a number, e, less than n and relatively prime to (p1)(q1), and find d, an inverse of e modulo (p1)(q1), which means that ed 1 mod (p1)(q1);
e and d are called the public and private exponents, respectively. The public key is the pair (n,e); the private key is d. The factors p and q must be kept secret, or destroyed. It is difficult (presumably) to obtain the private key d from the public key (n,e). If one could factor n into p and q (which can be difficult for large values of p and q) however, then one could obtain the private key d.
RSA Demo
![Page 22: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/22.jpg)
Outline
• Overview of Cryptography
• Classical Symmetric Cipher
• Modern Symmetric Ciphers (DES)
![Page 23: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/23.jpg)
Basic Terminology• plaintext - the original message
• ciphertext - the coded message
• cipher - algorithm for transforming plaintext to ciphertext
• key - info used in cipher known only to sender/receiver
• encipher (encrypt) - converting plaintext to ciphertext
• decipher (decrypt) - recovering ciphertext from plaintext
• cryptography - study of encryption principles/methods
• cryptanalysis (codebreaking) - the study of principles/ methods of deciphering ciphertext without knowing key
• cryptology - the field of both cryptography and cryptanalysis
![Page 24: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/24.jpg)
Classification of Cryptography• Number of keys used
– Hash functions: no key
– Secret key cryptography: one key
– Public key cryptography: two keys - public, private
• Type of encryption operations used
– substitution / transposition / product
• Way in which plaintext is processed
– block / stream
![Page 25: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/25.jpg)
Secret Key vs. Secret Algorithm
• Secret algorithm: additional hurdle
• Hard to keep secret if used widely:
– Reverse engineering, social engineering
• Commercial: published
– Wide review, trust
• Military: avoid giving enemy good ideas
![Page 26: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/26.jpg)
Cryptanalysis Scheme• Ciphertext only:
– Exhaustive search until “recognizable plaintext”
– Need enough ciphertext
• Known plaintext:
– Secret may be revealed (by spy, time), thus <ciphertext, plaintext> pair is obtained
– Great for monoalphabetic ciphers
• Chosen plaintext:
– Choose text, get encrypted
– Useful if limited set of messages
![Page 27: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/27.jpg)
Unconditional vs. Computational Security
• Unconditional security
– No matter how much computer power is available, the cipher cannot be broken
– The ciphertext provides insufficient information to uniquely determine the corresponding plaintext
– Only one-time pad scheme qualifies
• Computational security
– The cost of breaking the cipher exceeds the value of the encrypted info
– The time required to break the cipher exceeds the useful lifetime of the info
![Page 28: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/28.jpg)
Brute Force Search• Always possible to simply try every key
• Most basic attack, proportional to key size
• Assume either know / recognise plaintext
![Page 29: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/29.jpg)
Outline
• Overview of Cryptography
• Classical Symmetric Cipher
– Substitution Cipher
– Transposition Cipher
• Modern Symmetric Ciphers (DES)
![Page 30: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/30.jpg)
Symmetric Cipher Model
![Page 31: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/31.jpg)
Requirements• Two requirements for secure use of
symmetric encryption:
– a strong encryption algorithm
– a secret key known only to sender / receiver
Y = EK(X)
X = DK(Y)
• Assume encryption algorithm is known
• Implies a secure channel to distribute key
![Page 32: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/32.jpg)
Classical Substitution Ciphers
• Letters of plaintext are replaced by other letters or by numbers or symbols
• Plaintext is viewed as a sequence of bits, then substitution replaces plaintext bit patterns with ciphertext bit patterns
![Page 33: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/33.jpg)
Caesar Cipher
• Earliest known substitution cipher
• Replaces each letter by 3rd letter on
• Example:
meet me after the toga party
PHHW PH DIWHU WKH WRJD SDUWB
![Page 34: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/34.jpg)
Caesar Cipher• Define transformation as:
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
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
• Mathematically give each letter a numbera b c d e f g h i j k l m
0 1 2 3 4 5 6 7 8 9 10 11 12
n o p q r s t u v w x y Z
13 14 15 16 17 18 19 20 21 22 23 24 25
• Then have Caesar cipher as:
C = E(p) = (p + k) mod (26)
p = D(C) = (C – k) mod (26)
![Page 35: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/35.jpg)
Cryptanalysis of Caesar Cipher
• Only have 25 possible ciphers
– A maps to B,..Z
• Given ciphertext, just try all shifts of letters
• Do need to recognize when have plaintext
• E.g., break ciphertext "GCUA VQ DTGCM"
![Page 36: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/36.jpg)
Monoalphabetic Cipher• Rather than just shifting the alphabet
• Could shuffle (jumble) the letters arbitrarily
• Each plaintext letter maps to a different random ciphertext letter
• Key is 26 letters long
Plain: abcdefghijklmnopqrstuvwxyz
Cipher: DKVQFIBJWPESCXHTMYAUOLRGZN
Plaintext: ifwewishtoreplaceletters
Ciphertext: WIRFRWAJUHYFTSDVFSFUUFYA
![Page 37: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/37.jpg)
Monoalphabetic Cipher Security
• Now have a total of 26! = 4 x 1026 keys
• Is that secure?
• Problem is language characteristics
– Human languages are redundant
– Letters are not equally commonly used
![Page 38: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/38.jpg)
English Letter Frequencies
![Page 39: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/39.jpg)
Example Cryptanalysis• Given ciphertext:
UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ
VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX
EPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ
• Count relative letter frequencies (see text)
• Guess P & Z are e and t
• Guess ZW is th and hence ZWP is the
• Proceeding with trial and error finally get:it was disclosed yesterday that several informal but
direct contacts have been made with political
representatives of the viet cong in moscow
![Page 40: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/40.jpg)
One-Time Pad• If a truly random key as long as the message
is used, the cipher will be secure - One-Time pad
• E.g., a random sequence of 0’s and 1’s XORed to plaintext, no repetition of keys
• Unbreakable since ciphertext bears no statistical relationship to the plaintext
• For any plaintext, it needs a random key of the same length
– Hard to generate large amount of keys
• Have problem of safe distribution of key
![Page 41: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/41.jpg)
Transposition Ciphers
• Now consider classical transposition or permutation ciphers
• These hide the message by rearranging the letter order, without altering the actual letters used
• Can recognise these since have the same frequency distribution as the original text
![Page 42: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/42.jpg)
Rail Fence cipher
• Write message letters out diagonally over a number of rows
• Then read off cipher row by row
• E.g., write message out as:m e m a t r h t g p r y
e t e f e t e o a a t
• Giving ciphertextMEMATRHTGPRYETEFETEOAAT
![Page 43: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/43.jpg)
Product Ciphers• Ciphers using substitutions or transpositions are
not secure because of language characteristics
• Hence consider using several ciphers in succession to make harder, but:
– Two substitutions make a more complex substitution
– Two transpositions make more complex transposition
– But a substitution followed by a transposition makes a new much harder cipher
• This is bridge from classical to modern ciphers
![Page 44: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/44.jpg)
Outline
• Overview of Cryptography
• Classical Symmetric Cipher
• Modern Symmetric Ciphers (DES)
![Page 45: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/45.jpg)
Block vs Stream Ciphers
• Block ciphers process messages in into blocks, each of which is then en/decrypted
• Like a substitution on very big characters
– 64-bits or more
• Stream ciphers process messages a bit or byte at a time when en/decrypting
• Many current ciphers are block ciphers, one of the most widely used types of cryptographic algorithms
![Page 46: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/46.jpg)
Block Cipher Principles• Most symmetric block ciphers are based on a
Feistel Cipher Structure
• Block ciphers look like an extremely large substitution
• Would need table of 264 entries for a 64-bit block
• Instead create from smaller building blocks
• Using idea of a product cipher
![Page 47: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/47.jpg)
Substitution-Permutation Ciphers
• Substitution-permutation (S-P) networks [Shannon, 1949]
– modern substitution-transposition product cipher
• These form the basis of modern block ciphers
• S-P networks are based on the two primitive cryptographic operations
– substitution (S-box)
– permutation (P-box)
• provide confusion and diffusion of message
![Page 48: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/48.jpg)
Confusion and Diffusion• Cipher needs to completely obscure statistical
properties of original message
• A one-time pad does this
• More practically Shannon suggested S-P networks to obtain:
• Diffusion – dissipates statistical structure of plaintext over bulk of ciphertext
• Confusion – makes relationship between ciphertext and key as complex as possible
![Page 49: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/49.jpg)
Feistel Cipher Structure
• Feistel cipher implements Shannon’s S-P network concept
– based on invertible product cipher
• Process through multiple rounds which
– partitions input block into two halves
– perform a substitution on left data half
– based on round function of right half & subkey
– then have permutation swapping halves
![Page 50: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/50.jpg)
Feistel Cipher
Structure
![Page 51: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/51.jpg)
DES (Data Encryption Standard)
• Published in 1977, standardized in 1979.
• Key: 64 bit quantity=8-bit parity+56-bit key
– Every 8th bit is a parity bit.
• 64 bit input, 64 bit output.
DESEncryption
64 bit M 64 bit C
56 bits
![Page 52: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/52.jpg)
DES Top View
Permutation
Permutation
Swap
Round 1
Round 2
Round 16
Generate keysInitial Permutation
48-bit K1
48-bit K2
48-bit K16
Swap 32-bit halves
Final Permutation
64-bit Output
48-bit K164-bit Input56-bit Key
…...
![Page 53: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/53.jpg)
Bit Permutation (1-to-1)
…….
……..
1 2 3 4 32
22 6 13 32 3
Input:
Output
0 0 1 0 1
1 0 1 1 1
1 bit
![Page 54: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/54.jpg)
Per-Round Key Generation
28 bits 28 bits
48 bitsKi
Oneround
Circular Left Shift Circular Left Shift
28 bits 28 bits
Permutationwith Discard
Initial Permutation of DES key
C i-1 D i-1
C i D i
Round 1,2,9,16: single shiftOthers: two bits
![Page 55: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/55.jpg)
A DES Round
48 bits
32 bits
32 bits Ln 32 bits Rn
32 bits Ln+1 32 bits Rn+1
E
S-Boxes
P
48 bitsKi
One RoundEncryption
ManglerFunction
![Page 56: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/56.jpg)
Mangler Function
4444444 4
6666666 6
+ + +++ ++ +
6666666 6
S8S1 S2 S7S3 S4 S5 S6
4444444 4
Permutation
The permutation produces “spread” among the chunks/S-boxes!
![Page 57: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/57.jpg)
Bits Expansion (1-to-m)
…….
……..
1 2 3 4 5 32Input:
Output
0 0 1 0 1 1
1 2 3 4 5 6 7 8 48
1 0 0 1 0 1 0 1 1 0
![Page 58: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/58.jpg)
S-Box (Substitute and Shrink)• 48 bits ==> 32 bits. (8*6 ==> 8*4)
• 2 bits used to select amongst 4 substitutions for the rest of the 4-bit quantity
2 bitsrow
S i
i = 1,…8.
I1I2I3I4I5I6
O1O2O3O4
4 bitscolumn
![Page 59: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/59.jpg)
S-Box Examples
0 1 2 3 4 5 6 7 8 9…. 15
0 14 4 13 1 2 15 11 8 3
1 0 15 7 4 14 2 13 1 10
2 4 1 14 8 13 6 2 11 15
3 15 12 8 2 4 9 1 7 5
Each row and column contain different numbers.
Example: input: 100110 output: ???
![Page 60: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/60.jpg)
DES Standard
• Cipher Iterative Action :
– Input: 64 bits
– Key: 48 bits
– Output: 64 bits
• Key Generation Box :
– Input: 56 bits
– Output: 48 bits
One round (Total 16 rounds)
![Page 61: Cryptology n The study of secret messages n Caesar cipher ä f (p) = (p + 3) mod 26 ä “MEET YOU IN THE PARK” becomes ä “PHHW BRX LQ WKH SDUN”](https://reader030.vdocuments.site/reader030/viewer/2022032313/56649e735503460f94b72853/html5/thumbnails/61.jpg)
DES Box Summary
• Simple, easy to implement:
– Hardware/gigabits/second, software/megabits/second
• 56-bit key DES may be acceptable for non-critical applications but triple DES (DES3) should be secure for most applications today
• Supports several operation modes (ECB CBC, OFB, CFB) for different applications