- cryptopals crypto challenges. https://www.cryptopals.com/.
- Python bytes.fromhex. https://docs.python.org/3/library/stdtypes.html#bytes.fromhex.
- Python base64. https://docs.python.org/3/library/base64.html.
- Rust hex::decode. https://docs.rs/hex/latest/hex/fn.decode.html.
- Rust String::from_utf8_lossy. https://doc.rust-lang.org/std/string/struct.String.html#method.from_utf8_lossy.
- Rust base64 URL-safe alphabet. https://docs.rs/base64/latest/base64/#url-safe-alphabet.
- Python int.to_bytes. https://docs.python.org/3/library/stdtypes.html#int.to_bytes.
- PyCryptodome long_to_bytes. https://www.pycryptodome.org/src/util/util#Crypto.Util.number.long_to_bytes.
- Source code for long_to_bytes. https://github.com/Legrandin/pycryptodome/blob/dc92e70ffb276d946364f62d0f87c6d66d75ffe3/lib/Crypto/Util/number.py#L407.
- Python randrange. https://docs.python.org/3/library/random.html#functions-for-integers.
- Python randbelow. https://docs.python.org/3/library/secrets.html#random-numbers.
- Python SHA1. https://docs.python.org/3/library/hashlib.html#hashlib.sha1.
- pwntools GitHub repo. https://github.com/Gallopsled/pwntools.
- pwntools documentation. https://docs.pwntools.com/.
- pwntools xor. https://docs.pwntools.com/en/stable/util/fiddling.html#pwnlib.util.fiddling.xor.
- Frequency analysis. https://en.wikipedia.org/wiki/Frequency_analysis.
- PyCryptodome CBC Mode. https://www.pycryptodome.org/src/cipher/classic#cbc-mode.
- PyCryptodome Crypto.Util.Padding module. https://www.pycryptodome.org/src/util/util#crypto-util-padding-module.
- Python secrets.token_bytes. https://docs.python.org/3/library/secrets.html#generating-tokens.
- Hamming distance. https://en.wikipedia.org/wiki/Hamming_distance.
- Convert int to binary string in Python. https://stackoverflow.com/a/699892.
- Format Specification Mini-language. https://docs.python.org/3/library/string.html#format-specification-mini-language.
- SciPy Hamming distance. https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.distance.hamming.html.
- Key corresponding to min value in dict. https://stackoverflow.com/a/3282904.
- Secure Remote Password protocol. https://en.wikipedia.org/wiki/Secure_Remote_Password_protocol.
- hmac.compare_digest. https://docs.python.org/3/library/hmac.html#hmac.compare_digest.
- pwntools listen. https://docs.pwntools.com/en/stable/tubes/sockets.html#pwnlib.tubes.listen.listen.
- Python getpass. https://docs.python.org/3/library/getpass.html.
- Byte order, size, and alignment (struct). https://docs.python.org/2/library/struct.html#byte-order-size-and-alignment.
- Format characters (struct). https://docs.python.org/2/library/struct.html#format-characters.
- Padding (cryptography), PKCS#7. https://en.wikipedia.org/wiki/Padding_(cryptography)#PKCS#5_and_PKCS#7.
- SRP Protocol Design. http://srp.stanford.edu/design.html.
- Python os.urandom. https://docs.python.org/3/library/os.html#os.urandom.
- Random number generation. https://cryptography.io/en/latest/random-numbers/.
- Python secrets.randbelow. https://docs.python.org/3/library/secrets.html#secrets.randbelow.
- Number Theory and Cryptography. Levin M, Kulikov A. University of California San Diego, https://www.coursera.org/learn/number-theory-cryptography.
- PyCryptodome bytes_to_long. https://www.pycryptodome.org/src/util/util#Crypto.Util.number.bytes_to_long.
- SymPy crt. https://docs.sympy.org/latest/modules/ntheory.html#sympy.ntheory.modular.crt.
- SymPy integer_nthroot. https://docs.sympy.org/latest/modules/core.html#sympy.core.power.integer_nthroot.
- "Bleichenbacher's RSA signature forgery based on implementation error". Finney, H. https://mailarchive.ietf.org/arch/msg/openpgp/5rnE9ZRN1AokBVj3VqblGlP63QE/.
- "Bleichenbacher ’06 RSA Signature Forgery: What they assume you know". Hemsley, L. https://landonhemsley.com/bleichenbacher-06-rsa-signature-forgery-what-they-assume-you-know/.
- "Serious Crytography: A Practical Introduction to Modern Encryption". Aumasson, JP. No Starch Press, 2018.
- PyCryptodome RSA key type. https://www.pycryptodome.org/src/public_key/rsa.
- PyCryptodome PKCS#1 v1.5 (RSA) signatures. https://www.pycryptodome.org/src/signature/pkcs1_v1_5.
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|