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 receptores no autorizados. El único objetivo de la criptografía es conseguir la confidencialidad de los mensajes.La historia de la criptografía es larga y abunda en anécdotas. El libro recorre los hitos criptográficos más importantes desde el Antiguo Egipto hasta la Segunda Guerra Mundial. Tras la conclusión de esta, el rápido desarrollo teórico y los avances en computación supusieron una amenaza para los sistemas clásicos de cifrado. A mediados de los años 70, se empezó a gestar lo que sería la última revolución de la criptografía: los sistemas asimétricos.Esta obra, sin embargo, no se centra ni en la historia, ni en la teoría de la criptografía, sino en cómo programar los ordenadores para imitar el funcionamiento de las cifras clásicas y cómo pueden romperse.Dirigida a principiantes que nunca han programado, te mostrará las técnicas básicas de programación a través de la criptografía mediante el uso de Python, un lenguaje interpretado ideal para programadores por su facilidad y potencia. Podrás participar en el reto de resolver un algoritmo de cifrado diseñado específicamente para los lectores de la obra y así conseguir 1 año de suscripción gratuita a toda la colección digital de Ra-Ma.
Criptografía sin secretos con Python
David Arboledas Brihuega
*Este valor puede ser aproximado y podrá variar al momento del pago.
2017 | eBook |
Descripción
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 receptores no autorizados. El único objetivo de la criptografía es conseguir la confidencialidad de los mensajes.La historia de la criptografía es larga y abunda en anécdotas. El libro recorre los hitos criptográficos más importantes desde el Antiguo Egipto hasta la Segunda Guerra Mundial. Tras la conclusión de esta, el rápido desarrollo teórico y los avances en computación supusieron una amenaza para los sistemas clásicos de cifrado. A mediados de los años 70, se empezó a gestar lo que sería la última revolución de la criptografía: los sistemas asimétricos.Esta obra, sin embargo, no se centra ni en la historia, ni en la teoría de la criptografía, sino en cómo programar los ordenadores para imitar el funcionamiento de las cifras clásicas y cómo pueden romperse.Dirigida a principiantes que nunca han programado, te mostrará las técnicas básicas de programación a través de la criptografía mediante el uso de Python, un lenguaje interpretado ideal para programadores por su facilidad y potencia. Podrás participar en el reto de resolver un algoritmo de cifrado diseñado específicamente para los lectores de la obra y así conseguir 1 año de suscripción gratuita a toda la colección digital de Ra-Ma.
Información adicional
Número de edición | |
---|---|
ano | |
Autor | |
Editorial | |
ID Digital Content | |
Formato | |
EISBN |
Tabla de contenido
PRÓLOGOCAPÍ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 ENIGMA
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 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
A.3 EL RETO
PREGUNTAS DEL CONCURSO
BIBLIOGRAFÍA
MATERIAL ADICIONAL
ÍNDICE ALFABÉTICO