Criptografía para Principiantes es una introducción de 10 laboratorios a la aplicación de componentes criptográficos comunes desde una terminal Linux. Con OpenSSL y pequeños ejemplos de la biblioteca estándar de Python, generarás claves, cifrarás y descifrarás archivos, calcularás hashes y HMAC, firmarás datos, derivarás secretos compartidos e inspeccionarás certificados.
Los laboratorios se centran en flujos observables y no en demostraciones matemáticas: crear un artefacto, examinarlo, comprobar la propiedad esperada y observar qué sucede cuando cambian los datos o la confianza. Los últimos ejercicios conectan las primitivas mediante una pequeña autoridad certificadora y un esquema híbrido de RSA y AES.
Lo que aprenderás
Después de completar este curso, podrás:
- Instalar y verificar OpenSSL, Python, pip y el paquete
cryptographyde Python en Ubuntu - Generar material de clave aleatorio y usar AES-256-CBC con OpenSSL para cifrar, descifrar y comparar archivos
- Calcular resúmenes SHA-256 y valores HMAC-SHA256, explicar sus propósitos distintos e implementar ejemplos básicos con Python
- Generar pares de claves RSA, cifrar con la clave pública, descifrar con la privada y crear y verificar firmas RSA
- Generar parámetros y pares de claves Diffie–Hellman para dos partes y confirmar que ambas obtienen el mismo secreto compartido
- Crear certificados X.509 autofirmados y CSR, operar una pequeña CA de laboratorio, verificar una cadena de confianza y simular revocación mediante una CRL
- Combinar el transporte de claves RSA con el cifrado de datos AES para completar y revertir un flujo de cifrado híbrido
A quién va dirigido este curso
Este curso está dirigido a principiantes en ciberseguridad, desarrolladores, administradores de sistemas y estudiantes de TI que desean practicar con archivos y comandos criptográficos antes de profundizar en protocolos o diseño seguro de aplicaciones.
Requisitos previos: No se necesita matemática avanzada. Se recomiendan conocimientos básicos de terminal Linux y manejo de archivos, además de suficiente Python para leer dos ejemplos breves con hashlib y hmac.
Entorno de aprendizaje: Los 10 laboratorios guiados se ejecutan en un espacio de terminal Ubuntu 22.04. Instalarás o verificarás herramientas, crearás claves y certificados en el proyecto y usarás mensajes de prueba y una CA simulada; no se ataca ningún sistema externo.
Preguntas frecuentes
¿Necesito una base matemática sólida?
No. Los laboratorios explican a nivel práctico la finalidad del cifrado simétrico, las operaciones de clave pública, el hashing, los códigos de autenticación, las firmas, el intercambio de claves y los certificados. No derivan la teoría de números subyacente ni forman un currículo académico de criptografía.
¿Cuánta programación incluye?
La mayor parte del trabajo usa comandos OpenSSL. Python aparece en ejemplos pequeños de SHA-256 y HMAC con los módulos estándar hashlib y hmac. El paquete cryptography se instala y se comprueba durante la configuración, pero no se crea con él una aplicación criptográfica en Python.
¿Enseña criptoanálisis o cómo romper cifrados?
No. Probarás fallos de integridad, manipulación de firmas, comportamiento de cadenas de confianza y revocación, pero no romperás cifrados, atacarás claves, recuperarás contraseñas ni analizarás canales laterales.
¿Puedo copiar estos ejemplos directamente a producción?
No. Son demostraciones compactas con archivos de claves locales, certificados autofirmados, una CA simulada y flujos simplificados. En particular, el ejemplo de contraseña con SHA-256 directo no es un diseño seguro de almacenamiento; los sistemas reales deben usar Argon2, scrypt, bcrypt o PBKDF2 bien configurado, además de bibliotecas revisadas, gestión de claves, cifrado autenticado y recomendaciones vigentes.





