Cryptography
Cryptography
All there is to know about cryptography / cryptanalysis
Here you’ll find all my notes related to cryptography and cryptanalysis in the context of cybersecurity and CTF challenges. I will cover algorithms, crypto-systems, and, more importantly, attacks against them in many different scenarios.
Tools
Here are the more general tools I always use and recommend when starting to do things about cryptography :
| Tool | Description |
|---|---|
| Python | General-purpose programming language with extensive scientific and crypto libraries |
| └── gmpy2 | Fast multiple-precision arithmetic library for number theory |
| └── sympy | Symbolic mathematics library for algebra and calculus |
| └── cryptography | Secure cryptographic primitives and recipes |
| └── pycryptodome | Self-contained cryptographic library for Python |
| └── pwntools | CTF and exploit development framework |
| └── z3-solver | SMT solver for symbolic reasoning and constraint solving |
| └── SciPy | Scientific computing library for optimization and numerical methods |
| └── NumPy | Core numerical computing library for arrays and linear algebra |
| SageMath | Open-source mathematics system for algebra, number theory, and cryptography |
| fplll | Lattice reduction algorithms using floating-point methods |
| Pari/GP | Fast computer algebra system for number theory computations |
| Magma | Computational algebra system for advanced mathematical research |
| flatter | High-performance lattice reduction tool |
| msolve | Solver for polynomial systems using algebraic methods |
Online
| Tool | Description |
|---|---|
| Boxentriq | Online cipher identifier and automated cryptanalysis helper |
| CyberChef | Web-based data analysis and encoding/decoding “Swiss Army knife” |
Flake Environment
If you’re using the Nix package manager, here is a starter template that I currently use for crypto challenges during CTF competitions. It comes with all the tools mentioned above for a good out-of-the-box experience.
You can find other packages to install on the Nix package repository.
flake.nix
| |
Resources
Last updated on