This Python program implements a simplified encryption algorithm inspired by the Data Encryption Standard (DES). It allows users to encrypt a message with a provided key. Below, we provide an overview of the key components and functionality of the program:
- The program prompts the user to input a message and a key.
- Both the message and key are converted to uppercase for consistency.
- Functions are defined for converting hexadecimal characters to binary and vice versa.
- Conversion functions are used to manipulate and process the message and key.
- The provided key undergoes various permutations and transformations to generate round keys.
- Round keys are used in the encryption process.
- The message is divided into left and right halves.
- A series of encryption rounds are performed (16 rounds in total).
- Each round involves various permutations, substitutions, and bitwise operations.
- The result is an encrypted ciphertext.
- It uses the generated round keys in reverse order to decrypt the ciphertext back to the original message.
python DES.py