Cryptographic Shakespeare
|
Cryptographic Shakespeare
|




Introduction to Cryptography
(limited to monoalphabetic substitution)
# cryptography is the study of secret (crypto-) writing (-graphy)
* concerned with developing algorithms which may be used to:
o conceal the context of some message from all except the sender and recipient (privacy or secrecy), and/or
o verify the correctness of a message to the recipient (authentication)
* form the basis of many technological solutions to computer and communications security problems
* for a good overview paper see:
W Diffie, M E Hellman, "Privacy and Authentication: An Introduction to Cryptography", in Proc. IEEE, Vol 67(3) Mar
1979, pp 397-427
Basic Concepts
cryptography
the art or science encompassing the principles and methods of transforming an intelligible message into one that is
unintelligible, and then retransforming that message back to its original form
plaintext
the original intelligible message
ciphertext
the transformed message
cipher
an algorithm for transforming an intelligible message into one that is unintelligible by transposition and/or
substitution methods
key
some critical information used by the cipher, known only to the sender & receiver
encipher (encode)
the process of converting plaintext to ciphertext using a cipher and a key
decipher (decode)
the process of converting ciphertext back into plaintext using a cipher and a key
cryptanalysis
the study of principles and methods of transforming an unintelligible message back into an intelligible message
without knowledge of the key. Also called codebreaking
cryptology
both cryptography and cryptanalysis
code
an algorithm for transforming an intelligible message into an unintelligible one using a code-book
Concepts
Encryption C = E_(K)(P)
Decryption P = E_(K)^(-1)(C)
E_(K) is chosen from a family of transformations known as a cryptographic system.
The parameter that selects the individual transformation is called the key K, selected from a keyspace K
More formally a cryptographic system is a single parameter family of invertible transformations
E_(K) ; K in K : P -> C
with the inverse algorithm E_(K)^(-1) ; K in K : C -> P
such that the inverse is unique
Usually assume the cryptographic system is public, and only the key is secret information
Cryptanalytic Attacks
* have several different types of attacks
ciphertext only
* only have access to some enciphered messages
* use statistical attacks only
known plaintext
* know (or strongly suspect) some plaintext-ciphertext pairs
* use this knowledge in attacking cipher
chosen plaintext
* can select plaintext and obtain corresponding ciphertext
* use knowledge of algorithm structure in attack
chosen plaintext-ciphertext
* can select plaintext and obtain corresponding ciphertext, or select ciphertext and obtain plaintext
* allows further knowledge of algorithm structure to be used
Unconditional and Computational Security
* two fundamentally different ways ciphers may be secure
unconditional security
- no matter how much computer power is available, the cipher cannot be broken
computational security
- given limited computing resources (eg time needed for calculations is greater than age of universe), the cipher
cannot be broken
A Brief History of Cryptography
Ancient Ciphers
* have a history of at least 4000 years
* ancient Egyptians enciphered some of their hieroglyphic writing on monuments
* ancient Hebrews enciphered certain words in the scriptures
* 2000 years ago Julius Ceasar used a simple substitution cipher, now known as the Caesar cipher
* Roger Bacon described several methods in 1200s
* Geoffrey Chaucer included several ciphers in his works
* Leon Alberti devised a cipher wheel, and described the principles of frequency analysis in the 1460s
* Blaise de Vigenère published a book on cryptology in 1585, & described the polyalphabetic substitution cipher
* increasing use, esp in diplomacy & war over centuries
Machine Ciphers
* Jefferson cylinder, developed in 1790s, comprised 36 disks, each with a random alphabet, order of disks was key,
message was set, then another row became cipher
* Wheatstone disc, originally invented by Wadsworth in 1817, but developed by Wheatstone in 1860's, comprised
two concentric wheels used to generate a polyalphabetic cipher
* Enigma Rotor machine, one of a very important class of cipher machines, heavily used during 2nd world war,
comprised a series of rotor wheels with internal cross-connections, providing a substitution using a continuosly
changing alphabet
Classical Cryptographic Techniques
* have two basic components of classical ciphers: substitution and transposition
* in substitution ciphers letters are replaced by other letters
* in transposition ciphers the letters are arranged in a different order
* these ciphers may be:
* monoalphabetic - only one substitution/ transposition is used, or
* polyalphabetic - where several substitutions/ transpositions are used
* several such ciphers may be concatentated together to form a product cipher
Caesar Cipher - a monoalphabetic cipher
* replace each letter of message by a letter a fixed distance away eg use the 3rd letter on
* reputedly used by Julius Caesar
eg.
L FDPH L VDZ L FRQTXHUHG
I CAME I SAW I CONQUERED
ie mapping is
ABCDEFGHIJKLMNOPQRSTUVWXYZ
DEFGHIJKLMNOPQRSTUVWXYZABC
* can describe this cipher as:
Encryption E_(k) : i -> i + k mod 26
Decryption D_(k) : i -> i - k mod 26
Cryptanalysis of the Caesar Cipher
* only have 26 possible ciphers
* could simply try each in turn - exhaustive key search
GDUCUGQFRMPCNJYACJCRRCPQ
HEVDVHRGSNQDOKZBDKDSSDQR
Plain - IFWEWISHTOREPLACELETTERS
JGXFXJTIUPSFQMBDFMFUUFST
KHYGYKUJVQTGRNCEGNGVVGTU
Cipher - LIZHZLVKWRUHSODFHOHWWHUV
MJAIAMWLXSVITPEGIPIXXIVW
* also can use letter frequency analysis
Single Letter Double Letter Triple Letter
E TH THE
T HE AND
R IN TIO
N ER ATI
I RE FOR
O ON THA
A AN TER
S EN RES
Character Frequencies
* in most languages letters are not equally common
* in English e is by far the most common letter
* have tables of single double & triple letter frequencies
* these are different for different languages (see Appendix A in Seberry & Pieprzyk)
* use these tables to compare with letter frequencies in ciphertext, since a monoalphabetic substitution does not
change relative letter frequencies
# do need a moderate amount of ciphertext (100+ letters)
Modular Arithmetic monoalphabetic cipher
* more generally could use a more complex equation to calculate the ciphertext letter for each plaintext letter
E_(a b) : i ->a.i + b mod 26
nb a must not divide 26 (ie gcd(a,26) = 1)
otherwise cipher is not reversible eg a=2
and a=0, b=1, c=2 ... , y=24, z=25
* eg E_(5 7) : i ->5.i + 7 mod 26
Cryptanalysis:
* use letter frequency counts to guess a couple of possible letter mappings
o nb frequency pattern not produced just by a shift
* use these mappings to solve 2 simultaneous equations to derive above parameters
Example - Sinkov pp 34-35
Mixed Alphabets
* most generally we could use an arbitrary mixed (jumbled) alphabet
* each plaintext letter is given a different random ciphertext letter, hence key is 26 letters long
Plain: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Cipher: DKVQFIBJWPESCXHTMYAUOLRGZN
Plaintext: IFWEWISHTOREPLACELETTERS
Ciphertext: WIRFRWAJUHYFTSDVFSFUUFYA
* now have a total of 26! ^(~) 4 ^(x) 10^(26) keys
* with so many keys, might think this is secure
!!!WRONG!!!
* problem is not the number of keys, rather:
1) there is lots of statistical information in message
2) can solve the problem piece by piece
(ie can get key nearly right, and nearly get message)
(near enough MUST NOT be good enough!)
Cryptanalysis
* use frequency counts to guess letter by letter
* also have frequencies for digraphs & trigraphs
General Monoalphabetic
* special form of mixed alphabet
* use key as follows:
o write key (with repeated letters deleted)
o then write all remaining letters in columns underneath
o then read off by columns to get ciphertext equivalents
Example Seberry p66
STARW
BCDEF
GHIJK
LMNOP
QUVXY
Z
Plain: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Cipher: SBGLQZTCHMUADINVREJOXWFKPY
Plaintext: I KNOW ONLY THAT I KNOW NOTHING
Ciphertext: H UINF NIAP OCSO H UINF INOCHIT