The Virtues of Mature and Minimalist Cryptography

We take a concise look – with an emphasis on symmetric cryptography – at some of the issues that are responsible for why cryptography usually ends up looking bad, in practice, and fails to establish the right threat model, let alone realize it; this is largely due to a lack of cryptographic competence, and the dreaded habit of crammed-in-and-cobbled-together design. To address these issues, we, with the assistance, and comedic relief, of Alice and Bob, give several rules of thumb for sufficient and simplistic cryptographic implementations. Be prepared for a bowl of acronymous porridge, but don’t worry; we’ll make sure it’s as easy to swallow as possible, and it might even up your Scrabble game. So, to the pulpit we go, ready to preach a sermon so desperately in need of being heard, and to which heed should be taken.

We extend our utmost gratitude to David Wagner, Chanathip Namprempre, Bruce Schneier, Paulo Barreto, Vincent Rijmen, Eli Biham, and Peter Gutmann, for their indispensable insight and much appreciated assistance in bettering the way developers look at cryptographic engineering. We also appreciate the work of Daniel Day-Lewis, who taught us that there is no greater shame to cast upon someone than to drink their milkshake. Be this our attempt to keep that from happening to you.

Read: [PDF]