PRÓLOGO CAPÍTULO 1. UNA PEQUEÑA INTRODUCCIÓN 1.1. ESTEGANOGRAFÍA Y CRIPTOGAFÍA 1.2.MÉTODOS CRIPTOGRÁFICOS 1.3.RESUMEN 1.4. EVALUACIÓN 1.5. EJERCICIOS PROPUESTOS CAPÍTULO 2. UN PASEO POR LA HISTORIA 2.1 LA CRIPTOGRAFÍA EN SUS PRIMEROS 3000 AÑOS 2.1.1 El criptoanálisis en la Edad Media 2.2 EL RENACIMIENTO DE OCCIDENTE 2.2.1 La cifra Bellaso 2.2.2 La cifra Vigenère 2.3 DE LAS CÁMARAS NEGRAS AL TELÉGRAFO 2.4 UN ENEMIGO AÚN MÁS PODEROSO: LA RADIO 2.4.1 Cifrado Playfair 2.4.2. La Cifra ADFGVX 2.5. LA LIBRETA DE UN SOLO USO 2.6. LA MÁQUINA ENIGMA 2.6.1. Cifrado y descifrado de mensajes con Enigma 2.7. LA ERA DE LOS ORDENADORES 2.8. RESUMEN 2.9. EVALUACIÓN 2.10. EJERCICIOS PROPUESTOS CAPÍTULO 3. LA INSTALACIÓN DE PYTHON 3.1. DESCARGA E INSTALACIÓN DE PYTHON 3.1.1. Instalación en Windows 3.1.2. Instalación en Mac OS X 3.1.3. Instalación en Linux 3.2. DESCARGA DEL MÓDULO PYPERCLIP.PY 3.3. LA EJECUCIÓN DEL ENTORNO INTERACTIVO 3.3.1. Reglas de estilo 3.4. SPYDER 3.5. RESUMEN CAPÍTULO 4. LOS ELEMENTOS DEL LENGUAJE 4.1. PYTHON COMO CALCULADORA 4.1.1. Prioridad en las operaciones 4.2. VARIABLES 4.3. CADENAS Y LISTAS 4.3.1. Concatenación de cadenas 4.3.2. Replicación con el operador 4.3.3. Caracteres de escape 4.3.4. Indexación y fraccionamiento 4.3.5. Las listas 4.4. LOS COMENTARIOS 4.5. EL PRIMER PROGRAMA 4.6. RESUMEN 4.7. EVALUACIÓN 4.8. EJERCICIOS PROPUESTOS CAPÍTULO 5. ATBASH Y LA CIFRA CÉSAR 5.1. LA CIFRA ATBASH 5.1.1. El código fuente 5.1.2. Cómo funciona el programa 5.2. LA CIFRA CÉSAR 5.2.1. El código fuente 5.2.2. Cómo funciona el programa 5.2.3. Cómo cifrar caracteres no alfabéticos 5.3. RESUMEN 5.4. EVALUACIÓN 5.5. EJERCICIOS PROPUESTOS CAPÍTULO 6. ATAQUE DE FUERZA BRUTA A LA CIFRA CÉSAR 6.1. IMPLEMENTACIÓN DEL ATAQUE 6.1.1. El código fuente 6.1.2. Cómo funciona el programa 6.2. RESUMEN 6.3. EVALUACIÓN 6.4. EJERCICIOS PROPUESTOS CAPÍTULO 7. CIFRADO POR TRANSPOSICIÓN 7.1. TRANSPOSICIÓN COLUMNAR SIMPLE 7.1.1. El código fuente 7.1.2. Cómo funciona el programa 7.1.3. Tamaño de clave y longitud del mensaje 7.2. RESUMEN 7.3. EVALUACIÓN 7.4. EJERCICIOS PROPUESTOS CAPÍTULO 8. DESCIFRANDO LA TRANSPOSICIÓN COLUMNAR 8.1. EL MECANISMO DE DESCIFRADO 8.2. EL CÓDIGO FUENTE 8.2.1. Cómo funciona el programa 8.3. RESUMEN 8.4. EVALUACIÓN 8.5. EJERCICIOS PROPUESTOS CAPÍTULO 9. ROMPIENDO LA TRANSPOSICIÓN COLUMNAR 9.1. CÓMO DETECTAR UN IDIOMA 9.2. MÓDULO EN PYTHON PARA DISTINGUIR EL ESPAÑOL 9.2.1. El código fuente 9.2.2. Cómo funciona 9.3. CÓDIGO FUENTE DEL PROGRAMA PRINCIPAL 9.3.1. Cómo funciona el programa 9.4. RESUMEN 9.5. EVALUACIÓN 9.6. EJERCICIOS PROPUESTOS CAPÍTULO 10. LA CIFRA AFÍN 10.1. LA CIFRA AFÍN 10.1.1. Visualiza el módulo con relojes 10.1.2. El operador módulo en Python 10.1.3. Operaciones en la cifra afín 10.1.4. Máximo común divisor. Algoritmo de Euclides 10.1.5. El proceso de descifrado 10.1.6. El algoritmo de Euclides extendido 10.2. EL CÓDIGO FUENTE DEL MÓDULO CRIPTOMAT 10.3. EL CÓDIGO FUENTE DE LA CIFRA AFÍN 10.3.1. Cómo funciona el programa 10.4. RESUMEN 10.5. EVALUACIÓN 10.6. EJERCICIOS PROPUESTOS CAPÍTULO 11. ATAQUE A LA CIFRA AFÍN 11.1. EL ESPACIO DE CLAVES EN LA CIFRA AFÍN 11.2. EL CÓDIGO FUENTE 11.2.1. Cómo funciona el programa 11.3. MANEJO DE EXCEPCIONES 11.4. RESUMEN 11.5. EVALUACIÓN 11.6. EJERCICIOS PROPUESTOS CAPÍTULO 12. LA CIFRA DE SUSTITUCIÓN SIMPLE 12.1. LA CIFRA DE SUSTITUCIÓN SIMPLE 12.2. EL CÓDIGO FUENTE 12.2.1. Cómo funciona el programa 12.2.2. El método de listas sort() 12.2.3. Funciones envolventes 12.2.4. Los métodos de cadena isupper() e islower() 12.2.5. Generar una clave pseudoaleatoria 12.3. CÓMO CIFRAR OTROS SÍMBOLOS 12.4. RESUMEN 12.5. EVALUACIÓN 12.6. EJERCICIOS PROPUESTOS CAPÍTULO 13. ATAQUE A LA CIFRA DE SUSTITUCIÓN SIMPLE 13.1. IMPLEMENTACIÓN DEL ATAQUE 13.1.1. El código fuente 13.1.2. Cómo funciona el programa 13.2. RESUMEN 13.3. EVALUACIÓN 13.4. EJERCICIOS PROPUESTOS CAPÍTULO 14. LA CIFRA BELLASO 14.1. GIOVAN BATTISTA BELLASO 14.2. LAS CIFRAS DE BELLASO 14.2.1. Sustitución polialfabética con clave 14.3. EL CÓDIGO FUENTE 14.3.1. Cómo funciona el programa 14.4. ESPACIO DE CLAVES Y ATAQUES A LA CIFRA 14.5. RESUMEN 14.6. EVALUACIÓN 14.7. EJERCICIOS PROPUESTOS CAPÍTULO 15. LA CIFRA VIGENÈRE 15.1. LA PRIMERA CIFRA DE VIGENÈRE 15.2. LA CIFRA DE AUTOCLAVE 15.3. LA CIFRA INDESCIFRABLE 15.4. EL CÓDIGO FUENTE DE LA CIFRA VIGENÈRE 15.4.1. Cómo funciona el programa 15.5. CÓDIGO FUENTE DE LA CIFRA DE AUTOCLAVE 15.5.1. Cómo funciona el programa 15.6. FORTALEZA DE LA CIFRA 15.7. RESUMEN 15.8. EVALUACIÓN 15.9. EJERCICIOS PROPUESTOS CAPÍTULO 16. ANÁLISIS ESTADÍSTICO 16.1. ANÁLISIS DE FRECUENCIAS 16.2. ÍNDICE DE FRECUENCIAS 16.3. ÍNDICE DE COINCIDENCIA 16.4. ENTROPÍA 16.5. EL CÓDIGO FUENTE DEL MÓDULO ANÁLISIS 16.5.1. Cómo funciona el programa 16.6. RESUMEN 16.7. EVALUACIÓN 16.8. EJERCICIOS PROPUESTOS CAPÍTULO 17. ROMPIENDO LA CIFRA VIGENÈRE 17.1. ATAQUE DE DICCIONARIO 17.1.1. El código fuente 17.1.2. Cómo funciona el programa 17.2. MÉTODO DE KASISKI 17.2.1. El código fuente 17.2.2. Cómo funciona 17.3. RESUMEN 17.4. EVALUACIÓN 17.5. EJERCICIOS PROPUESTOS CAPÍTULO 18. LA CIFRA PLAYFAIR 18.1. LA CIFRA PLAYFAIR 18.1.1. El algoritmo 18.2. EL PROGRAMA 18.2.1. Cómo funciona 18.3. RESUMEN 18.4. EVALUACIÓN 18.5. EJERCICIOS PROPUESTOS CAPÍTULO 19. LA MÁQUINA ENIGMA1 19.1. PROCEDIMIENTOS DE ENIGMA 19.2. EL PROGRAMA 19.3. CÓMO FUNCIONA EL PROGRAMA 19.3.1. El método isalpha() 19.4. RESUMEN 19.5. EVALUACIÓN 19.6. EJERCICIOS PROPUESTOS SOLUCIONARIO A LOS EJERCICIOS PROPUESTOS ANEXO A.1. DYNAMIC BOXES ENCRYPTION SYSTEM A.2. EL CÓDIGO FUENTE DE AZRAEL A.2.1. El módulo S_Box.py A.2.2. El módulo P_Box.py 6 A.3. EL RETO PREGUNTAS DEL CONCURSO BIBLIOGRAFÍA MATERIAL ADICIONAL ÍNDICE ALFABÉTICO
La criptografía se ha definido tradicionalmente como el arte o la ciencia que se ocupa de alterar los textos escritos con el fin de hacerlos ininteligibles a