Crypto API is a Python project that provides a collection of encryption and hashing algorithms. It offers functionalities to encrypt and decrypt messages using various ciphers and perform secure hash calculations. This documentation will guide you through the algorithms, libraries used, and instructions on how to set up and use the app.
The Crypto API includes the following algorithms:
- Caesar Cipher: A simple substitution cipher that shifts each letter in the plaintext by a fixed number of positions down the alphabet.
- Playfair Cipher: A manual symmetric encryption technique that uses a 5x5 square grid of letters and a set of rules to encrypt and decrypt messages.
- Vigenère Cipher: A polyalphabetic substitution cipher that uses a keyword to encrypt and decrypt text, combining elements of both substitution and polyalphabetic ciphers.
- AES (Advanced Encryption Standard): A symmetric encryption algorithm widely used for secure communication and data protection.
- RSA: A widely used public-key encryption algorithm based on the difficulty of factoring large integers.
- SHA (Secure Hash Algorithm): A family of cryptographic hash functions that generate a fixed-size hash value from input data.
The Crypto API utilizes the following libraries:
-
Flask
: A micro web framework used for building the API endpoints and handling HTTP requests. -
cryptography
: A popular Python library for various cryptographic operations, including AES, Blowfish, SHA, and RSA implementations.
To set up the Crypto API, follow the steps below:
- Clone the GitHub repository:
git clone https://github.com/ahmedmgelwan/crypto-api.git
Install the required dependencies using pip
:
pip install -r requirements.txt
Start the server:
python app.py
The API will be accessible at http://localhost:5000
.
Contributions to the Crypto API project are welcome! If you have suggestions, bug fixes, or additional features to contribute, please follow these steps:
- Fork the repository on GitHub.
- Make the desired changes in your local repository.
- Commit and push your changes to your forked repository.
- Submit a pull request with a clear description of your changes.
The Crypto API is released under the MIT License.
Designed with ❤️ by Ahmed Gelwan.