SDES is a simplified version of the Data Encryption Standard (DES) designed to illustrate the core concepts of block cipher algorithms. This implementation focuses on demonstrating the fundamental principles of encryption and decryption using SDES, making it an excellent resource for educational purposes.
- Encryption and Decryption: Implements the basic encryption and decryption functionalities of the SDES algorithm.
- Key Generation: Supports key generation using a 10-bit key.
- Permutations and Substitutions: Includes detailed permutations and substitutions operations to show how SDES transforms data.
To use this project, follow these steps:
- Clone the Repository:
- Build the Project:
- Run the Example:
git clone https://github.com/jayypatel18/SDES.git
cd SDES
Follow the instructions specific to your development environment. For example, you may need to use make
or another build tool if applicable.
After building the project, you can run the example to see SDES in action. Make sure to provide the necessary input parameters (like the key and plaintext) as specified in the documentation.
Here's a brief overview of how to use the SDES implementation:
from sdes import SDES
# Initialize SDES with a 10-bit key
key = "1010000010"
sdes = SDES(key)
# Encrypt plaintext
plaintext = "11001100"
ciphertext = sdes.encrypt(plaintext)
print(f"Ciphertext: {ciphertext}")
# Decrypt ciphertext
decrypted_text = sdes.decrypt(ciphertext)
print(f"Decrypted Text: {decrypted_text}")
Contributions are welcome! If you have suggestions or improvements, please open an issue or submit a pull request.
- Fork the Repository
- Create a Feature Branch
- Commit Your Changes
- Push to the Branch
- Open a Pull Request
This project is licensed under the MIT License. See the LICENSE file for details.
- SDES Algorithm - Reference for the SDES algorithm.
For any questions or support, please contact jayypatel18.