- The program should display a list of options for encryption techniques, including:
- Substitution cipher
- Shift Cipher
- Permutation Cipher
- Transposition ciphers
- Simple Transposition
- Double Transposition
- Vigenere Cipher
- Different encryption algorithms (AES-128, DES, 3DES)
- Different encryption modes (ECB, CBC)
- Substitution cipher
- Based on the user’s selection, prompt the user to enter a message (plaintext) to be encrypted.
- The size of the message should be greater than the maximum size of the block used by the chosen encryption algorithm.
- After entering the message, allow the user to choose whether to enter encryption key or use a default key.
- Perform the encryption using the selected technique and encryption key.
- Display the encrypted message (ciphertext).
- Provide an option for decryption, where the user can input the ciphertext and select the appropriate decryption technique based on the encryption method used.
- If decryption is selected, prompt the user to enter the decryption key or use the same key as encryption by default.
- Perform decryption using the selected technique and decryption key.
- Display the decrypted message (plaintext).