1402 Hill Cipher
1402 Hill Cipher
Chris Christensen
MAT/CSC 483
The Playfair cipher is a polygraphic cipher; it enciphers more than one letter
at a time. Recall that the Playfair cipher enciphers digraphs – two-letter
blocks. An attack by frequency analysis would involve analyzing the
frequencies of the 26 × 26 = 676 digraphs of plaintext. Complications also
occur when digraph frequencies are considered because sometimes common
plaintext digraphs are split between blocks. For example, when encrypting
the phrase another type the digraphs are an ot he rt yp e_, and the common
digraph th is split between blocks.
Systems that enciphered even larger blocks would make cryptanalysis even
more difficult. There are 26 × 26 × 26 × 26 =456976 blocks of length 4,
26 × 26 × 26 × 26 × 26 = 11881376 blocks of length 5,
26 × 26 × 26 × 26 × 26 × 26 =308915776 blocks of length 6 … .
3142930641582938830174357788501626427282669988762475256374173
1753989959842010402346543259906970228933096407508161171919783
5869803511992549376
plaintext blocks.
But, there is no obvious way to extend the Playfair key square to three or
more dimensions.
1
which two letters were monoalphabetically enciphered and the third
depended only on the second. Finally, about 1929, a young American
mathematician. Jack Levine, used six 5 × 5 squares to encipher
trigraphs in an ingenious extension of the Playfair. But he did not
disclose his method.
The Hill cipher is a cryptosystem that enciphers blocks. Any block size may
be selected, but it might be difficult to find keys for enciphering large
blocks.
2
Matrices
−1 2 17 0 6 −8 23 65
1 9 , 3 , and −9 76 1 98 −10
−3 7
, 43 0 9
7 −23 9 2
11 7 34 72 1
For the four matrices given above, the dimensions are 2 × 2 , 3 × 3 , 2 × 1 , and
3 × 5 , respectively. The dimensions are read as “2 by 2, 3 by 3, 2 by 1, and 3
by 5.”
If the number of rows equals the number of columns, the matrix is said to be
a square matrix. The first two matrices above are square matrices.
If the matrix has only one column, the matrix is said to be a column matrix.
The third matrix above is a column matrix.
Matrices can be added, subtracted, multiplied, and in some cases divided just
like numbers. The fact that an array of numbers can be treated as a single
number is what permits the theory of matrices to extend cryptographic
techniques to higher dimensions.
3
Multiplication by Square Matrices
One origin of matrices is the solution of systems of linear equations, and the
multiplication of matrices reflects that use.
For example, consider this system of two linear equations in two variables x
and y. a, b, c, d, u, and v represent constants (i.e., numbers).
ax + by =
u
cx + dy =
v
a b x u
c d y = v .
The square matrix is called the coefficient matrix (a, b, c, and d are the
coefficients of the variables x and y). There are two column matrices – one
consisting of the two variables x and y and the other of the two constants that
appear on the right hand side of the system u and v.
For the moment, we will only consider matrix multiplication of the form
a b x ax + by
c d y = cx + dy
The top entry of the product is calculated by, first, taking the entries of the
first row of the square matrix and multiplying them "term-by-term" with the
entries of the column matrix and then adding those products.
4
The lower entry of the product is calculated by, first, taking the entries of the
second row of the square matrix and multiplying them "term-by-term" with
the entries of the column matrix and then adding those products.
3 7 8 59
For example, =
5 12 5 100
3 × 8 + 7 × 5 =59
5 × 8 + 12 × 5 =100
3 7 18 68
and =
5 12 2 114
3 ×18 + 7 × 2 = 68
5 ×18 + 12 × 2 =114
a b c x ax + by + cz
d e f y = dx + ey + fz .
g h i z gx + hy + iz
1 0 7 5 89
For example, −3 4 9 −3 = 81
12 −7 5 12 141
1× 5 + 0 × −3 + 7 ×12 = 89
−3 × 5 + 4 × −3 + 9 ×12 = 81
12 × 5 + −7 × −3 + 5 ×12 = 141
Etc.
5
To multiply two square matrices of the same dimension, we just do the
multiplication one column at a time.
3 7 8 18 59 68
For example, = .
5 12 5 2 100 114
3 7 8 59 3 7 18 68
= and = .
5 12 5 100 5 12 2 114
6
Hill's Cipher
What is usually referred to as the Hill cipher is only one of the methods that
Hill discussed in his papers, and even then it is a weakened version. We will
comment more about this later, but first we will consider what is usually
called the Hill cipher.
he rb er ty ar dl ey wr ot et he am er ic an bl ac kc
ha mb er
(If the message did not consist of an even number of letters, we would place
a null at the end.)
Now convert each pair of letters to its number-pair equivalent. We will use
our usual a = 01, …, z = 26.
8 5 18 2 5 18 20 25 1 18 4 12 5 25 23 18 15 20 5 20 8 5
1 13 5 18 9 3 1 14 2 12 1 3 11 3 8 1 13 2 5 18
3 7
Now we encrypt each pair using the key which is the matrix .
5 12
Make the first pair of numbers into a column vector (h (8) e (5)), and
multiply that matrix by the key.
3 7 8 59
5 12 5 = 100
7
Of course, we need our result to be mod 26
59 7
100 ≡ 22 mod 26
3 7 18 16
5 12 2 ≡ 10 mod 26 ,
GVPJKGAJYMRHHMMSCCYEGVPEKGVCWQLXXOBMEZAKKG
What makes the Hill cipher a block cipher is that each plaintext string is
encrypted “at once:” the change of one letter in a plaintext block is likely to
change all of the letters in the ciphertext block. Notice, for example, that
changing the plaintext block he to ie changes the ciphertext block from GV
to JA.
Decryption
Of course, we need a procedure for decrypting this. Just like for the
multiplicative ciphers, we cannot use all matrices as keys because we cannot
undo the multiplication for all matrices.
3 7 8 7
5 12 5 ≡ 22 mod 26
8
? ? 7 8
? ? 22 ≡ 5 mod 26
? ?
i.e, we want to find a matrix so that
? ?
? ? 3 7 8 8
? ? 5 12 5 ≡ 5 mod 26
? ? 3 7 8
We want 5 12 to leave 5 unchanged.
? ?
Matrix Inverse
3 7
The matrix we are looking for is called the inverse of and is
5 12
−1
3 7
denoted .
5 12
d −b
−1
a b ad − bc ad − bc
It is easy to verify that = .
c d −c a
ad − bc ad − bc
d −b
−1
a b a b ad − bc ad − bc a b 1 0
The=
product =
a c d 0 1
which
c d c d −c
ad − bc ad − bc
9
a b
Notice that to calculate the inverse of the matrix we must be able to
c d
divide by ad – bc; i.e., we must have a multiplicative inverse for ad – bc.
Because we are working modulo 26, that means that ad – bc must be one of
1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, or 25. Otherwise, the multiplication
cannot be undone; therefore, encryption cannot be undone.
10
Determinant
a b
ad – bc is called the determinant of . Notice that the determinant of
c d
a 2 × 2 is just the product down the upper left to lower right diagonal minus
the product down the upper right to lower left diagonal. For a matrix to have
an inverse modulo 26, the determinant of the matrix must be 1, 3, 5, 7, 9, 11,
15, 17, 19, 21, 23, or 25 modulo 26. To be able to undo multiplication by a
matrix mod 26, the determinant of the matrix must be 1, 3, 5, 7, 9, 11, 15,
17, 19, 21, 23, or 25 modulo 26. For a matrix to be a key for a Hill cipher,
the determinant of the matrix must be 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, or
25 modulo 26.
3 7
The determinant of is 3 × 12 − 7 × 5 = 1 ≡ 1mod 26 . So, the inverse
5 12
−1
3 7 3 7 12 −7 12 19
of =
5 12
is −5 3 ≡ 21 3 mod 26 . This is a special
5 12
case because the determinant is 1.
9 4
The determinant of is 9 × 7 − 4 × 5 = 63 − 20 = 43 ≡ 17 mod 26 .
5 7
Because 17 has a multiplicative inverse modulo 26, this matrix has an
inverse. The inverse of the matrix is
7 −4
17 17
mod 26 .
−5 9
17 17
11
7 −4
17 17 7 × 23 −4 × 23
mod 26 ≡ mod 26
−5 9 −5 × 23 9 × 23
17 17
161 −92 5 12
≡ mod 26 ≡ mod 26
−115 207 15 25
12
Decryption
3 7
using the key resulted in the ciphertext
5 12
GVPJKGAJYMRHHMMSCCYEGVPEKGVCWQLXXOBMEZAKKG
12 19
We use the inverse of the key to decrypt GV, which is the first
21 3
digraph of the ciphertext.
12 19 7 8
21 3 22 ≡ 5 mod 26
h (8) e (5).
13
Hill ciphers that encipher larger blocks
Notice that the multiplicative cipher is just the 1×1 case of the Hill cipher;
individual letters are enciphered one at a time.
Finding keys is pretty much a trial and error process. That means that it can
be very difficult to find a key for encrypting large blocks.
14
Known plaintext attack
A known plaintext attack works well against a Hill cipher because there is
an algebraic relationship between plaintext and ciphertext (as there is for
Caesar ciphers, multiplicative ciphers, and affine ciphers) and the
relationship is linear (as it was for Caesar ciphers, multiplicative ciphers, and
affine ciphers). The algebraic relationship between plaintext and ciphertext
combines with the relationship between some plaintext and ciphertext letters
given by the crib and results in a system of algebraic equations that usually
can be solved because it is linear (as we did for Caesar ciphers,
multiplicative ciphers, and affine ciphers).
23e + 2 f =9
22e + 5 f =
13
and
23g + 2h =14
22 g + 5h =1
15
Solve[23e + 2f == 9 && 22e + 5f == 13, {e, f}, Modulus -> 26]
{{e->1,f->19}}
{{g->20,h->11}}
1 19
Again (with a lot less assuming) we find that the key inverse is .
20 11
One thing that should be learned from this example is that a cryptosystem
should have some nonlinear piece.
16
Two More Examples of a Known Plaintext Attack
Here are two more examples of cryptanalyzing a Hill cipher with a known
plaintext attack. Each example is done by hand – without using
Mathematica. In example one, there is no need to reduce the modulus; in
example two the modulus must be reduced.
Example one:
We are assuming that this message was encrypted using a 2 × 2 Hill cipher
and that we have a crib. We believe that the message begins “a crib.”
ac ri
[1, 3] [18, 9]
[6, 1] [7, 17]
FA GQ
17
We could either solve for the key or the key inverse. To solve for the key,
we would solve
a b 1 6
c d 3 = 1
and
a b 18 7
c d 9 = 17
e f 6 1
g =
h 1 3
and
e f 7 18
g =
h 17 9
a b 1 6
c d 3 = 1 represents two linear equations:
a +3b =6
c +3d =1
a b 18 7
and = represents
c d 9 17
18a +9b = 7
18c +9d =17
18
a +3b = 6 c +3d = 1
and
18a +9b =7 18c +9d =17
a +3b = 6
We will solve the pair of congruences first.
18a +9b =7
3a +9b =18
18a +9b = 7
−15a =
11
11a = 11
Divide by 11 to obtain a.
a =1
1 + 3b =
6
3b = 5
b = 9 × 3b = 9 × 5 = 45 = 19 mod 26
1 19
c d
19
c +3d = 1
Now solve the system
18c +9d =17
3c +9d = 3
18c +9d =17
15c = 14
20 + 3d =
1
3d =−19 =
7 mod 26
d = 9 × 3d = 9 × 7 = 63 = 11mod 26
1 19
The key is .
20 11
Example two:
wo rd
[23, 15] [18, 4]
[21, 11] [10, 14]
UK JN
20
We will solve the system on the left.
14a +8b =6
10a +8b =20
4a =−14 =
12 mod 26
2a= 6 + 13k
2a = 6 mod13
This congruence does not have a common factor among the coefficient, the
constant, and the modulus.
Number 1 2 3 4 5 6 7 8 9 10 11 12
Multiplicative inverse 1 7 9 10 8 11 2 5 3 4 6 12
a = 7 × 2a = 7 × 6 = 42 = 3mod13
So, a is 3 modulo 13. But, there are two integers mod 26 that are 3 mod 13,
namely, 3 and 3 + 13 = 16. So, there are two possible values for a.
If a = 3,
21
18 × 3 = 4b = 10
54 + 4b =
10
2 + 4b =
10
4b = 8 mod 26
2b = 4 mod13
b = 7 × 2b = 7 × 4 = 26 = 2 mod13
If a = 16,
18 ×16 + 4b =
10
288 + 4b =
10
2 + 4b =
10
=a 3=b 2
=a 3=b 15
=a =
16 b 2
=a =
16 b 15
4c = 16 mod 26
22
2c = 8 mod13
c = 7 × 2c = 14c = 7 × 8 = 56 = 4 mod13
If c = 4,
18 × 4 + 4d =
14
20 + 4d =
14
2d = 10 mod13
d =7 × 2d =7 ×10 =5 mod13
If c = 17,
18 ×17 + 4d =
14
20 + 4d =
14
=c 4=d 5
=c 4=d 18
=c =
17 d 5
=c =
17 d 18
23
3 2 3 2 3 2 3 2
4 5 4 18 17 5 17 18
3 15 3 15 3 15 3 15
4 5 4 18 17 5 17 18
16 2 16 2 16 2 16 2
4 5 4 18 17 5 17 18
16 15 16 15 16 15 16 15
4 5 4 18 17 5 17 18
First, calculate the determinant of each. Any matrix that does not have an
invertible determinant modulo 26 (i.e., the determinant is not one of 1, 3, 5,
7, 9, 11, 15, 17, 19, 21, 23, 25 modulo 26) can be eliminated. Then try to
decipher the messages with each of the remaining messages. The matrix that
yields plaintext is the key.
The reason that we can solve these systems of congruences is because they
are linear. The solutions of linear systems of equations of congruences is
well-understood.
24
Ciphertext Attack
wbvec itxwb mphsr hytyw gmqdq egxyf yncta zdkyi eenin zkygh
yntgb pbpkl azfgy ikkru drzcp aaaci fueqg ywbuu urozm vfgmy
vkwwo zbpyn ezsbg jfynz yvmeo zctiu ghfgu aekds ayicc tkrus
xgbpz cufve lvsjg lklls vefyt onmdk
The first thing to be determined would be the size of the blocks. If the key
were an n × n matrix, then n must divide the number of letters in the
ciphertext. This ciphertext has 180 letters. There are many possibilities for
n, but let us assume that it was encrypted using a 2 × 2 key. (That’s a really
good assumption.)
25
Here are the digraphs that appear more than once and their frequencies:
Digraph Frequency
bp 4
yn 4
ct 3
fg 3
fy 3
oz 3
ve 3
wb 3
yi 3
zc 3
aa 2
az 2
ci 2
dk 2
gb 2
gh 2
gm 2
gy 2
hy 2
kl 2
kr 2
ky 2
nz 2
ru 2
uu 2
yt 2
yv 2
yw 2
We could try to determine the key or the key inverse. Because we are trying
to determine the plaintext, let’s try to directly determine the key inverse. We
e f
want to find a 2 × 2 matrix that is the inverse of the key. If we are
g h
correct that B(2)P(16) corresponds to t(20)h(8), then
e f 2 20
=
g h 16 8
26
This corresponds to two linear equations:
2e + 16 f =
20
2 g + 16h =
8
Because this Hill cipher (we assume) encrypts digraphs, the key inverse is a
2 × 2 matrix. The key inverse has 22 = 4 entries e, f, g, and h that must be
determined. We would like to have four equations – two involving e and f
and two involving g and h.
e f 11 5
So, if KL corresponds to e_, = which yields the equation
g h 12 *
e f 25 5
11e + 12 f =
5 . If YN corresponds to e_, = which yields the
g h 14 *
e f 26 5
equation 25e + 14 f =
5 . If ZC corresponds to e_, = which
g h 3 *
yields the equation 26e + 3 f =
5.
27
however, is to be done modulo 26. We may use whatever techniques we
know for solving systems of linear equations provided that we divide only
when division is possible – we can divide by only 1, 3, 5, 7, 9, 11, 15, 17,
19, 21, 23, and 25. We will use Mathematica to solve the equations.
Solve[2e+16f==20&&11e+12f==5,{e,f},Modulus ->
26]
{{e->1,f->6+13 C[1]}}
{{e->1,f->6+13 C[1]}}
{{e->1+13 C[1],f->19}}
1 19
So, we believe that the key inverse is .
g h
28
We have one more congruence: 2 g + 16h = 8mod 26 . It is possible to solve a
congruence of the form ax + by = c mod n provided that the greatest common
divisor of a, b, and n also divides c. In our case, the greatest common
divisor of a=2, b=16, and n=26 is 2 which does divide c=8. It is necessary
to reduce the modulus; remove the factor of 2 to get g + 8h = 4mod13 . Then
rearrange the terms to get g= 4 − 8h mod13 . Modulo 13, the possible values
of h are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, and 12.
h g mod 13 g mod 26
0 4 4, 17
1 9 9, 22
2 1 1, 10
3 6 6, 19
4 11 11, 24
5 3 3, 22
6 8 8, 21
7 0 0, 13
8 5 5, 18
9 10 10, 23
10 2 2, 15
11 7 7, 20
12 12 12, 25
The determinant of the key inverse must be one of 1, 3, 5, 7, 9, 11, 15, 17,
1 19
19, 21, 23, or 25 mod 26. So, try each of these pairs of g and h in
g h
and calculate the determinant mod 26. Again, we use Mathematica.
Out[8]= 2
29
Mod[Det[{{1, 19}, {17, 0}}], 26]
15
12
25
20
19
16
30
Mod[Det[{{1, 19}, {8, 6}}], 26]
10
23
20
17
14
24
11
31
Mod[Det[{{1, 19}, {20, 11}}], 26]
21
18
32
Other Hill Ciphers
Hill’s papers contain techniques that are much more secure than the
technique that we have called the Hill cipher. Hill’s papers include ciphers
that are nonlinear.
3 7 24 22
5 12 4 = 12
V (22) L (12).
3 7 8 6 13
5 12 5 + 20 =
16
M (13) P (16).
Hill’s 1929 and 1931 papers include other generalizations of the Hill cipher.
33
Size of the Keyspace
Multiplicative ciphers have a very small keyspace; the key must be one of 1,
3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25. How large is the keyspace for a Hill
cipher?
There are 264 = 456976 2 × 2 matrices having entries modulo 26; i.e., each
entry must be 0, 1, …, 25. But, recall that for a matrix to be usable as a key
for a Hill cipher the matrix must have an inverse. How many of these 2 × 2
matrices are invertible? This is answered for n × n matrices in “On the
Keyspace of the Hill Cipher” by Overby, Traves, and Wojdylo in
Cryptologia, January 2005; there are 157248 possible 2 × 2 keys.
Hill ciphers use two keys: one key is used for encryption and a second key
(the key inverse) is used for decryption. Of course, anyone who knows
some elementary linear algebra can construct the key inverse from the key,
but the encryption and decryption keys are not the same – except in certain
cases. Hill, in his second paper, discusses using involutory matrices
(matrices that are self-inverse) as keys.
0 1 25
4 22 4 is involutory.
3 22 4
34
Hill ciphers with n × n keys form a group
Encrypting with a Hill cipher and re-encrypting with another key of the
same size does not improve security because the Hill ciphers with n × n keys
form a group.
For example, if we encrypted digraphs with a Hill cipher using the key
3 7
(which has determinant 1 modulo 26) and then encrypted that
5 12
9 4
ciphertext using a Hill cipher with key (which has determinant 17
5 7
modulo 26), the result would be the same as encrypting once with the
9 4 3 7 47 111 21 7
key = = mod ulo 26 . Because “the
5 7 5 12 50 119 24 15
determinant of a product is the product of the determinants” (even modulo
21 7
26), the determinant of is17 ×1 = 17 mod ulo 26 ; so, it is a valid Hill
24 15
cipher key.
The point is, you have only one shot at using a Hill cipher – re-encrypting
does not improve security.
35
Was the Hill cipher ever used?
Hill’s papers contributed two important ideas to cryptology. First, they freed
cryptology from encrypting just single letters and digraphs – they showed
that encryption of blocks of more than two letters was possible. And, Hill’s
papers showed the close connection between cryptology and mathematics.
This connection was emphasized by A.A. Albert in an address to the
American Mathematical Society in 1941.
36
Exercises
3 7
1. Use a Hill cipher with key to encrypt the following message.
5 12
2. The following message was encrypted with a Hill cipher with key
3 7
5 12 . Decrypt the message.
3. Which of the following matrices can be used as keys for a Hill cipher?
5 2
3a. .
7 3
5 12
3b. .
15 25
20 2
3c. .
5 4
5 8
3d. .
12 3
21 13
3e.
7 16
37
2 7 19
4. Use a Hill cipher with key 0 5 8 to encrypt the following
1 3 7
message: enigma.
5 6 4 1
2 1 0 3
5. Use a Hill cipher with key to encyrpt the following
1 8 9 2
2 4 6 7
message: united states.
5 8
7. What is special about the Hill cipher key ? Does this make this
10 21
matrix a good or bad choice for a key?
6 3
8. A message is first encrypted with a Hill cipher with key and then
7 8
3 2
encrypted again with key . What is the resulting cipher?
8 5
9. Known plaintext attack on the Hill cipher. Find the key for the following
ciphertext message that was enciphered with a Hill cipher.
38
10. For the very (very) brave – a ciphertext attack on the Hill cipher.
12. You know that you are intercepting messages that are encrypted with a
2 × 2 Hill cipher. You are able to trick one of the parties of the
communications to send the plaintext digraphs az and za. You are able to
determine that az is enciphered as OJ and za is enciphered as YI.
Determine the encryption matrix and the decryption matrix.
13. Consider the affine version of the Hill cipher. First encrypt a message
3 7
by multiplying by the matrix and then adding to the result the
5 12
6 9 4
matrix . Encrypt again by multiplying by the matrix 5 7 and
20
3
adding the matrix . What is the resulting cipher?
17
14. Consider the affine version of the Hill cipher. Would re-encrypting
using this cryptosystem increase security?
39
15. Would using an involutory key reduce the security of a Hill cipher?
40