Why I’m Not a Mathematician
I am putting this up to avoid the work that I know I’m supposed to be doing. It is, ultimately, a story that reveals my own capacity for spite far more than it exposes problems in our education system.
Anyway, I was thinking about this because of the recent Gawker hack, that leaked their database of encrypted passwords.
When I was in Algebra II, in the 10th grade, I had a bit of a chip on my shoulder. I’d been booted out of the advanced math classes after middle school, and so had to take “regular” geometry in 9th grade. ”Regular” geometry was a class full of idiots, taught by a guy who was absent literally half the time (we think for drunkenness). I passed because he let us use any theorem that we’d done a proof for on the test, and so one week I went ahead and proved all the theorems in the book, and so just kept a list of them whenever I test time came around.
ANYWAY, I got bumped back up to the advanced math classes after that, and that was how I ended up in Algebra II with the smart kids. I was in Algebra II with a feeling like I had something to prove, but little particular interest in actual Algebra — all up until we got to matrix mathematics. Matrices, in case you don’t remember from math, are little grids of numbers which you use for very particular kinds of operations on other numbers.
So, this was still mostly boring to me, until the day the math teacher says, “Okay, here’s your assignment. You’re going to take a message, and you’re going to use a matrix to encrypt it.” You did this by converting the letter values to numbers, and then by multiplying them by the numbers in the matrix, so that each letter was changed by a different number. I was absent the day they did this in class, but I got the assignment anyway.
And I was *super* excited about it. Just, really thrilled with the idea. So: you were allowed to use either a 3×1 matrix to encode your message, or a 4×1 matrix to encode it. But I realized that, in order for the operation to work right, the number of characters in the message had to be a multiple of the number of numbers in the matrix: a 3×1 matrix meant the message had to have a multiple of three; a 4×1 had to have a multiple of four.
I made my message 12 characters long, so that it would be a multiple of both 4 and 3, and therefore wouldn’t reveal which kind of matrix I’d used. Not only that, but because spaces weren’t encoded, after you did the operation you’d end up with a thing that looked like a cryptogram. That would mean that you could just guess the content of the message, based on the relative lengths of words — so, I added an extra number to encode spaces, and then I broke the message up into random lengths of characters, to further complicated the issue (obviously, whoever the message was meant for would just have the decode matrix, so none of these issues would be relevant; but for someone who didn’t know how it was encoded, whether via matrix or just substitution or what, I figured I’d give them a hard time).
Thinking about cryptograms got me thinking about substitution cyphers, too, so I figured I’d play around a little. If you figure that you’d need to know at least six letters in order to figure out a message, and you’d just done a substitution cypher, then at bare minimum, even with all of my baffles in place, a code-breaker would have to make 26x25x24x23x22x21x20 guesses. That’s a lot of guesses!
But to figure out a 4×1 matrix cypher, you’d only need to guess the first four letters: 26^4 combinations. That’s something like, I don’t know what, but even in the 10th grade I could see that it was at least two orders of magnitude smaller. And I had spell check; I figured you could make a program that just guessed four letters, decrypted the whole message with them, and then ran a spell-check program on it to bring back the returns that had the largest number of correctly-spelled words.
26^4 is a lot of possible outcomes, and there’s basically no way anyone is going to sort through that on their own, so there’s probably a couple basic rules that you’d use in order to narrow the search a little: if you assumed, for instance, that all of the words in the message were complete words (and that the message didn’t begin with “aardvark”), you could discount all of the probabilities in which the first two letters were the same.
Since I had to make sure I was hitting the right number of characters, I just wrote my message and then threw in a bunch of trash letters at the beginning — “FFZYZ”, or something — to confound any educated guesses anyone would make about the first four letters. At which point I realized that, duh, with a matrix you could do the same thing with any set of four letters. So, I took my message and just doubled one of every letter out of every four (the doubling, I figured as a 10th grader, would be the one most likely to get filtered out). This had the added advantage of spelling every word in the message incorrectly, meaning you couldn’t use a regular spell-checker to figure out which of your possible outcomes were actual legible messages; you’d have to actually go through each one, one at a time. (This, incidentally, illustrated a valuable lesson about cryptography: it’s not about making something theoretically unbreakable, just practically unbreakable — I don’t need the enemy to never figure out the message, I just need them to not figure it out in time to do anything about it; security, then, is about making getting to the information so inconvenient as to make it useless.)
So, I handed my assignment in; 24 characters now, broken up into random lengths, with a bunch of junk letters in the front and every word spelled incorrectly.
I didn’t get any credit for it, of course. The math teacher told me that doing all the extra stuff I’d worked out “wasn’t the assignment” and had me throw it out. Actually had me throw it in the trash when I protested.
I usually point to this moment as being the beginning of my disillusionment with math.