Here is an encrypted message and key matrix.
222 151 239 89 111 256 273 218 329 157 140 338 240 246 283 134 108 301 157 95 250 141 93 207 175 161 236 99 69 222 136 79 211 114 78 176 128 119 159 81 79 157 218 196 272 114 97 264 233 231 347 168 178 261 257 229 290 97 142 280 137 137 208 77 99 142 271 258 363 156 162 308 204 187 315 139 165 216
3 | 5 | 2 | 2 | 2 | 4 |
2 | 1 | 5 | 3 | 1 | 3 |
? | 2 | 5 | 3 | 3 | 5 |
? | 4 | 5 | 1 | 3 | 2 |
4 | 1 | 4 | 1 | 2 | 4 |
4 | 5 | 4 | 1 | 1 | 5 |
Since the key matrix is a 6x6 matrix, the information in the encrypted message has to be entered into a nx6 matrix, where n depends on how many numbers you have. For example, if you have 60 numbers in your message, then the matrix will be 10x6. If there are 72 numbers, it will be 12x6, and so on.
A | B | C | D | E | F | |
---|---|---|---|---|---|---|
1 | Encrypted Matrix | |||||
2 | 222 | 151 | 239 | 89 | 111 | 256 |
3 | 273 | 218 | 329 | 157 | 140 | 338 |
4 | 240 | 246 | 283 | 134 | 108 | 301 |
5 | 157 | 95 | 250 | 141 | 93 | 207 |
6 | 175 | 161 | 236 | 99 | 69 | 222 |
7 | 136 | 79 | 211 | 114 | 78 | 176 |
8 | 128 | 119 | 159 | 81 | 79 | 157 |
9 | 218 | 196 | 272 | 114 | 97 | 264 |
10 | 233 | 231 | 347 | 168 | 178 | 261 |
11 | 257 | 229 | 290 | 97 | 142 | 280 |
12 | 137 | 137 | 208 | 77 | 99 | 142 |
13 | 271 | 258 | 363 | 156 | 162 | 308 |
14 | 204 | 187 | 315 | 139 | 165 | 216 |
Then enter the key matrix into the spreadsheet. I suggest putting it several rows below your encryption matrix. Go ahead and put in some numbers where the question marks are.
A | B | C | D | E | F | |
---|---|---|---|---|---|---|
20 | Key Matrix | |||||
21 | 3 | 5 | 2 | 2 | 2 | 4 |
22 | 2 | 1 | 5 | 3 | 1 | 3 |
23 | 1 | 2 | 5 | 3 | 3 | 5 |
24 | 2 | 4 | 5 | 1 | 3 | 2 |
25 | 4 | 1 | 4 | 1 | 2 | 4 |
26 | 4 | 5 | 4 | 1 | 1 | 5 |
Find the inverse of the key matrix. I would suggest putting it to the right of the Key Matrix, say starting in cell H21. The function for finding the inverse of a matrix A is =minverse(A), but Excel is really particular how you enter this, so follow the instructions carefully.
If you would rather type the function instead of highlighting the key matrix, you can just type in the entire thing. You still must highlight the area where the matrix is to go before typing in the command and hold the control and shift before hitting enter when finished.
You may optionally wish to highlight the cells in the inverse, click the right mouse button, choose format, and set the format to Number with 4 decimal places. This is purely asthetic, it won't affect the calculations.
H | I | J | K | L | M | |
---|---|---|---|---|---|---|
20 | Inverse of Key Matrix | |||||
21 | 0.1919 | 0.1273 | -0.2926 | -0.0065 | 0.2674 | -0.1486 |
22 | 0.0756 | -0.0071 | -0.0446 | 0.0917 | -0.1977 | 0.1098 |
23 | -0.2674 | 0.1021 | 0.0039 | 0.1370 | -0.0698 | 0.1499 |
24 | 0.3547 | 0.3598 | -0.1066 | -0.0995 | -0.0814 | -0.2881 |
25 | 0.1802 | -0.2306 | 0.0988 | 0.1589 | 0.2209 | -0.3450 |
26 | -0.1221 | -0.2022 | 0.2771 | -0.2080 | 0.0116 | 0.2158 |
We're almost there. Now we need to multiply the original encrypted matrix by the inverse of the key matrix. The Excel command to multiply matrix A by matrix B is =mmult(A,B). Again, you must be very careful when you enter this into Excel. The product will be the same size as the original encrypted matrix, so I'll enter it to the right of the original matrix in cells H2:M14.
I've formatted all of the cells to three decimal places so it looks good here, but I don't suggest doing that just yet for your spreadsheet. I'll explain why after the table.
H | I | J | K | L | M | |
---|---|---|---|---|---|---|
1 | Unencrypted Matrix | |||||
2 | 10.401 | 6.236 | 1.661 | 0.683 | 33.105 | 10.720 |
3 | 20.512 | 22.636 | 2.442 | -0.388 | 29.047 | 12.085 |
4 | 19.192 | 20.127 | -0.293 | 0.994 | 12.267 | 22.851 |
5 | 11.936 | 32.254 | 2.320 | -0.368 | 17.244 | -3.469 |
6 | 3.070 | 20.036 | 0.318 | 0.897 | 8.279 | 22.623 |
7 | 8.634 | 25.727 | 1.831 | -0.291 | 16.035 | -1.686 |
8 | 14.826 | 10.854 | 0.539 | 3.703 | 12.302 | 1.165 |
9 | 9.576 | 19.382 | -0.878 | 2.981 | 15.802 | 20.554 |
10 | 29.157 | 30.054 | -5.118 | 24.490 | 21.128 | -10.738 |
11 | 14.866 | 6.218 | -2.998 | 13.735 | 29.965 | 13.908 |
12 | 8.826 | 13.854 | -4.461 | 18.703 | 12.302 | 0.165 |
13 | 21.331 | 26.200 | -4.657 | 17.787 | 22.826 | 8.097 |
14 | 21.692 | 25.072 | -5.459 | 26.438 | 23.267 | -12.926 |
Notice the numbers aren't whole numbers between 0 and 44? That means I didn't put the right numbers in for the question marks in the key matrix. Once I get the right numbers in there, then the matrix will look much nicer.
After trying a bunch of different numbers, I found out that the right numbers to go into the key matrix were 4 and 3.
A | B | C | D | E | F | |
---|---|---|---|---|---|---|
20 | Key Matrix | |||||
21 | 3 | 5 | 2 | 2 | 2 | 4 |
22 | 2 | 1 | 5 | 3 | 1 | 3 |
23 | 4 | 2 | 5 | 3 | 3 | 5 |
24 | 3 | 4 | 5 | 1 | 3 | 2 |
25 | 4 | 1 | 4 | 1 | 2 | 4 |
26 | 4 | 5 | 4 | 1 | 1 | 5 |
When I enter those numbers into the matrix, then I get this for the unencrypted matrix.
H | I | J | K | L | M | |
---|---|---|---|---|---|---|
1 | Unencrypted Matrix | |||||
2 | 1 | 6E-14 | 16 | 1 | 20 | 18 |
3 | 9 | 15 | 20 | 0 | 13 | 21 |
4 | 19 | 20 | 1E-13 | 1 | 12 | 23 |
5 | 1 | 25 | 19 | 7E-15 | 2 | 5 |
6 | 0 | 18 | 5 | 1 | 4 | 25 |
7 | -3E-14 | 20 | 15 | 4E-15 | 4 | 5 |
8 | 6 | 5 | 14 | 4 | -6E-14 | 8 |
9 | 9 | 19 | 2E-13 | 3 | 15 | 21 |
10 | 14 | 20 | 18 | 25 | -1E-13 | 1 |
11 | 7 | 1 | 9 | 14 | 19 | 20 |
12 | 3E-14 | 8 | 9 | 19 | 0 | 7 |
13 | 15 | 22 | 5 | 18 | 14 | 13 |
14 | 5 | 14 | 20 | 27 | -1E-13 | -3E-14 |
Those E-14 and E-13 numbers are scientific notation and basically mean 0. The only reason they're not zero is because the computer can only carry about 12 significant figures and so it shows 6E-14 instead of 0 due to a rounding error.
This is the message we wanted but now I'll tell you how to make it look even better. There is a =round(x,n) function that will round the value x to n decimal places. The round off error will always be very small, so we can safely round to three or four decimal places and still be assured that we'll get the right numbers.
Go back to the steps where you created the unencrypted matrix in cells H2:M14 and instead of entering =mmult(A2:F14,H21:M26), enter =round(mmult(A2:F14,H21:M26),4) instead. Be sure to follow the instructions about highlighting the cells first and holding the control and shift keys before pressing enter.
Now we get a matrix that looks like this.
H | I | J | K | L | M | |
---|---|---|---|---|---|---|
1 | Unencrypted Matrix | |||||
2 | 1 | 0 | 16 | 1 | 20 | 18 |
3 | 9 | 15 | 20 | 0 | 13 | 21 |
4 | 19 | 20 | 0 | 1 | 12 | 23 |
5 | 1 | 25 | 19 | 0 | 2 | 5 |
6 | 0 | 18 | 5 | 1 | 4 | 25 |
7 | 0 | 20 | 15 | 0 | 4 | 5 |
8 | 6 | 5 | 14 | 4 | 0 | 8 |
9 | 9 | 19 | 0 | 3 | 15 | 21 |
10 | 14 | 20 | 18 | 25 | 0 | 1 |
11 | 7 | 1 | 9 | 14 | 19 | 20 |
12 | 0 | 8 | 9 | 19 | 0 | 7 |
13 | 15 | 22 | 5 | 18 | 14 | 13 |
14 | 5 | 14 | 20 | 27 | 0 | 0 |
We're ready to decode the message by converting each number back into a letter or symbol.
1 0 16 1 20 18 9 15 20 0 13 21 19 20 0 1 12 23 1 25 19 0 2 5 0 18 5 1 4 25 0 20 15 0 4 5 6 5 14 4 0 8 9 19 0 3 15 21 14 20 18 25 0 1 7 1 9 14 19 20 0 8 9 19 0 7 15 22 5 18 14 13 5 14 20 27 0 0
A patriot must always be ready to defend his country against his government.
For a bonus point, find out who said your quote. In this case, it was Edward Abbey.