Skip to content

JoeGitHubPro/Cryptography

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Cryptography algorithms - Desktop application

Resources

Stars

Watchers

Forks

Languages