This repository contains Java implementations of classic encryption techniques, starting with the Caesar Cipher and MonoAlphabetic 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.
- 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.
- 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.
- 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".
I plan to extend this repository with more encryption and decryption techniques, as well as other interesting algorithms in Java.
- Clone the repository:
git clone https://github.com/yourusername/encryption-techniques.git
- Navigate to the project directory:
cd encryption-techniques
- Compile the Java file:
javac caeserCipher.java monoAlpha.java
- Run the program:
java caeserCipher
java monoAlpha
Contributions are welcome! If you have ideas for improvements or additional features, feel free to open an issue or submit a pull request.
This project is open-source and available under the MIT License.
Stay tuned for more updates!