Dating a Cryptologist
− What are you doing for a living?
− I'm a cryptologist.
− What's a cryptologist's job?
− To write papers.
Typesetting Cryptography
On the Web
On papers
- cryptocode (available in texlive)
- tikz (also used by cryptocode), awesome tikz, TikZ for Cryptographers, TikZ tutorials in German[Schmitz17, Weitz17]. Hint: use lualatex to draw some diagrams!
- beamer
- Installing TexLive on ArchLinux / Manjaro
- CryptoBib
- Overleaf (paid service, free for solo contributors)
- Martin Albrecht: Writing (Crypto) Papers and Version Control
Programming Cryptography
Crypto Libraries
- OpenSSL
- cryptopp
- libsodium (shameless plug: sodium-wapper)
- ctbignum
- HACL* (use with KreMLin), explained in The HACL* Library.
- liboqs (website)
- SEAL-ORAM (Oblivious RAM in C++)
Compilers
- Valiant Universal Circuit Compiler
- FairplayPF
- smpcc (a compiler for secure multiparty computation)
- Obliv-C (github, paper). See also Might Be Evil.
- MPC-SoK: Survey of current MPC compilers/frameworks
Languages and Verification Tools
Other Libraries and Toolkits
- NNG, with C++ bindings
- Random123, a library of CBRNGs
- NTL, Victor Shoup's Number-theoretic Library
Reference Manuals
Miscellaneous
- [DLRA12] Will Dietz, Peng Li, John Regehr, Vikram Adve: Understanding Interger Overflow in C/C++. In: Proceedings of the 34th International Conference on Software Engineering (ICSE), Zürich, Switzerland, June 2012. (full pdf)
- [Schmitz17] Malte Schmitz: Zeichnen in LaTeX mit TikZ. Zeichnungen und Animationen direkt in LaTeX setzen. 2017. (website, video, slides (pdf, github)).
- [Weitz17] Edmund Weitz: Grafik in LaTeX (PGF/TikZ). (youtube playist)