
Hacking Secret Ciphers with Python
Al Sweigart
- Editorial
- Al Sweigart
- Año
- 2013
- Páginas
- ~442
- Nivel
- Básico
De qué trata
Hacking Secret Ciphers with Python es una obra didáctica y accesible de Al Sweigart que enseña a programar en Python 3 desde cero utilizando el cifrado y el descifrado de mensajes como vehículo de aprendizaje. El libro está diseñado para principiantes absolutos en programación, entusiastas de la seguridad informática y mentes curiosas de todas las edades que no cuentan con experiencia previa en desarrollo de software ni en matemáticas universitarias.
El texto explica la sintaxis básica de Python 3 (variables, bucles while y for, funciones, manipulación de cadenas de texto y listas) mientras implementa y analiza los cifrados históricos y modernos más representativos. Cubre el cifrado César, el cifrado de transposición por columnas, el cifrado afín, el cifrado de sustitución simple y el cifrado Vigenère. Para cada uno de ellos, el autor no solo enseña a programar el algoritmo de cifrado y descifrado, sino también el script de hackeo o criptoanálisis correspondiente, recurriendo a ataques de fuerza bruta (brute-force), análisis de frecuencias de letras en inglés y detección automática de palabras válidas mediante un módulo auxiliar con diccionario. Hacia la segunda mitad, introduce la aritmética modular, el algoritmo de Euclides, los tests de primalidad con Miller-Rabin y la criptografía asimétrica de clave pública mediante la implementación del algoritmo RSA.
Cada capítulo propone construir programas funcionales independientes acompañados de ejercicios prácticos y scripts de prueba automatizados para validar que los textos descifrados coincidan con el mensaje original. El gran aporte del libro es su enfoque lúdico y formativo: desmitifica la criptografía haciendo que el lector entienda las matemáticas subyacentes al escribir cada línea de código por sí mismo. No pretende enseñar criptografía de grado militar ni librerías de producción listas para la web (como TLS o AES en OpenSSL), ya que su objetivo es pedagógico: construir y desarmar algoritmos para comprender su lógica interna.
- Python 3
- Criptografía clásica
- Criptoanálisis
- Cifrado César
- Cifrado de transposición
- Cifrado Vigenère
- Ataques de fuerza bruta
- Análisis de frecuencia
- Aritmética modular
- Test de Miller-Rabin
- Criptografía asimétrica
- RSA
¿Cómo enseña?
Con proyectos
- ✓ Incluye ejercicios
- ✓ Incluye proyectos
Proyectos
Cifrador y descifrador por transposición
Script en Python que reorganiza caracteres en una cuadrícula de columnas para cifrar y descifrar textos, incluyendo una suite de pruebas automatizadas que valida matemáticamente el descifrado exacto.
Módulo de detección programática de inglés
Herramienta que analiza cadenas de texto descifradas y calcula el porcentaje de coincidencias léxicas frente a un diccionario para reconocer automáticamente mensajes legibles.
Descifrador por fuerza bruta y análisis de frecuencias
Conjunto de programas para romper cifrados César, afines, por sustitución y Vigenère evaluando combinaciones exhaustivas y desviaciones estadísticas en la frecuencia de letras.
Generador de claves y cifrador RSA
Aplicación de criptografía asimétrica que genera números primos masivos mediante el test de Miller-Rabin, crea pares de claves pública/privada y cifra archivos completos en bloques.

