Este laboratorio incluye implementaciones de algoritmos clásicos, modernos y post-cuánticos en Python mediante notebooks interactivos (.ipynb).
Cada notebook contiene explicaciones teóricas, ejemplos prácticos y código funcional, con el objetivo de comprender en profundidad los fundamentos y aplicaciones de la criptografía.
Análisis de frecuencias.ipynb: Análisis estadístico de frecuencias en textos cifrados, útil para criptoanálisis clásico.Cuadrados latinos.ipynb: Construcción y propiedades combinatorias relevantes en criptografía.
Cifrado Cesar.ipynbCifrado Afin.ipynbCifrado de Vigenere.ipynbCifrado Playfair.ipynbCifrado Homófono.ipynbCifrado por transposición columnar.ipynbCifrado de Fish.ipynbOne time pad.ipynb
Cada uno de estos notebooks explora los métodos históricos de cifrado, sus fortalezas, debilidades y posibles ataques.
RSA.ipynbEl Gamal.ipynbCurvas elípticas.ipynbIntercambio de Clave Diffie–Hellman.ipynbFirma Digital RSA.ipynbFirma y Verificación con ECDSA.ipynbChat Seguro con ECC + AES.ipynbRegistro de desplazamiento con realimentación.ipynbCifrado de mochila Merkle–Hellman.ipynb
Implementaciones modernas ampliamente utilizadas en sistemas reales de comunicación segura y firma digital.
Firma digital post-cuántica basada en lattices.ipynbIsomorfismo de grafos_pynb.ipynbPruebas_de_Cero_Conocimiento.ipynbValidación de firmas.ipynb
Exploración de técnicas emergentes y resistentes a computadoras cuánticas, incluyendo propuestas avanzadas de verificación sin revelar secretos.
- Reforzar conocimientos teóricos en criptografía clásica, moderna y post-cuántica.
- Implementar algoritmos criptográficos desde cero en Python.
- Desarrollar habilidades de análisis criptográfico y seguridad computacional.
- Python 3.x
- Jupyter Notebooks
- Bibliotecas:
numpy,sympy,matplotlib,Crypto, entre otras.