mirror of
https://github.com/pFarb/awesome-crypto-papers.git
synced 2024-12-24 22:09:23 -05:00
A curated list of cryptography papers, articles, tutorials and howtos.
CONTRIBUTING.md | ||
LICENSE.md | ||
README.md |
awesome-crypto-papers
A curated list of cryptography papers, articles, tutorials and howtos.
Notes
The goal of this list is to provide reading material for different levels of cryptographic knowledge. I started it because my day job onboarding engineers at Cossack Labs includes educating them in cryptographic matters and giving advise what to read on specific topics, and that involves finding the same materials repeatedly. Hopefully, it will be useful for someone else, too.
Contributing
Contents
-
Introducing people to data security and cryptography
- Cryptography
-
Books
The list
Introducing people to data security and cryptography
Simple: cryptography for non-engineers
Introduction to specific topics
Hashing
- FIPS 198-1: HMACs: The Keyed-Hash Message Authentication Code FIPS document
- FIPS 202: SHA3: SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions
- Birthday problem: The best simple explanation of math behind birthday attack
Secret key cryptography
- FIPS 197: AES FIPS document.
- List of proposed operation modes of AES maintained by NIST.
- Recomendation for Block Cipher modes of operation: Methods and Techniques.
- Stick figure guide to AES if stuff above was a bit hard or you're looking for a good laugh.
Public key cryptography: General and DLP
- New Directions in Cryptography, seminal paper by Diffie and Hellman, introducing public key cryptography and key exchange/agreement protocol.
- RFC 2631: Diffie-Hellman Key Agreement: an explanation of the Diffie-Hellman methon in more engineering terms.
- A Method for Obtaining Digital Signatures and Public-Key Cryptosystems, original paper introducing RSA algorithm.
- RSA Algorithm: rather education explanation of every bit behind RSA.
- Secure Communications Over Insecure Channels , paper by R. Merkle, predated "New directions in cryptography" though it was published after it. The Diffie-Hellman key exchange is an implementation of such a Merkle system.
- On the Security of Public Key Protocols : Dolev-Yao model is a formal model, used to prove properties of interactive cryptographic protocols.
- How to Share a Secret: A safe method for sharing secrets.
Public key cryptography: Elliptic-curve crypto
- Elliptic Curve cryptography: A gentle introduction
- Elliptic Curve Cryptography: finite fields and discrete logarithms
- Elliptic Curve Cryptography: ECDH and ECDSA
- Elliptic Curve Cryptography: breaking security and a comparison with RSA
- Elliptic Curve Cryptography: the serpentine course of a paradigm shift: historic inquiry into development of ECC and it's adoption.
- Let's construct an elliptic curve: Introducing Crackpot2065
- Explicit-Formulas Database for many elliptic curve representation forms.
Key Management
- Recommendation for Key Management – Part 1: General: methodologically very relevant document on goals and procedures of key management.
Books
That seems somewhat out of scope, isn't it? But these are books only fully available online for free. Read them as a sequence of papers if you will.
- A Graduate Course in Applied Cryptography by Dan Boneh and Victor Shoup. A well-balanced introductory course into cryptography, a bit of cryptoanalysis and cryptography-related security.
- CrypTool book, predominantly mathematically oriented information on learning, using and experimenting cryptographic procedures.
- Handbook of Applied Cryptography by Alfred J. Menezes, Paul C. van Oorschot and Scott A. Vanstone. Good classical introduction into cryptography and ciphers.
- The joy of Cryptography by Mike Rosulek. A lot of basic stuff covered really well. No ECC.
Lectures and educational courses
- Understanding cryptography: A textbook for Students and Practitioners Textbook, great lectures and problems to solve.
- Crypto101 Crypto 101 is an introductory course on cryptography, freely available for programmers of all ages and skill levels.