yashpatel-py / CS-458-01-InfoSec-Lab-2

Repository from Github https://github.comyashpatel-py/CS-458-01-InfoSec-Lab-2Repository from Github https://github.comyashpatel-py/CS-458-01-InfoSec-Lab-2

CS 458 Spring 2024 - Coding assignment II

  1. 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)
  2. Based on the user’s selection, prompt the user to enter a message (plaintext) to be encrypted.
  3. The size of the message should be greater than the maximum size of the block used by the chosen encryption algorithm.
  4. After entering the message, allow the user to choose whether to enter encryption key or use a default key.
  5. Perform the encryption using the selected technique and encryption key.
  6. Display the encrypted message (ciphertext).
  7. Provide an option for decryption, where the user can input the ciphertext and select the appropriate decryption technique based on the encryption method used.
  8. If decryption is selected, prompt the user to enter the decryption key or use the same key as encryption by default.
  9. Perform decryption using the selected technique and decryption key.
  10. Display the decrypted message (plaintext).

About


Languages

Language:Python 100.0%