Skip to content

This repository contains Java code focused on implementing various algorithms and functionalities. The initial code demonstrates a method for encrypting and decrypting data, allowing for secure information handling. Future updates will include additional features and enhancements to broaden the scope of this project. Stay tuned for more updates.

Notifications You must be signed in to change notification settings

riti2601/CIPHERS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java Encryption Techniques

This repository contains Java implementations of classic encryption techniques, starting with the Caesar Cipher and MonoAlphabetic Cipher.

Current Implementations

Caesar Cipher

  • Encryption: The program takes input data and shifts each character by a user-defined number to encrypt the data.
  • Decryption: It also allows you to decrypt data by reversing the shift, returning the original message.

MonoAlphabetic Cipher

  • Encryption: The program encrypts the input data by substituting each character with a corresponding character in a predefined key.
  • Decryption: It decrypts the data by mapping the encrypted characters back to their original characters using the key.

Diffie-Hellman Key Exchange

  • Key Generation: The program allows two parties to generate a shared secret key by exchanging public keys derived from their secret numbers and a common base and modulus (prime numbers).
  • Security: The protocol ensures that the shared key is secure, even if the public keys are transmitted over an insecure channel.

Rail Fence Cipher

  • Encryption: The program encrypts the input data by rearranging the characters into two groups: even-indexed and odd-indexed characters. The even-indexed characters are placed first, followed by the odd-indexed characters, creating the cipher text.
  • Simple Example: For example, the string "HELLO WORLD" would be split into "HLOWRD" (even-indexed) and "EL OL" (odd-indexed), resulting in the encrypted message "HLOWRDEL OL".

Future Plans

I plan to extend this repository with more encryption and decryption techniques, as well as other interesting algorithms in Java.

How to Run

  1. Clone the repository:
    git clone https://github.com/yourusername/encryption-techniques.git
  2. Navigate to the project directory:
    cd encryption-techniques
  3. Compile the Java file:
    javac caeserCipher.java monoAlpha.java
  4. Run the program:
    java caeserCipher
    java monoAlpha

Contributions

Contributions are welcome! If you have ideas for improvements or additional features, feel free to open an issue or submit a pull request.

License

This project is open-source and available under the MIT License.

Stay tuned for more updates!

About

This repository contains Java code focused on implementing various algorithms and functionalities. The initial code demonstrates a method for encrypting and decrypting data, allowing for secure information handling. Future updates will include additional features and enhancements to broaden the scope of this project. Stay tuned for more updates.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages