This blog is a follow-up on my previous blog, How I became a cryptographer, which describes the very long, intense journey I took to get to the state where I could make a living publishing research in cryptography. A few people have asked why I left, so here I give my reasons. This blog may be useful to people who are uncertain whether they want to make a similar journey.
Feeling disconnected from the real world
The biggest reason why I left is that I felt cryptography research was more focused on the mathematics than it was on the real world applicability. As much as I love the mathematics, algorithms, and puzzle solving, I wanted to work on research that mattered. But the longer I stayed in cryptography, the more disconnected I felt from the real world.
Truthfully, the restrictions I put on myself limited me: I did not want to leave Sydney and I did not want to spend the majority of my time teaching. Had I not kept those restrictions, I could have had more chances. With them, the only job that I found to keep me going was to be a PostDoc research fellow.
As a PostDoc research fellow, you are typically paid by a government research grant that may last a couple years. When you are paid by such a grant, you need to deliver results that are in agreement with that grant so that in the future, you have evidence that can be used to apply for similar grants to keep you going. And that cycles.
If you are really good and daring, you might stray from the research grant topic once in a while to see if you can make an impact somewhere else. But your time for that is very limited.
I started on research grants involving number theory, then moved to research grants about cryptanalysis. In this time, I got my top two research results, one of which influenced the field but unfortunately will never be used in the real world, the other of which had an important impact on what NIST declares acceptable today. Also during that time, I did a lot of research that had hardly any relevance to the real world.
While being a PostDoc, I saw a lot of new crypto conferences popping up, and a lot of new crypto researchers publishing at new conferences. Let’s just say that this was not due to an increase in quality in the field. Instead, there were more opportunities to publish irrelevant research, which a researcher could use as evidence of making an ‘impact.’
I wanted to know what were the right problems to work on, but the longer I stayed in the field, the less vision I had on where to look. I was stuck in the cycle, with no vision of what the real world needed. I simply was not going to get that vision by continuing to do what I was doing.
When designing a cipher, every cryptographer will tell you the first requirement. Nobody will look at it unless it follows Kerckhoffs’ principle: the security of the cipher should depend upon the secret key and nothing else. No secret algorithms.
With the AES selection competition between 1997-2000, several cryptographers tried to raise the bar. Instead of just coming up with a design and relying on others to attack it, the designers should put some effort in themselves to show that it does not trivially fall to common attacks such as linear and differential cryptanalysis. I myself worked with the RC6™ design team (though I was not a designer myself), and we provided extensive analysis on the security of RC6™. We were proud of this.
However, a competitor algorithm went much further. Not only did the designers attempt various cryptographic techniques against their design, but they also proved (under reasonable assumptions) that the design was resistant to first order linear and differential cryptanalysis. The proof was via the Wide Trail Strategy. Their cipher, Rijndael, was the favourite amongst the majority of the cryptographers, and ultimately won the AES competition. Even as a competitor to them, there is no doubt in my mind that the right cipher won.
This was great. With the turn to the 21st century, we had a new standard of excellence. Moving the bar beyond the 19th century Kerchoffs’ principle, we now require designers to put substantial effort into analysing and proving the security of their design before presenting it to us. Right?
That was my thought, but it is totally wrong. For two reasons:
- With the increase in the number of crypto conferences and crypto researchers, there was no possibility of enforcing a standard of excellence. The doors were (and still are) wide open to publish a low quality design in a low quality conference.
- Ultimately a fair number of designs get used in the real world long before going through a rigorous analysis and peer review process.
Sure, some designs start getting attention after they have been in use for a while, and by that time we either find problems in them or else fall back to “this algorithm has been in use for a long time and nobody has found problems with it, therefore we can trust it.” And thus, the science is not maturing.
It is a lot easier to design something than it is to break something. For every one man-hour used to design, it can take one or two orders of magnitude more man-hours to analyse, or maybe even more (depending upon the skills of the designer). The cryptanalysist simply cannot keep up with the designers, so we instead declare that we will not look at their design for whatever reason.
I wish cryptography would get beyond Kerchoffs’ principle. I wish the effort between design and cryptanalysis was more balanced. I wish we could give designers more practical advice on what it takes for their cipher to get attention.
I don’t believe that will ever happen.
A lot of labour for little reward
I started out with an attitude like Paul Erdős, but eventually materialism crept in. It’s a lot easier to be idealistic when you are young and single than it is when you’re beginning to settle down and think about having a family.
As my software skills were dated, I felt very lucky that I could get out when I did. Fortune brought me to a fantastic printer research company in Sydney that were mainly looking for smart people. They offered me a good salary, and I was happy to leave cryptography behind.
I was able to maintain a decent salary, but it took me a good 7 years or so before I got to the point where I had strong enough skills in demand so that I could change employment without too much difficulty if I needed to.
Every now and then I get a call from a recruiter about a bank or other large company looking to hire a cryptographer. They don’t need a researcher, instead somebody who really knows and can advise about cryptography. I stopped pursuing these potential opportunities: they pay well, but my interests in security go way beyond cryptography, so I don’t want to pigeon-hole myself as a cryptographer only.
What I do today
Now I do more general security, which includes code review, penetration testing, and architecture/design. I have strong skills in web security and embedded security. I like having this breadth of expertise, but I also have an depth of expertise in cryptography, which distinguishes me from most people who do similar work. The cryptography background is definitely a benefit. But I am sure glad that I do a lot more than just that.