390 Codes, Ciphers, and Cryptography Polygraphic Substitution Ciphers – Hill’s System
2
Hill’s System
We now look at the system for enciphering blocks of text developed by Lester Hill.
Matrices form the basis of this substitution cipher!
We’ll work with blocks of size two letters – the idea can be generalized to larger blocks.
3
Steps to Encipher a Message
1. Choose a 2 x 2 matrix
with entries in Z26 for a key. Make sure that (ad – bc)-1 (mod 26) exists, i.e.
(ad – bc) = 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, or 25.
This will guarantee that A-1 exists (mod 26).
4
Steps to Encipher a Message
2. Split the plaintext into pairs and assign numbers to each plaintext letter, with a = 1, b = 2, … , z = 26 = 0 (mod 26).
Plaintext: p1p2|p3p4| … |pn-1pn
If necessary, append an extra character to the plaintext to get an even number of plaintext characters.
6
Example 8
Use Hill’s scheme to encipher the message: “Meet me at the usual place at ten rather than eight o’clock.”
7
Example 8
Solution: For the key, choose a 2 x 2 matrix, with entries in Z26.
Note that
(ad – bc) (mod 26)
= (9*7 – 4*5) (mod 26)
= (63 – 20) (mod 26)
= 43 (mod 26)
= 17 (mod 26)
and 17-1 (mod 26) exists! More on this later …
8
Example 8
Next convert the plaintext into pairs of numbers from Z26:
me | et | me | at … cl | oc | kz. 13,5 | 5,20 | 13,5 | 1,20 | … 3,12 | 15,3 | 11,0 Now convert the plaintext to numbers to
ciphertext numbers, using (*) above.
12
Example 8
Thus, “et” is encrypted as “UI”. HW – Finish encrypting message! Note that for the word “meet”, the first “e”
is encrypted as “G” and the second “e” is encrypted as “U”.
Frequency analysis won’t work for this scheme!
13
Deciphering a Message
To decipher a message encrypted with Hill’s Scheme, we can use the idea of matrix inverses!
Since ciphertext (ck,ck+1) is obtained from plaintext (pk,pk+1) by multiplying key matrix A by plaintext (pk,pk+1), all we need to do is multiply matrix A-1 by ciphertext (ck,ck+1).
16
Deciphering a Message
The same idea will work for matrices of numbers from Z26!
Matrix A will be invertible, provided that (ad-bc)-1 (mod 26) exists!
The only difference is that instead of 1/(ad-bc), we need to use (ad-bc)-1.
20
Example 9
Decipher the ciphertext found above in Example 8!
Write ciphertext as pairs of numbers in Z26: GV | UI 7,22 | 21,9 Use the inverse of the key matrix to
decipher!