Materials that I can suggest for Cryptography and Computer Science
Published:
These books and other materials helped my study of cryptography. If there is an English version of the book/paper - I first give a link to that book, if there is a Russian version - the link is given in a tag “RUS”. Some materials are only in Russian, some are only in English. The links are intended to give more details about the book/paper and not as an advertisement for any platform/shop. I am sure someone would prefer a different book or material on some topics - the following list is what I used and liked during my work and studies.
Materials that I can suggest for Cryptography and Computer Science
Combinatorics: Combinatorics by N. Ya. Vilenkin(RUS)
Algebra and Linear Algebra: Introduction to Algebra by Kostrikin (RUS vol 1;RUS vol 2; RUS vol 3)
Discrete math: Лекции по дискретной математике - А. В. Чашкин
Mathematical Analysis: Mathematical Analysis by V. A. Zorich and Vol. 2 (RUS vol 1; RUS vol 2)
Probability Theory: Probability and Statistics for Computer Scientists by Michael Baron
Finite Fields and their applications: Finite Fields by Lidl, Niederreiter (RUS), Элементы конечной алгебры: группы, кольца, поля, линейные пространства - Чашкин А.В., Жуков Д. А.
Mathematical tools: Concrete Mathematics by Rondald L. Graham, Donald E. Knuth, Oren Patashnik (RUS); generatingfunctionology by Herbert S. Wilf;
Coding theory: Error-Correcting Codes by W. Wesley Peterson, E. J. Weldon Jr. (RUS)
Algorithms and Data structures: Algorithms by Dasgupta, Papadimitriou, Vazirani (RUS); Grokking Algorithms by Aditya Bhargava (RUS); Introduction to Algorithms by Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L (RUS)
Advanced algorithms: Advanced algorithms part 1, part 2.
Computational complexity: Computational Complexity: A Modern Approach by Sanjeev Arora and Boaz Barak
Programming: C++ How to Program by Paul Deitel, Harvey Deitel (RUS); Practical Cryptography in Python by Seth James Nielson, Christopher K. Monson; SageMath; Project Euler;
Computer security: Hacking: The Art of Exploitation by Jon Erickson (RUS)
Algorithms for Cryptography: Введение в теоретико-чиcловые методы криптографии - Глухов М.М.; Prime Numbers: A Computational Perspective by Richard Crandall, Carl B. Pomerance; (RUS); Number-theoretic Algorithms in Cryptography by O.N. Vasilenko (RUS);
Specific Algorithms: A Complete Beginner Guide to the Number Theoretic Transform; Johnson–Lindenstrauss Transforms; Quantum Fourier Transform;
Boolean functions: Ирина Панкратова: Булевы функции в криптографии.; Boolean Functions in Coding Theory and Cryptography (Translations of Mathematical Monographs) by O. A. Logachev, A. A. Salnikov, V. V. Yashchenko;(RUS) 2 Videos - Analysis of Boolean Functions by Eyan O’Donnell;
Cryptography overview: Practical Cryptography by Niels Ferguson, Bruce Schneier (RUS); Real World Cryptography by David Wong; Implementing and Exploiting Cryptography by Kamran Khan and Bill Cox
A more in-depth Cryptography overview: Handbook of Applied Cryptography (Discrete Mathematics and Its Applications) by Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone
A Graduate Course in Applied Cryptography: A Graduate Course in Applied Cryptography by Dan Boneh and Victor Shoup
Theoretical foundations of cryptography: The Foundations of cryptography by Oded Goldreich
Elliptic curve cryptography: Elliptic Curves, Number Theory, and Cryptography by LAWRENCE C. WASHINGTON
Provable security: The Joy of cryptography by Mike Rosulek
Hash functions: The Theory of Hash Functions and Random Oracles by Arno Mittelbach, Marc Fischlin
Key Establishment: Protocols for Authentication and Key Establishment by Colin Boyd, Anish Mathuria, Douglas Stebila
Multiparty Computation and Secret Sharing: Secure Multiparty Computation and Secret Sharing by Ronald Cramer, Ivan Bjerre Damgård, Jesper Buus Nielsen
Quantum computations: Quantum Computation and Quantum Information from CS teacher; Quantum Computation and Quantum Information by Michael A. Nielsen & Isaac L. Chuang (RUS
Overview of Post-quantum cryptography: Post-Quantum Cryptography, Editors: Daniel J. Bernstein, Johannes Buchmann, Erik Dahmen
Survey on Code-based cryptography
Cryptography for Big Data Security Book Chapter for Big Data: Storage, Sharing, and Security - Survey on modern applications of cryptography: Attribute-based encryption, Searchable encryption, Multi-party computations, Homomorphic encryption, Verifiable Computation, Functional encryption.
Homomorphic encryption: Good paper to start with; ZAMA tutorials and documentations
Lattice-based Cryptography:
Basic Lattice Cryptography: The concepts behind Kyber (ML-KEM) and Dilithium (ML-DSA)
A Decade of Lattice Cryptography
How to Use a Short Basis: Trapdoors for Hard Lattices and New Cryptographic Constructions
Trapdoors for Lattices: Simpler, Tighter, Faster, Smaller
A survey on the security of the lattice-based NIST finalists
Lattice Attacks on NTRU and LWE: A History of Refinements
Complexity of Lattice Problems by Daniele Micciancio and Shafi Goldwasser: rather a mathematical introduction to lattices with a detailed analysis of attacks on them.
Hash-based Cryptography:
A survey of modern techniques and schemes in Hash-based cryptography
Survey on Hash-based cryptography
Mitigating Multi-Target Attacks in Hash-based Signatures
Recovering the tight security proof of SPHINCS+
SPHINCS+C: Compressing SPHINCS+ With (Almost) No Cost
Zero Knowledge:
Proofs, Arguments, and Zero-Knowledge by Justin Thaler
Building Cryptographic Proofs from Hash Functions by Alessandro Chiesa and Eylon Yogev. This book includes discussions and analyses of notable constructions of SNARGs (succinct non-interactive arguments) based on ideal hash functions. For example, STARKs (scalable transparent arguments of knowledge) are a popular example of SNARGs based on ideal hash functions. This book is a self-contained reference aimed at people interested in understanding the foundations and constructions of succinct arguments.
The MoonMath Manual - The MoonMath Manual is a resource for anyone interested in understanding and unlocking the potential of zk-SNARKs, from beginners to experts.
ZK acronyms - The ZK Jargon Decoder aims to be a dictionary and reference guide for common jargon found in cryptography and the zero-knowledge literature.
ZK news ___
Rust:
The Rust Programming Language by Steve Klabnik, Carol Nichols, and Chris Krycho - The Rust Programming Language, an introductory book about Rust.
A Gentle Introduction To Rust - The aim of this tutorial is to take you to a place where you can read and write enough Rust to fully appreciate the excellent learning resources available online.
100 exercises to lear rust - You’ll learn Rust by solving 100 exercises. You’ll go from knowing nothing about Rust to being able to start writing your own programs, one exercise at a time.
Rustlings - This project contains small exercises to get you used to reading and writing Rust code.
Build a RC5 Symmetric Block Cipher in Rust - This course teaches you how to build an RC5 symmetric block cipher in Rust.
Elliptic Curve Cryptography in Rust - This course teaches you how elliptic curve groups work together with finite fields and how to implement a Rust library from scratch to perform basic groups’ operations.
Zero-Knowledge Proofs in Rust - This Zero-Knowledge Proof course in Rust is designed to learn how to implement a cryptography ZKP algorithm and use it in real-world applications for user registration and authentication.
Good links:
International Association for Cryptologic Research - There, you can find information about good schools, conferences, workshops, job offers, Ph.D. and PostDoc positions, and more.
Security Research & Advanced Cryptography blog posts
Ask questions on cryptography papers
Russian forum on math related topics
Some less severe content:
Cryptography FM - Podcast on cryptography
Security. Cryptography. Whatever - Podcast on cryptography
Zero Knowledge Podcast - Podcast about decentralization and technology, open source communities & ZK proofs
3Blue1Brown - Youtube channel on different mathematical topics
Numberphile - Youtube channel on various mathematical topics
Cryptography olympiads, CTF, online platforms:
Как написать математическую статью по-ангийски - Сосинский А.Б.
How to lead a research team in science
