Skip to content

Utilizes diverse encryption methods, merging ciphers and algorithms for robust data protection and insight into encryption processes using React and Django.

Notifications You must be signed in to change notification settings

Jrap-bit/CipherGuard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cryptography Algorithms

This project is a simulation of various cryptography algorithms I learned in the 6th Semester of B.Tech. To learn the application of the algorithms I created a front-end application based on ReactJs and programmed all the algorithms in Javascript. Later I added a Backend server written in Django to work around the limitations of large numbers that are not supported by Javascript but are supported by Python.

List of Implemented Algorithms

Caesar Cipher

Hill Cipher

Vernam Cipher

Vigenere Cipher

Playfair Cipher

RSA

AES

DES

Diffie-Hellman Key Exchange

ElGamal

Rail Fence Cipher

Algorithms Description

Caesar Cipher

Caesar Cipher is a simple substitution cipher where each letter of the plaintext is replaced by a letter that is a fixed number of positions down the alphabet.

Hill Cipher

Hill Cipher is a polygraphic substitution cipher that encrypts blocks of plaintext letters. The algorithm uses matrix multiplication to encrypt and decrypt the message.

Vernam Cipher

Vernam Cipher is a stream cipher that uses a key that is as long as the message. The key is combined with the plaintext using the XOR operation to produce the ciphertext.

Vigenere Cipher

Vigenere Cipher is a polyalphabetic substitution cipher where the plaintext is combined with a keyword. The keyword is repeated until it matches the length of the plaintext. The algorithm uses a Vigenere table to encrypt and decrypt the message.

Playfair Cipher

Playfair Cipher is a polygraphic substitution cipher that encrypts pairs of plaintext letters. The algorithm uses a 5x5 matrix containing a keyword to encrypt and decrypt the message.

RSA

RSA is a public key cryptosystem that uses two keys: a public key and a private key. The public key is used for encryption and the private key is used for decryption.

AES

AES is a symmetric block cipher that encrypts and decrypts data in blocks of 128 bits. The algorithm uses a key that can be 128, 192, or 256 bits long.

DES

DES is a symmetric block cipher that encrypts and decrypts data in blocks of 64 bits. The algorithm uses a key that is 56 bits long.

Diffie-Hellman Key Exchange

Diffie-Hellman Key Exchange is a method for securely exchanging cryptographic keys over a public channel. The algorithm allows two parties to agree on a shared secret without exchanging the secret key.

ElGamal

ElGamal is a public key cryptosystem that uses two keys: a public key and a private key. The public key is used for encryption and the private key is used for decryption.

Rail Fence Cipher

Rail Fence Cipher is a transposition cipher that encrypts plaintext by writing it in a zig-zag pattern on a set number of rows. The ciphertext is obtained by reading the letters off in a diagonal pattern.

Installation and Usage

  1. Clone the repository
  2. Install dependencies by running npm install
  3. Run the project using npm start
  4. The app will open in your browser at http://localhost:3000
  5. Select the algorithm you want to use from the dropdown menu
  6. Enter the plaintext and the key (if required)
  7. Click on the encrypt or decrypt button to see the result.

Contributions

Contributions are welcome. If you want to contribute to the project, please follow these steps:

  1. Fork the repository
  2. Create a new branch with your changes
  3. Push your changes to your branch
  4. Create a pull request

About

Utilizes diverse encryption methods, merging ciphers and algorithms for robust data protection and insight into encryption processes using React and Django.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published