Sora0 / How to cryptography 101

Created Sun, 20 Oct 2024 02:22:03 +0300 Modified Sun, 22 Jun 2025 20:21:47 +0000
823 Words

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

This is very very short list and learning all of these concepts will make you “not beginner”

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.

  1. Lecture Notes on Cryptography by Szabolcs Tengely.
  2. A Course in Cryptography by Rafael Pass and Abhi Shelat.
  3. Fundamentals of Cryptology by Henk van Tilborg.
  4. Mathematics of Public Key Cryptography by Steven Galbraith.
  5. A Tutorial on Linear and Differential Cryptanalysis by Howard Heys.

Vidoes where?

  1. Tanja Lange: Post-quantum cryptography.
  2. Introduction to Cryptography by Christof Paar Lectures.
  3. Socratica - Abstract algebra .
  4. 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!