Cryptography
Learning Cryptography in Public & Crypto Dictionary are great.
Notes
Links
- Making Private Communication Simple - Moxie Marlinspike
- trezor-crypto - Heavily optimized cryptography algorithms for embedded devices.
- emmy - Library for zero-knowledge proof based applications (like anonymous credentials).
- Practical Cryptography With Go
- LibHydrogen - Lightweight, secure, easy-to-use crypto library suitable for constrained environments.
- Awesome Cryptography
- Asymmetric Cryptography: Works Like Magic
- saltpack - Modern crypto messaging format. (HN)
- Introduction to Cryptography by Christof Paar
- Keybase - Secure groups, files, and chat for everyone.
- Signal - Secure messenger.
- Cryptocoding - Guidelines for low-level cryptography software.
- Constant-Time Toolkit
- Tink - Multi-language, cross-platform, open source library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse.
- Ring - Safe, fast, small crypto using Rust.
- dalek cryptography - Fast, safe, pure-rust elliptic curve cryptography.
- Trillian - Transparent, highly scalable and cryptographically verifiable data store. (Examples)
- Intuitive Advanced Cryptography
- Elliptic Curve Cryptography Explained (2019) (HN)
- The Latest Developments in Cryptography Webinar
- An Overview of Cryptography
- A Graduate Course in Applied Cryptography (2020) (HN) (HN 2)
- BLAKE3 (in Rust) - Cryptographic hash function. (HN)
- BLAKE3 (rewrite in Go)
- BLAKE3 (in JS) - Hashing for JavaScript: native Node bindings (where available) and WebAssembly.
- BLAKE3 reference specification
- Real world crypto talks
- awesome-mpc - Curated list of multi party computation resources and links.
- Basic Intro to Lattices in Cryptography (2020)
- SwiftCrypto - Open-source implementation of a substantial portion of the API of Apple CryptoKit suitable for use on Linux platforms. (Article)
- Fiat-Crypto - Cryptographic Primitive Code Generation by Fiat.
- CIRCL - Cloudflare Interoperable Reusable Cryptographic Library. (Article) (Pairings in CIRCL) (HN)
- cosign - Cooperative RSA signatures.
- Practical Cryptography for Developers book (Code)
- Cryptopals - Collection of 48 exercises that demonstrate attacks on real-world crypto. (Solutions in Go) (Solutions in Python)
- Intuitive Advanced Cryptography
- Intuitive Understanding of Quantum Computation and Post-Quantum Cryptography
- Cofactor Explained: Clearing Elliptic Curves' dirty little secret (2020)
- Move Fast and Roll Your Own Crypto. Quick Look at the Confidentiality of Zoom Meetings (2020)
- Monocypher - Easy to use, easy to deploy crypto library. (Article)
- Learning fast elliptic-curve cryptography in JS (2020)
- SHISHUA: The Fastest Pseudo-Random Generator In the World (2020) (HN)
- RSA implementation in pure Rust
- Cryptography I course
- Basic implementations of standard cryptography algorithms, like AES and SHA-1
- Botan - Crypto and TLS for Modern C++.
- Understanding Cryptography book
- Ask HN: Keybase Alternatives? (2020)
- Useful Crypto-related Resources
- Basic Intro To Elliptic Curve Cryptography (2020) (HN) (HN 2)
- How Not to Learn Cryptography (2014) (HN)
- Encrypted Systems Lab - Research lab in the Computer Science Department at Brown University.
- Snow - Rust implementation of the Noise Protocol Framework.
- Real-World Cryptography Book (2021) (Why I’m Writing A Book On Cryptography) (HN)
- How To Learn Cryptography as a Programmer (2020)
- Cifra - Collection of cryptographic primitives targeted at embedded use.
- sjcl - Stanford Javascript Crypto Library. (Web) (HN)
- Sodium - Modern, easy-to-use software library for encryption, decryption, signatures, password hashing and more. (Docs)
- libsodium.js - Sodium crypto library compiled to WebAssembly and pure JavaScript using Emscripten, with automatically generated wrappers to make it easy to use in web applications.
- Finite Fields (2020) (Lobsters)
- Really low latency multipliers and cryptographic puzzles (2020)
- A Gentle Introduction to Verifiable Delay Functions (HN)
- Keyoxide - Privacy-friendly platform to establish your decentralized identity. (Article) (Lobsters) (Code)
- Low latency multipliers and cryptographic puzzles (2020) (HN)
- Cryptography is not Magic (2020) (Lobsters)
- Cryptography Dispatches: Registries Considered Harmful (2020) (Lobsters)
- The Joy of Cryptography (HN) (Twitter)
- A history of elliptic curves in tweets (2020)
- Learning fast elliptic-curve cryptography in JS (2020)
- Absolute Minimum Every Engineer Must Know About Authentication and Encryption
- Cute Cryptography Stories (2020)
- Cryptography Dispatches - Longer form discussion of the cryptography engineering topics.
- Small portable Elliptic-Curve Diffie-Hellman in C
- Branca - Authenticated and encrypted API tokens using modern crypto. (Web)
- jsHashes - Fast and dependency-free cryptographic hashing library for node.js and browsers (supports MD5, SHA1, SHA256, SHA512, RIPEMD, HMAC).
- The EMV Standard: Break, Fix, Verify (2020)
- CRISP & CHIP implementation in C++
- Arithmetic Statistics for Elliptic Curves
- Quantum Hardening Cryptographic Protocols
- Pairing-Based Cryptography Notes
- Pairing-Based Cryptography - Ben Lynn’s PhD Dissertation
- MIRACL Core - Multi-lingual and architecturally agnostic Cryptographic library that supports elliptic curve cryptography, pairing-friendly curve cryptography, RSA, AES symmetric encryption and hash functions.
- SCIPR Lab - Multi-institutional academic collaboration of researchers seeking to bring to practice cryptographic proof systems that provide succinct integrity and privacy.
- Preventing impossible game levels using cryptography (2020)
- Indistinguishability Obfuscation from Well-Founded Assumptions (2020) (HN)
- Useful Crypto-related Resources
- Cryptol - Language of Cryptography. Was designed by Galois for the NSA Laboratory for Advanced Cybersecurity Research as a public standard for specifying cryptographic algorithms. (Web)
- Courses on distributed systems and elliptic curve cryptography (2020)
- Implementing Curve25519/X25519: A Tutorial on Elliptic Curve Cryptography
- wasm-crypto - WebAssembly (via AssemblyScript) set of cryptographic primitives for building authentication and key exchange protocols.
- Everything Crypto - Collection of notebooks covering different algorithms and concepts from cryptography.
- How Rainbow Tables work
- Cryptography in Layman's Terms (2020)
- Cryptographic Wear-Out for Symmetric Encryption (2020) (Lobsters)
- A Decade of Lattice Cryptography (2016)
- Session Protocol: Technical implementation details (2020) (HN)
- Streaming Merkle Proofs in Binary Numeral Trees (2021)
- Mercurial Signatures
- Crypto Dictionary Book (Code)
- Applied Cryptology Lab (NaCl)
- Cryptography Resources
- NuCypher - Cryptographic Infrastructure for Privacy-Preserving Applications. (Code) (GitHub)
- FROST: Flexible Round-Optimized Schnorr Threshold Signatures - Chelsea Komlo (2021)
- Crackpot Cryptography and Security Theater (2021) (Lobsters)
- Lobsters: Resources for crypto fundamentals? (2021)
- keys.pub - Cryptographic key management. (Code)
- hacspec - Specification language for cryptography primitives. (Web)
- Actually, You Are Rolling Your Own Crypto (2021) (Lobsters)
- ZenGo Research - Goal is to take threshold cryptography all the way from theory to your mobile device (or any consumer software/hardware). (GitHub)
- Cryptofuzz - Differential cryptography fuzzing.
- Cryptography and how to deal with man-in-the-middle attacks in JavaScript (HN)
- RELIC - Modern cryptographic meta-toolkit with emphasis on efficiency and flexibility.
- Arbitrary Code Execution in the Universal Turing Machine (2021) (HN)
- CrySyS Lab - Laboratory of Cryptography and System Security.
- Hacker's guide to deep-learning side-channel attacks: the theory (2021)
- Cryptography from the Ground Up (2021)
- Crypto Gotchas - Collection of common (interesting) cryptographic mistakes.
- How I Learned Symmetric-Key Cryptanalysis (2021) (HN)
- Public key cryptography: OpenSSH private keys (2021)
- Nova - Recursive SNARKs without trusted setup.
- You Really Shouldn't Roll Your Own Crypto: Empirical Study of Vulnerabilities in Cryptographic Libs (2021) (Lobsters)
- Fine Grained Dataflow Tracking with Proximal Gradients (2021) (Code)
- mcl - Portable and fast pairing-based cryptography library.
- ecgen - Tool for generating Elliptic curve domain parameters.
- Conditionally-Perfect Secrecy and a Provably-Secure Randomized Cipher (1992)
- Minisign - Dead simple tool to sign files and verify digital signatures. (Web)
- Minisign in Zig
- Signify - OpenBSD tool to signs and verify signatures on files. Portable version.
- O(1) Labs - Using cryptography and cryptocurrency to build computing systems that put people back in control of their digital lives. (GitHub)
- Bugs in our Pockets: The Risks of Client-Side Scanning (2021) (Tweet) (Lobsters) (Article)
- Cracking Random Number Generators Using Machine Learning (2021) (HN)
- A Graduate Course in Applied Cryptography (2020) (HN)
- HACL* - Formally verified cryptographic library written in F*.
- Threema: Three Strikes, You’re Out (2021) (Lobsters)
- Lightweight Cryptography (HN)
- RsaCtfTool - RSA attack tool (mainly for ctf) - retreive private key from weak public key and/or uncipher data.
- Drand - Distributed Randomness Beacon Daemon. (Web) (JS client)
- Jasmin - Workbench for high-assurance and high-speed cryptography. (Wiki)
- An Illustrated Guide to Elliptic Curve Cryptography Validation (2021) (HN)
- starkex-lib - Cryptographic functions for dYdX.
- Kryptology - Coinbase's advanced cryptography library. (Article) (HN)
- NCC Group’s Cryptopals Guided Tour (2021) (HN)
- WASI Cryptography APIs
- Lecture notes for Chris Peikert's graduate-level Theory of Cryptography course
- An intensive introduction to cryptography (Notes)
- Casual code review of MetaMask’s crypto (2022) (Lobsters)
- EasyCrypt - Computer-Aided Cryptographic Proofs.
- Pseudorandom Number Generation using LFSR (2022)
- lokey - Tool that makes it easy to work with and convert between cryptographic key formats.
- Oblivious Message Retrieval (2021)
- SHA-256 Project - Learn how hash functions work by implementing one yourself. (HN)
- The Joy Of Duplexes (2022)
- Keychain-PKCS11 - Shared library that implements a PKCS#11 interface to the Apple Security framework.
- liblithium - Lightweight and portable cryptography library.
- Researchers Identify ‘Master Problem’ Underlying All Cryptography (2022) (HN)
- Secret Colors: A Gentle Introduction to Cryptography
- Web Cryptography API Examples
- Elliptic Curve Cryptography: A Basic Introduction (2020) (HN)
- LibHydrogen - Lightweight, secure, easy-to-use crypto library suitable for constrained environments.
- Awesome TSS - Curated list of distributed key generation and threshold signatures implementations.
- Explaining Yao's Garbled Circuits (2022)
- Themes from Real World Crypto 2022
- Coze - Cryptographic JSON messaging specification designed for human readability.
- Some Cryptography Books I Like (2022) (HN)
- Handbook of Applied Cryptography
- Crypto means cryptography (2022)
- Guidance for Choosing an Elliptic Curve Signature Algorithm in 2022
- Google open sourced PSP (hardware cryptographic offload) (2022) (HN)
- Ask HN: Best book on modern cryptography? (2022)
- Visualizing Elliptic Curves (HN)
- Elligator - Hiding cryptographic key exchange as random noise. (Lobsters)
- NIST Announces First Four Quantum-Resistant Cryptographic Algorithms (2022) (Reddit)
- KEMs and Post-Quantum age (2022)
- Cryptography II | Coursera
- Sycret - Function Secret Sharing library for Python and Rust with hardware acceleration.
- Paranoid Crypto - Checks for well known weaknesses on cryptographic artifacts such as public keys, digital signatures and general pseudorandom numbers.
- A Wide Reduction Trick (2022)
- Memory Tagging: A Memory Efficient Design (2022)
- Muse - Python, C++, and Rust library for Secure Convolutional Neural Network Inference Resilient to Malicious Clients.
- Elliptic Curves for Security (2016)
- lemmeknow - Can be used for identifying mysterious text or to analyze hard-coded strings from captured network packets, malwares, or just about anything.
- Public Randomness and Randomness Beacons (2022) (Tweet)
- jsteg - Package for hiding data inside jpeg files, a technique known as steganography.
- Cryptography’s Future Will Be Quantum-Safe. Here’s How It Will Work. (2022)
- Applications of Quantum Annealing in Cryptography (2022)
- jq255 Elliptic Curve Specification, and a Retrospective (2022)
- Emerging Biometric Modalities and their Use: Loopholes in the Terminology of the GDPR and Resulting Privacy Risks (2022)
- Tandem - Cryptographic Engine for Secure Multi-Party Computation using Garbled Circuits.
- SINE Foundation (GitHub)
- End-to-end encrypted messages need more than libsignal (2022) (HN)
- Generic Tagging for RISC-V Binaries (2022)
- Learning Cryptography in Public
- Awesome Crypto Papers
- BLAKE3 specifications
- libjade - Formally verified cryptographic library written in Jasmin with computer-verified proofs in EasyCrypt.
- 20 Best Cryptography Algorithms Books of All Time (2022)
- On PBKDF2 iterations (2023) (HN)
- How to transform code into arithmetic circuits (2023)
- Elliptic Curves: The Great Mystery (2023) (HN)
- Elliptic Tales: Curves, Counting, and Number Theory (2012)
- Describe-curve - Utility for describing elliptic curves used in cryptography.
- A Gentle Tutorial for Lattice-Based Cryptanalysis (2023)
- Crypto Dictionary
- Extracting training data from diffusion models (2023) (HN)
- AWS-LC - General-purpose cryptographic library maintained by the AWS Cryptography team.
- Google’s Fully Homomorphic Encryption Compiler — A Primer (HN)
- ACIR - Abstract Circuit Intermediate Representation.
- Real-World Cryptography, a bit more than a year later (2023)
- Capstone: A Capability-based Foundation for Trustless Secure Memory Access (2023)
- Wire CoreCrypto - MLS/Proteus multiplexer abstraction with encrypted persistent storage in Rust.
- Asymmetric Cryptographic Commitments (2023)
- A Cryptographic Near Miss (2023)
- Cryptographic Best Practices
- LLuffman: LLM-based steganography (2023) (Lobsters)
- Intro to Cryptography (2011) (HN)
- The Animated Elliptic Curve (HN)
- Rain Hashes - Hash functions from C++ running in WebAssembly. (Code)
- SoK: The Ghost Trilemma (2023) (HN)
- Rust Cryptography Should be Written in Rust (2023) (Lobsters) (HN)
- How to Write a Secure JWT Library If You Absolutely Must (2023)