Classical Cryptography

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:
      • conceal the context of some message from all except the sender and recipient (privacy or secrecy), and/or
      • 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
      • 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:
      • write key (with repeated letters deleted)
      • then write all remaining letters in columns underneath
      • 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