An open API service indexing awesome lists of open source software.

https://github.com/joegithubpro/cryptography

Cryptography algorithms - Desktop application
https://github.com/joegithubpro/cryptography

Last synced: about 1 month ago
JSON representation

Cryptography algorithms - Desktop application

Awesome Lists containing this project

README

          


project-image

Cryptography Algorithms Desktop Application


This is educational project for Cryptography theory


Features




  • 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.

Implemented Algorithms



  • 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.

Installation



  1. Clone the repository:


git clone https://github.com/JoeGitHubPro/Cryptography.git


  1. Install the required dependencies.

  2. Build and run the application using your preferred development environment or IDE.

Usage



project-image

Contributing


Contributions are welcome! If you'd like to contribute to this project, please follow these steps:



  1. Fork the repository.

  2. Create a new branch for your feature or bug fix.

  3. Make your changes and commit them.

  4. Push your changes to your forked repository.

  5. Submit a pull request detailing your changes.

License


This project is licensed under the MIT

Contact


If you have any questions or suggestions, feel free to reach out to the project owner:


Acknowledgments


WinForm, C#, DS&A