Documentos de Académico
Documentos de Profesional
Documentos de Cultura
(CUCEI)
Clase DES
MIEMBROS PRIVADOS
1. bitset<48> subKeys[16]:
Este arreglo almacena las 16 subclaves generadas durante el proceso de
cifrado/descifrado. Cada subclave es de 48 bits y se utiliza en las rondas del algoritmo
DES.
MÉTODOS PRIVADOS
Métodos Públicos
5. DES()
Descripción: Constructor de la clase DES.
6. encrypt(const bitset<64>& plain, const bitset<64>& key) -> bitset<64>
Descripción: Realiza el cifrado DES.
Entrada: Recibe el bloque de texto plano y la clave, ambos representados como
bitsets de 64 bits.
Proceso: Aplica la permutación inicial, realiza 16 rondas de Feistel, y finalmente
aplica la permutación inversa.
Salida: Devuelve el bloque de texto cifrado.
7. decrypt(const bitset<64>& plain, const bitset<64>& key) -> bitset<64>
Descripción: Realiza el descifrado DES.
Entrada: Recibe el bloque de texto cifrado y la clave, ambos representados como
bitsets de 64 bits.
Proceso: Similar al cifrado, pero utiliza las subclaves en orden inverso.
Salida: Devuelve el bloque de texto descifrado.
8. ~DES()
Descripción: Destructor de la clase DES.
Comentarios sobre el funcionamiento de los métodos para la encriptación DES
Generación de Claves:
El programa genera una clave de 64 bits a partir de una cadena y la utiliza para
encriptar y desencriptar. Ten en cuenta que la clave utilizada en DES debería tener 56
bits, con los 8 bits restantes utilizados para paridad.
Menú e Interacción con el Usuario:
El programa tiene un menú fácil de usar que permite a los usuarios elegir entre diferentes
opciones, como encriptar/desencriptar texto o archivos. La entrada del usuario se maneja
bien.
Encriptación/Desencriptación de Archivos:
Aunque el programa toma una clave como entrada, en un escenario del mundo real,
puede ser útil considerar métodos más seguros para el intercambio y la gestión de
claves.
RESUMEN Y CONCLUSIONES:
En conclusión, este proyecto ha logrado implementar con éxito el algoritmo DES,
ofreciendo a los usuarios una herramienta versátil para proteger la confidencialidad de sus
datos. La combinación de una interfaz de usuario amigable con funcionalidades robustas
para el manejo de archivos demuestra el compromiso con la usabilidad y eficacia del
programa.
No obstante, se reconocen áreas de mejora, como la consideración de estándares de
seguridad más actuales y la implementación de prácticas de manejo de claves más
avanzadas. La seguridad de la información es una preocupación constante, y futuras
iteraciones del proyecto podrían centrarse en la integración de algoritmos más modernos
y seguros.
En resumen, este proyecto representa un paso significativo hacia la comprensión y
aplicación de algoritmos de encriptación clásicos, y sienta las bases para futuras mejoras
y expansiones. La implementación exitosa del DES en este programa destaca el potencial
para desarrollar soluciones prácticas y seguras para la protección de datos en entornos
diversos.