As many people have asked Omina how can they be good at cryptography like her, she prepared this post for everyone to get a solid start!
Cryptography? can I eat it?
Cryptography is the beautiful art and study of techniques used for secure communication in the presence of adversarial behavior! which helps Omnia keeps her secrets away from Sora:)
What do I need to know about cryptography?
MATH!MATH, and even more MATH, some computer science and cybersecurity is also required.
What fields do i exactly need to know?
ABSTRACT ALGEBRA! ABSTRACT ALGEBRA!, and even more ABSTRACT ALGEBRA!
Also we use a lot of number theory, and a knowledge of linear algebra is also extensively used in specific aspects of cryptography. In addition, some discrete math is a good to know too.
As for your computer science, you need good understanding of logical computation, at least one scripting language (use python, just python) and some “computer science common sense”.
Topics to read?
Ciphers | Post Quantum cryptography | Groups |
Applied Cryptography | What does it mean to say that a cryptosystem is secure? | Rings |
Historical cryptography | Proofs of Security | Fields |
Modern cryptography | Threat Models | Greatest Common Divisor |
Encoding and decoding | Adversary Goals | Chinese Remainder Theorem |
Encryption and decryption | Perfect Secrecy | Fermat’s little theorem |
Keys | Perfect Indistinguishability | Bits & Bytes |
Spaces | Adversarial Indistinguishability | Binary system |
Oracles | The definition of a key | Decimal & Octal & Hexadecimal systems |
Hashes | Keys vs passwords | ASCII |
Signatures | Characteristics of keys and common requirements | Hex |
Zero knowledge proof | Types of keys | Base64 |
Random Number Generators | True Random Number Generators (TRNG) | Data formats |
Pseudo Random Number Generators (PRNG) | Cryptographically Secure Pseudo Random Number Generators (CSPRNG) | The modulus operator |
Python | Pycryptodome | Sage |
Z3 | The XOR operator | Properties of XOR |
One Time Pad (OTP) | Symmetric encryption | Block ciphers |
Modes of operations | How AES works | Attacks against AES |
What is a stream | Padding | RC4 |
Salsa20 & ChaCha20 | Textbook RSA | Padded RSA |
Attacks against RSA | Discrete logarithm problem | Diffie-hellman key exchange |
Elliptic Curves Cryptography | Signatures | Signature scheme’s security |
Common signatures | One way functions | Hashes |
Hash collision | Examples | Attacks |
Zero knowledge proof | Cryptanalysis |
Reading where?
These are the books that Omnia have used to be good at cryptography.
1. Understanding cryptography by Christof Paar , Jan Pelzl , Tim Güneysu
This is the ultimate cryptography book, Omnia uses it all the time and it is really good at explaining everything, and is specially good at introducing new concepts.
2. Crypto 101 by Laurens Van Houten
Very good beginner’s book, sadly it has many incomplete sections, but it is very good at visually explaining concepts.
3. Algebra for Cryptologists by Alko R. Meijer
This book is a MUST for any advanced cryptography, skip reading the rest of this, go read it NOW.
4. Handbook of Applied Cryptography by A.J. Menezes et al.
Very good “what was that again” book. lives up to it’s name as “Handbook”.
5. Privacy and Authentication: An Introduction to Cryptography by Whitfield Diffie and Martin Hellman
Did I see these names before? Yes! these are the guys behind the Diffie-Hellman key exchange. It is very hard to read though tho(Omnia’s eyes were hurt reading this 90’s font)
6. Finite Fields by Tanja Lange
Very good sheet explaining group theory and finite fields, the author also has a YouTube channel that explains many concepts in cryptography.
7. Number Theory and Algebra by Tanja Lange
Same as above for number theory.
8. A Graduate Course in Applied Cryptography by Dan Boneh and Victor Shoup
Another “celebrity” book by Boneh, known for his Boneh-Durfee Attack in RSA, didn’t complete it but it is very good.
Honorable mention
These are books that Omina didn’t read but her friends say that they are good.
- Lecture Notes on Cryptography by Szabolcs Tengely.
- A Course in Cryptography by Rafael Pass and Abhi Shelat.
- Fundamentals of Cryptology by Henk van Tilborg.
- Mathematics of Public Key Cryptography by Steven Galbraith.
- A Tutorial on Linear and Differential Cryptanalysis by Howard Heys.
Vidoes where?
- Tanja Lange: Post-quantum cryptography.
- Introduction to Cryptography by Christof Paar Lectures.
- Socratica – Abstract algebra .
- Neso academy – Cryptography & Network Security.
Dirty hands where?
Omnia once spent too much time looking at books, but then she couldn’t solve any challenge because she wasn’t practicing, so she decided that she needs to always apply the knowledge she has to and play with the mud!
CryptoHack
I mean, it is obvious right? Cryptohack stands for very good place to practice cryptography.
MysteryTwister
Good old days puzzles are always fun, and crypto? Very fun.
Hack The Box
Not only are they good at hacking the box, but also the cipher!
CTFtime
This site is a collection of ongoing CTFs that well most likely have cryptography challenges.
aaaaaaaaaaaand that is it for now, Omnia will keep this list updated whenever she finds a new place to toy with!