Jottings

Mathematical reasoning may be regarded rather schematically as the exercise of a combination of two facilities, which we may call intuition and ingenuity. -Alan M. Turing

Here are some resources related to cryptography and mathematics that I found useful.

CryptographyMath tech
Computationally secure cryptographyGit
Unconditionally secure cryptographyMarkdown
 TeX
 Julia

Cryptography

mindmap

To get started, one can consider the following resources:

Blog posts/interviewsLecture notes/books (free and great quality)Websites/discussion forums
So, You Want to be a Cryptographer - Bruce Schneier (Oct 1999)The Joy of Cryptography - Mike RosulekCryptoHack
Recommended skills for a job in cryptology - Reid (May 2013)A Graduate Course in Applied Cryptography - Dan Boneh and Victor ShoupCryptopals
Applied Cryptography Engineering - Thomas and Erin Ptacek “Matasano” (Jul 2013)Cryptography - David R. KohelCryptography.SE
How Not to Learn Cryptography - Seny Kamara (Nov 2014)A Course in Cryptography - Rafael Pass and Abhi ShelatCryptography FM
Cryptography and Mathematics - Kristin Lauter’s interview in XRDS: Crossroads, The ACM Magazine for Students (Mar 2015)Foundations of Cryptography - Rafail Ostrovskyr/crypto
How I became a cryptographer and why I left cryptography - Scott Contini (May-Oct 2017)Introduction to Modern Cryptography - Mihir Bellare and Phillip Rogawayr/cryptography
How To Learn Cryptography as a Programmer - Soatok (Jun 2020)Introduction to Cryptography (direct links: videos and course webpage) - Vipul GoyalCryptoClub
How to become a Security Engineer - Cory Hardman (May 2021)Cryptography Primitives and Protocols - Aggelos Kiayias52 Things by Bristol Cryptography
So, you want to be a Cryptographer? - Greg Rubin (May 2022)Proofs, Arguments, and Zero-Knowledge - Justin ThalerSimonsTV
Some Cryptography Books I Like - Lúcás Meier (May 2022)Building Cryptographic Proofs from Hash Functions - Alessandro Chiesa and Eylon YogevCryptology ePrint Archive
The best books for cryptography apprentices - Jean-Philippe Aumasson (Jul 2022)Cryptography 101 - Alfred MenezesAskCrypto
The Cryptographer Designs Encryption that Even Quantum Hardware Can’t Crack - Joppe Bos’s interview in IEEE Spectrum Magazine (Jan 2025)Cryptography for Toddlers - Elizabeth A. Quaglia and Alex Thompson (CyBOK)Post-Quantum signatures zoo

Computationally secure cryptography

These cryptosystems are considered secure against the computation power offered by humans with pencil-paper, computers, and quantum computers.

Unconditionally secure cryptography

TODO: Quantum cryptography

Math tech

The following is a list of various math tech setups I have worked with over the years.

Interval (years)Operating system (user interface)Primary software
2013 to 2019Ubuntu (GNOME 2, LXDE, Unity, and Cinnamon)TexMaker
2019 to 2020Debian (Crostini/Linux on ChromeOS)TexMaker
2020 to 2021Fedora (Xfce and GNOME 3)Vim+MuPDF
2021 to 2023openSUSE (KDE Plasma 5)Vim+MuPDF
2023 to 2025Ubuntu (Windows Subsystem for Linux 2)VSCode with LaTeX Workshop Extension

Git

Git is a version control system that was developed to manage Linux development. I use GitHub as the remote server for my git repositories. Here is a tutorial to get started: https://swcarpentry.github.io/git-novice/

Some other useful resources:

Markdown

Markdown is a markup language that was developed to bridge the gap between raw text and HTML. One can learn the basics here: https://www.markdownguide.org/

There are different flavors that add various features:

TeX

TeX is a typesetting system that was developed to meet the needs of mathematical and scientific typography. There are different flavors that can be created by combining an engine like pdfTeX or XeTeX or LuaTeX with a format like LaTeX or ConTeXt. Moreover, LaTeX offers lots of packages, for example one can choose between BibTeX and BibLaTeX for bibiliography management. I use LaTeX with pdfTeX engine to produce PDF articles, reports, and presentations. Here is a tutorial to get started: https://edbennett.github.io/latex-tutorial/

Further readings:

LaTeX basicsAssistance tools
LaTeX guideDetexify
LaTeX typesetting gameEquation editor
LaTeX cheat sheetTable generator
TikZ docsTikZ-cd generator
BibLaTeX cheat sheetJabRef browser extension
Beamer guideBeamer themes

Julia

Julia is a modern programming language that was developed to combine readability, speed, and scalability in one tool. It readily adopts cool features from other languages like its amazing package manager Pkg inspired by Rust’s cargo. One can learn the basics from this tutorial: https://github.com/JuliaAcademy/JuliaProgrammingForNervousBeginners

If new to programming, consider solving some exercises from CodeAbby or Project Euler.

Some other useful resources:

DocumentationPackages
Style guidePluto
Performance tipsRevise
Unicode inputHecke
Math operatorsOscar
CheatsheetLaTeXStings
Floating point mathFlux