Programs Built in the Cryptography with Python
This repository includes the programs and scripts built in the Cryptography with Python eBook
More Python programs will be added to this repository as the book will be constantly improved and enriched.
Each chapter folder contain the tools discussed, containing separate README.md and requirements.txt files. It is required to install the necessary libraries for that tool before running:
$ pip install -r requirements.txt
Here's the list:
symmetric_cryptography.py: A script that uses thecryptographylibrary to perform asymmetric encryption (AES) on text with Python.
rsa_from_scratch.py: Implements the RSA algorithm from scratch.asymmetric_cryptography.py: Implements RSA with thecryptographylibrary.elliptic_curve.py: Implements Elliptic Curve with thecryptographylibrary.
simple_hashing.py: Performing simple hashing algorithms usinghashlib.benchmark_speed.py: Calculating the time it takes for each hashing algorithm to complete, with the help of thetimeitmodule.crack_hashes.py: Performing brute-force on a specified hash algorithm.
generate_and_verify_signatures.py: Generates and verifies digital signatures with the help of thecryptographylibrary.
caesar_cipher.py: Encrypts a plaintext with the Caesar cipher.crack_caesar_cipher.py: Cracks the Caesar cipher.affine_cipher.py: Encrypts a plaintext with the Affine cipher.affine_cipher_decrypt.py: Cracks the Affine cipher.pdf_locker.py: Protects a PDF document with a password.pdf_cracker_pymupdf.py: Performs brute-force trying to crack a password-protected PDF file.zip_file_locker.py: Compresses a set of files into a ZIP file with a password.adding_password_to_zip.py: Protects an already existing ZIP file with a password.zip_file_cracker.py: Uses thezipfilestandard library to perform brute-force on the ZIP file trying to crack the ZIP file password.password_manager.py: A CLI-based password manager that allows you to store your passwords for different websites.file_encryption_utility.py: Encrypting files with AES using thecryptographylibrary.file_validator.py: Validates the checksum of a downloaded file from the Internet.ransomware.py: A program that encrypts entire folders with a key derived from a password.- Implementing 2FA: Implementing Two-Factor Authentication with Python.