Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/diegogtz03/des-encryption
DES python encryption example
https://github.com/diegogtz03/des-encryption
Last synced: 12 days ago
JSON representation
DES python encryption example
- Host: GitHub
- URL: https://github.com/diegogtz03/des-encryption
- Owner: Diegogtz03
- Created: 2023-11-01T05:42:13.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-06T19:47:22.000Z (about 1 year ago)
- Last Synced: 2024-11-14T14:43:32.358Z (2 months ago)
- Language: Python
- Size: 15.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# DES-encryption
DES python encryption example- Para correr el código simplemente se necesita ejecutar el siguiente comando: `python3 encrypt.py`
- El programa solicita el texto a encriptar, solo es necesario introducir el texto y presionar `Enter`**Ejemplos**
------
1.
Texto a encriptar: texto123
*Encryption*Plain Text : texto123
After initial permutation 1FED1BB200FF14D0
Cipher Text : 9305E71454223845
*Decryption*
Result: texto123
---
2.
*Encryption*Plain Text : Hola Mun
After initial permutation EF40E66A00DEA782
Plain Text : do!
After initial permutation 0300030600FF0202
Cipher Text : D912C6F724091DD3DF7A0C63CAE62377
*Decryption*
Result: Hola Mundo!
---
**Explicación**
------
1. La llave (string hexadecimal de 16 caracteres) es convertida a binario para después permutar de 64 a 56 bits
2. La llave posteriormente se divide 16 veces en mitades, se intercambian los bits, y permutan de 56 a 48 bits
3. En caso de encriptar un texto, el texto primero se divide en bloques de 64 bits, es decir, de 8 caracteres, si no completa, se rellena con espacios
4. Cada bloque se traduce a Hexadecimal y se pasa a encriptar junto con la llave previamente procesada
5. En el proceso de encriptación, perimero se permuta el texto a 64 bits
6. Se divide el texto en mitades iguales
7. En un proceso de repetición de 16 veces, la mitad derecha permuta de 32 a 48 bits
8. Se aplica un proceso de XOR junto con la llave previamente procesada
9. Se realiza un proceso de S-Box sobre los datos previos
10. Permuta de nuevo a 32 bits y se hace un proceso de XOR con la mitad izquierda
11. El resultado combinado es el texto cifrado
12. En el caso de desecriptar, se aplica el mismo proceso solamente saltando la parte de la conversión a hexadecimal y utilizando el opuesto de la llava procesada