This is educational project for Cryptography theory
- Algorithm Support: The application supports multiple cryptography algorithms, including symmetric and asymmetric encryption algorithms, hash functions, and digital signatures.
- User-Friendly Interface: The application provides an intuitive and user-friendly interface for easy interaction and operation.
- Encryption and Decryption: Users can encrypt their sensitive data using different algorithms and decrypt it back to its original form when needed.
- Caesar : A substitution cipher where each letter in the plaintext is shifted a certain number of places down or up the alphabet.
- Columnar Transposition: A transposition cipher where the plaintext is rearranged according to a matrix of a fixed column width.
- Hill: A polygraphic substitution cipher based on linear algebra, using matrices to encrypt and decrypt plaintext.
- Monoalphabetic: A substitution cipher where each letter in the plaintext is consistently replaced by another letter from a fixed mapping.
- Playfair: A digraph substitution cipher that encrypts pairs of letters together based on a 5x5 grid of letters generated from a keyword.
- Rail Fence: A transposition cipher where the plaintext is written diagonally in zigzag fashion across a number of "rails" and then read off row by row.
- Vernam (One-Time Pad): An encryption method that uses a random key as long as the message itself, XORing each plaintext character with a corresponding key character.
- Vigenère: A polyalphabetic substitution cipher where each letter in the plaintext is shifted using a keyword, with each letter of the keyword determining the shift for the corresponding letter in the plaintext.
- Clone the repository:
git clone https://github.com/JoeGitHubPro/Cryptography.git- Install the required dependencies.
- Build and run the application using your preferred development environment or IDE.
Contributions are welcome! If you'd like to contribute to this project, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them.
- Push your changes to your forked repository.
- Submit a pull request detailing your changes.
This project is licensed under the MIT
If you have any questions or suggestions, feel free to reach out to the project owner:
- GitHub: JoeGitHubPro
WinForm, C#, DS&A
