Materials that I can suggest for Cryptography and Computer Science

7 minute read

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:

The Lattice Club

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

SPHINCS+ resources

WOTS+

XMSS

Mitigating Multi-Target Attacks in Hash-based Signatures

SPHINCS+

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 Bug Tracker

ZK Whiteboard Sessions - S1

ZK Whiteboard Sessions - S2

ZK Whiteboard Sessions - S3

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.

Rust by example - Testing

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

Crypto Stack Exchange

Russian forum on math related topics

Computer Science club courses

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:

NSUcrypto

CryptoHack

CryptoCTF

Cryptopals

MysteryTwister


Как написать математическую статью по-ангийски - Сосинский А.Б.

How to write a Grant proposal

How to lead a research team in science