Documentos de Académico
Documentos de Profesional
Documentos de Cultura
m
e
r
o
d
e
c
l
a
v
e
s
Nmero de personas
Pgina 18
Criptografa Conceptos Importantes (2)
Resolver el problema de distribucin de clave mediante criptografa asimtrica
Criptografa Asimtrica
Durante siglos se crea que: el emisor y el receptor necesitaban el mismo secreto.
Ahora: Cada miembro necesita un par de claves (solucin al problema de distribucin de claves)
Cifrado Asimtrico
Todo el mundo puede cerrar un candado o puede dejar caer una carta en un buzn.
MIT, 1977: Leonard Adleman, Ron Rivest, Adi Shamir (ms conocido como RSA)
GCHQ Cheltenham, 1973: James Ellis, Clifford Cocks (aceptado pblicamente en Diciembre de 1997)
Distribucin de claves
Stanford, 1976: Whitfield Diffie, Martin Hellman, Ralph Merkle (Intercambio de clave Diffie-Hellman)
GCHQ Cheltenham, 1975: Malcolm Williamson
La seguridad en redes abiertas (como Internet) sera extremadamente
cara y compleja sin una criptografa asimtrica!
CrypTool 1.4.30 Pgina 19
Cifrado y Descifrado
Cifrado Simtrico y asimtrico
CrypTool 1.4.30
Espacio de
Mensaje
Esapcio de Claves EK
E
M
D
K
E
Emisor
Receptor
Espacio de Claves DK
K
D
C=E(M, K
E
)
M=D(C, K
D
)
a) Cifrado Simtrico: K
E
= K
D
(p.ej. AES)
b) Cifrado Asimtrico: K
E
K
D
(p.ej. RSA)
pblico privado/secreto
secreto
Pgina 20
Criptografa Conceptos Importantes (3)
La creciente relevancia de las matemticas y las tecnologas de la informacin
La criptografa moderna se basa en las matemticas
- A pesar de los nuevos mtodos de cifrado simtrico como el AES (mejor
funcionamiento y una clave ms corta comparados con los mtodos asimtricos
basados puramente en problemas matemticos).
La seguridad de los mtodos de cifrado dependen fuertemente del estado en el
que se encuentran las matemticas y las tecnologas de la informacin (TI)
- Complejidad computacional (el principal esfuerzo de procesado est relacionado con
la longitud de la clave, demanda de dispositivos y complejidad de los datos)
-> ver RSA: Bernstein, dispositivo TWIRL, RSA-160, RSA-200
- Actividad muy alta en la investigacin actual en:
Factorizacin, algoritmos no paralelizables (a causa de los ordenadores cunticos),
mejor comprensin de la debilidad de los protocolos y los generadores aleatorios, ...).
Grave Error: Las matemticas reales no tienen efecto sobre la guerra.
(G.H. Hardy, 1940)
Los vendedores han descubierto la seguridad como un criterio esencial de
compra.
CrypTool 1.4.30 Pgina 21
Demostracin con CrypTool
- Anlisis Estadstico
- Cifrar dos veces no siempre es mejor:
Csar: C + D = G (3 + 4 = 7)
Vigenre: - CAT + DOG = FOZ [(2,0,19)+(3,14,6)=(5,14,25)]
No hay mejoras, sin embargo usando:
- GATO + PERRO = VEKFUPXFXOISXRHDKRKC)
Se produce una clave mucho ms fuerte.
- Vernam (OTP)
- AES ( clave de salida, anlisis por fuerza bruta)
CrypTool 1.4.30 Pgina 22
I. CrypTool y Criptologa Visin
General
II. Caractersticas de CrypTool
III. Ejemplos
IV. Proyecto / Perspectiva / Contacto
Apndice
Contenido
CrypTool 1.4.30 Pgina 23
Caractersticas de CrypTool
1. Qu es CrypTool?
Programa libre con interfaz grfica
Se pueden aplicar mtodos criptogrficos y analizarlos
Completa ayuda en lnea (comprensible sin un conocimiento profundo sobre criptografa)
Contiene casi todas las funciones criptogrficas actuales
Introduccin fcil tanto a la criptografa clsica como a la moderna
No es una herramienta de hackers
2. Por qu CrypTool?
Origen en una iniciativa de concienciacin de un instituto financiero
Desarrollado en una cercana cooperacin con universidades.
Mejora en la educacin universitaria y capacitacin empresarial
3. Pblico Objetivo
Grupo Principal: Estudiantes de informtica, negocio informtico y matemticas
Pero tambin para: usuarios de ordenador, desarrolladores de aplicaciones, empleados
Prerrequisitos: conocimiento sobre PC
Preferiblemente: Interesados en matemticas y/o programacin
eLearning
CrypTool 1.4.30 Pgina 24
Contenido del Paquete del Programa
Programa CrypTool
Todas las funciones integradas en un nico programa con una interfaz grfica consistente
Funciona sobre Win32
Libreras Criptogrficas de Secude y OpenSSL
Aritmtica de enteros grandes a travs de Miracl, APFLOAT y GMP/MPIR, Reduccin de base de retculos por
NTL (V. Shoup)
Herramienta AES
Programa independiente para cifrado AES (y creacin de archivos autoextrables)
Juego Educativo
Number Shark estimula la comprensin de los factores y los nmeros primos.
Completa Ayuda online (Ayuda HTML)
Ayuda sensible al contexto disponible con F1 para todas las funciones del programa (incluidos los mens)
Casos detallados de uso para muchas funciones del programa (tutorial)
Script (archivo .pdf) con informacin bsica
Mtodos de cifrado Factorizacin en Primos Firma Digital
Curvas Elpticas certificado de clave pblica Teora de Nmeros Bsica Crypto 2020
Dos historias cortas relacionadas con la criptografa de Dr. C. Elsner
The Dialogue of the Sisters (una variante de RSA como elemento clave)
The Chinese Labyrinth (Tareas de teora de nmeros para Marco Polo)
Herramienta para el aprendizaje de Teora de Nmeros
CrypTool 1.4.30 Pgina 25
Caractersticas (1)
Criptografa Clsica
Csar (y ROT-13)
Sustitucin Monoalfabtica (y Atbash)
Vigenre
Hill
Sustitucin Homofnica
Playfair
ADFGVX
Suma de Bytes
XOR
Vernam
Permutacin / Trasposicin (Rail Fence,
Esctala, )
Solitario
Varias opciones para entender
fcilmente los mtodos criptogrficos
Alfabeto seleccionable
Opciones: manejo de espacios, etc.
Ataque a mtodos clsicos
Slo texto cifrado
Csar
Vigenre (segn Friedman + Schroedel)
Suma
XOR
Sustitucin
Playfair
Texto Claro conocido
Hill
Transposicin de Columna Simple
Manual (soportado)
Sustitucin mono-alfabtica
Playfair, ADFGVX, Solitario
Mtodos de Anlisis soportados
Entropa, frecuencia real
Histograma, anlisis de n-grama
Autocorrelacin
Periodicidad
Anlisis de aleatoriedad
Base64 / UU-Encode
Criptografa Criptoanlisis
CrypTool 1.4.30 Pgina 26
Caractersticas (2)
Cifrado simtrico moderno
IDEA, RC2, RC4, RC6, DES, 3DES, DESX
Candidatos AES de la ltima ronda de seleccin
(Serpent, Twofish, )
AES (=Rijndael)
DESL, DESXL
Cifrado Asimtrico
RSA con certificados X.509
Demostracin RSA
Comprensin de ejemplos
Alfabeto y longitud de bloque
seleccionable
Cifrado Hbrido (RSA + AES)
Diagrama de flujo de datos interactivo
Ataque por fuerza bruta para
algoritmos simtricos
Para todos los algoritmos
Suposiciones:
La entropa de un texto claro es pequea o
la clave se conoce parcialmente o se
conoce el alfabeto del texto claro
Ataque al cifrado RSA
Factorizacin del mdulo RSA
Ataques de bases de Retculos
Ataque al cifrado hbrido
Ataque a RSA o
Ataque a AES (ataque del canal lateral)
Criptografa Criptoanlisis
CrypTool 1.4.30 Pgina 27
Caractersticas (3)
Firma Digital
RSA con certificados X.509
Firma como un diagrama de flujo de datos
DSA con certificados X.509
Curva Elptica DSA, Nyberg-Rueppel
Funciones Hash
MD2, MD4, MD5
SHA, SHA-1, SHA-2, RIPEMD-160
Generadores Aleatorios
Secude
x
2
mod n
Generador de congruencias Lineal (LCG)
Generador de congruencias Inverso (ICG)
Ataque a la firma RSA
Factorizacin del mdulo RSA
Factible hasta los 250 bits o 75 decimales
(en un PC estndar)
Ataque a las funciones hash / firma digital
Generar colisiones hash para un texto en
ASCII (paradoja del cumpleaos) (hasta
40 bit en unos 5 min)
Anlisis de datos aleatorios
Batera de pruebas FIPS-PUB-140-1
Periodicidad, Vitany, entropa
Frecuencia real, histograma
Anlisis de n-gramas, autocorrelacin
Test de compresin ZIP
Criptografa
Criptoanlisis
CrypTool 1.4.30 Pgina 28
Animaciones / Demostraciones
Csar, Vigenre, Nihilist, DES (todo con ANIMAL)
Enigma (Flash)
Rijdael/AES (Flash)
Cifrado y descifrado Hbrido (AES-RSA y AES-ECC)
Generacin y verificacin de firmas digitales
Intercambio de claves Diffie-Hellman
Secreto compartido (con CRT o Shamir)
Mtodo Desafo-Respuesta (autentificacin)
Ataque del canal lateral
E-mail seguro con protocolo S/MIME (con Java y Flash)
Presentacin grfica en 3D de chorros de datos (aleatorios)
Sensibilidad de funciones hash con respecto a cambios en el texto claro
Teora de Nmeros y criptosistema RSA (con Authorware)
Caractersticas (4)
CrypTool 1.4.30 Pgina 29
Caractersticas (5)
Funciones Adicionales
Diferentes funciones para RSA y nmeros primos
Cifrado Homofnico y por permutacin (Transposicin Doble Columna)
PKCS #12 importado y exportado para PSEs (Entorno Personal de Seguridad)
Generar archivos has de archivos grandes sin cargarlos
Ataques por fuerza bruta flexibles sobre cualquier algoritmo simtrico moderno.
Demostracin de ECC (como aplicacin Java)
Medidor de Calidad de Contraseas (PQM)
Mltiples opciones de texto para los cifrados clsicos (ver Ejemplo 24)
Y mucho ms
CrypTool 1.4.30 Pgina 30
Nmero de caracteres, n-grama, entropa
ver men Anlisis \ Herramientas para el Anlisis \ ...
Anlisis de la Estructura de un Idioma
Opciones de anlisis disponibles en CrypTool
CrypTool 1.4.30 Pgina 31
Demonstracin de Interactividad (1)
Anlisis Vigenre
El resultado del anlisis de Vigenre puede rehacerse manualmente (cambiando
la longitud de la clave):
1. Cifrar el ejemplo inicial con: TESTETE
Cifrar/Descifrar \ Simtrico (clsico) \ Vigenre
Introducir TESTETE Cifrar
Anlisis del resultado del cifrado:
Anlisis \ Cifrado Simtrico (clsico) \ Slo texto cifrado \ Vigenre
Longitud de clave deducida: 7, Clave deducida: TESTETE
2. Cifrar el ejemplo inicial con: TEST
Cifrar/Descifrar \ Simtrico (clsico) \ Vigenre
Introducir TEST Cifrar
Anlisis del resultado del cifrado:
Anlisis \ Cifrado Simtrico (clsico) \ Slo texto cifrado \ Vigenre
Longitud de clave deducida: 8 Falso
Longitud de clave seleccionada automticamente a 4 (puede ajustarse manualmente)
Clave deducida: TEST
Demostracin en
CrypTool
CrypTool 1.4.30 Pgina 32
Demonstracin de Interactividad (2)
Factorizacin automatizada
Factorizacin de un nmero compuesto con algoritmos de factorizacin
Algunos mtodos se ejecutan en paralelo (multihilo)
Los mtodos tienen ventajas e inconvenientes especficos (p.ej. Algunos mtodos
slo pueden determinar factores pequeos)
Ejemplo de Factorizacin 1:
316775895367314538931177095642205088158145887517
=
3 * 1129 * 6353 * 1159777 * 22383173213963 * 567102977853788110597
Ejemplo de Factorizacin 2:
2^250 - 1
=
3 * 11 * 31 * 251 * 601 * 1801 * 4051 * 229668251 * 269089806001 *
4710883168879506001 * 5519485418336288303251
Nmero decimal de 48-dgitos
Nmero decimal de 75-dgitos
CrypTool 1.4.30 Pgina 33
Demostracin en
CrypTool
Men: Procedimientos Indiv. \ Criptosistema RSA \ Factorizacin de un Nmero
Conceptos para una Interfaz de fcil manejo
1. Ayuda sensible al contexto (F1)
F1 sobre una entrada de men seleccionada nos muestra informacin sobre el
algoritmo/mtodo.
F1 en una ventana de dilogo explica la utilidad de la ventana.
Estas asistencias y los contenidos de los mens principales estn vinculados de forma
cruzada en la ayuda en lnea.
2. Pegar claves en una ventana de entrada de claves
Se puede utilizar CTRL-V para pegar contenidos desde el porta papeles.
Las claves utilizadas se pueden obtener de una ventana de texto cifrado por medio de
un icono de la barra de herramientas. Su correspondiente icono en la ventana de
entrada de clave se puede utilizar para pegar la clave en el campo de entrada. Se
utiliza un depsito de claves interno de CrypTool que est disponible para cada
mtodo (til para claves largas y/o especficas- p.ej. en el cifrado homofnico).
Icono
CrypTool 1.4.30 Pgina 34
Desafos para los Desarrolladores (Ejemplos)
1. Muchas funciones trabajan en paralelo
La factorizacin trabaja con algoritmos multihilo
2. Alto Rendimiento
Localizar colisiones hash (paradoja del cumpleaos) o ejecutar anlisis por fuerza bruta
3. Considera lmites de memoria
Algoritmo de Floyd (mapeados para localizar colisiones hash) o con una factorizacin
con criba cuadrtica
4. Medida del tiempo y estimaciones
Muestra el tiempo restante durante la fuerza bruta
5. Reusabilidad / Integracin
Aplicaciones para la generacin de nmeros primos
Criptosistema RSA (cambia la vista despus de un ataque exitoso de un usuario de clave
pblica al propietario de clave privada)
6. Automatizar parcialmente la consistencia de funciones, GUI y ayuda en lnea
(incluyendo varios idiomas y los SOs de Windows: XP, Vista y 7)
CrypTool 1.4.30 Pgina 35
I. CrypTool y Criptologa Visin
General
II. Caractersticas de CrypTool
III. Ejemplos
IV. Proyecto / Perspectiva / Contacto
Apndice
Contenido
CrypTool 1.4.30 Pgina 36
Ejemplos de CrypTool
Visin general de los ejemplos
1. Cifrado con RSA / Test de primalidad / Cifrado hbrido y certificados digitales / SSL
2. Visualizacin de firma digital
3. Ataque al cifrado RSA (mdulo N demasiado pequeo)
4. Anlisis del cifrado en la PSION 5
5. Claves DES dbiles
6. Localizando informacin de la clave (clave NSA)
7. Ataque a la firma digital por bsqueda de colisiones hash
8. Autentificacin en un entorno cliente-servidor
9. Demostracin de un ataque de canal lateral (en un protocolo de cifrado hbrido)
10. Ataque RSA utilizando reduccin de retculos (lattice reduction)
11. Anlisis de aleatoriedad con visualizacin 3-D
12. Secreto Compartido (Teorema Chino de los Restos (CRT) / Shamir)
13. Implementacin del CRT en Astronoma
14. Visualizacin del cifrado utilizando ANIMAL
15. Visualizacin del AES
16. Visualizacin del cifrado Enigma
17. Visualizacin de E-mail seguro con S/MIME
18. Generacin de un cdigo de autentificacin de un mensaje (HMAC)
19. Demo Hash
20. Herramienta de aprendizaje de teora de nmeros y cifrado asimtrico
21. Suma de puntos en curvas elpticas
22. Medidor de calidad de contraseas
23. Anlisis por Fuerza Bruta
24. Esctala / Rail Fence
25. Cifrado Hill / Anlisis Hill
26. Ayuda online de CrypTool / Vista de rbol de menes del programa
CrypTool 1.4.30 Pgina 37
Bases para, por ejemplo, el protocolo SSL (acceso a sitios web protegidos)
Cifrado asimtrico utilizando RSA
Cada usuario tiene un par de claves una pblica y otra privada
El emisor cifra con la clave pblica del receptor
El receptor descifra con su clave privada
Normalmente se implementa combinndolo con mtodos simtricos
(transferencia de la clave simtrica por codificacin/descodificacin RSA)
CsO
-
cs
sO
Cifrado Descifrado
Clave Pblica
Clave Pblica
Par de claves
El emisor utiliza la clave pblica
del receptor
CrypTool 1.4.30
El receptor utiliza su
clave privada
Pgina 38
Ejemplos de CrypTool
Cifrado con RSA (en realidad, la mayora de cifrados hbridos)
Ejemplos (1)
Cifrado utilizando RSA trasfondo Matemtico / algoritmo
Clave Pblica: (n, e)
Clave Privada: (d)
donde:
p, q grandes, nmeros primos elegidos aleatoriamente con n = p*q;
d se calcula bajo las constantes mcd[(n),e] = 1; e*d 1 mod (n).
Operacin de cifrado y descifrado: (m
e
)
d
m mod n
n es el mdulo, cuya longitud en bit se refiere a la longitud de la clave RSA.
mcd = mximo comn divisor.
(n) es la funcin fi de Euler.
Procedimiento :
Transformacin del mensaje en representacin binaria
Mensaje Cifrado m = m
1
,...,m
k
en el sentido de los bloques, con para todo m
j
:
0 m
j
< n; tamao de bloque mximo r, por eso: 2
r
n (2
r
-1 < n)
CrypTool 1.4.30 Pgina 39
Vea tambin: Animacin flash interactiva sobre los fundamentos del cifrado RSA:
http://cryptool.com/download/RSA/RSA-Flash-en/player.html
Ejemplos (1)
Test de Primalidad Se necesita para los enormes primos de RSA.
Pruebas probabilsticas rpidas
Pruebas Deterministas
Los mtodos de prueba de
nmeros primos se realizan
mucho ms rpido si un
nmero grande es primo,
entonces los mtodos de
factorizacin conocidos pueden
separar un nmero de tamao
similar en sus factores primos.
Para los test AKS se integraron
a CrypTool las bibliotecas GMP
(GNU Multiple Precision
Arithmetic Library) y MPIR
(Multiple Precision Integers and
Rationals).
CrypTool 1.4.30 Pgina 40
Men: Procedimientos. Indiv \ RSA Criptosistema \
Test de Primalidad
Observacin: 2^255 - 1 = 7 * 31 * 103 * 151 * 2143 * 11119 * 106591 * 131071 * 949111 *
9520972806333758431 * 5702451577639775545838643151
Ejemplos (1)
El mayor nmero primo descubierto hasta ahora Nmeros primos de Mersenne
Page 41 CrypTool 1.4.30
Men: Procedimientos Indiv. \ Teora de Nmeros Interactiva \ Calcular nmeros de Mersenne
Los nmeros primos ms grandes
descubiertos, son los denominados:
Nmeros primos de Mersenne.
El nmero actualmente recordista
tiene 12.978.189 dgitos decimales y
fue descubierto en 2008 por el
grupo del proyecto GIMPS.
En el siguiente dilogo de CrypTool,
podr calcular y mostrar
rpidamente cada una de sus cifras
en un archivo.
Para eso, la biblioteca APFLOAT fue
integrada al programa.
En el men contextual de cada uno
de los campos de entrada o salida
puede des/activar el separador de
miles.
Nota: 2^43.112.609 - 1 = 316.470.269 697.152.511
Los nmeros extremadamente grandes no deberan ser
seleccionados y copiados directamente del campo
Resultado; para no perjudicar la performance de la GUI.
Por favor, utilice el botn Escribir resultado para poder
mostrar el resultado en su totalidad en la misma ventana
de CrypTool.
Ejemplos (1)
Cifrado Hbrido y certificados digitales
Cifrado Hbrido Combinacin de cifrado simtrico y asimtrico
1. Generacin de una clave simtrica aleatoria ( clave de sesin)
2. Se transfiere la clave de sesin protegida por una clave asimtrica
3. Se transfiere el mensaje protegida por la clave de sesin
Problema: Ataques del hombre en el medio La clave pblica del receptor
pertenece realmente al receptor?
Solucin: Certificados Digitales Una central (p. ej. Telesec, VeriSign, Deutsche
Bank PKI), en la que confan los usuarios, asegura la autenticidad del certificado
y la clave pblica contenida (parecido al pasaporte expedido por el estado).
El cifrado hbrido basado en certificados digitales es la base para todas las
comunicaciones electrnicas seguras:
Compra por Internet y Banca Online
Correo electrnico seguro
CrypTool 1.4.30 Pgina 42
Ejemplos (1)
Conexin online segura utilizando SSL y certificados
Esto significa que la conexin es
autentificada y (al menos en un sentido) la
transferencia de datos est fuertemente
cifrada.
CrypTool 1.4.30 Pgina 43
Ejemplos (1)
Atributos o campos de un certificado
Atributos generales / campos
Emisor (p.ej. VeriSign)
Solicitante
Perodo de validez
Nmero de Serie
Tipo de Certificado/ Versin (X.509v3)
Algoritmo de firma
Clave Pblica (y mtodo)
Clave Pblica
CrypTool 1.4.30 Pgina 44
Ejemplos (1)
Establecer una conexin segura SSL (Autenticacin del Servidor)
Inicio SSL
Enviar certificado del servidor
Client
Server
1.
2.
3.
4.
Validar certificado del servidor (utilizado races de certificados instalados localmenteing)
Recuperar la clave pblica del servidor (desde el certificado del servidor)
5. Generat una clave simtrica aleatoria (clave de sesin)
6.
Enviar clave de sesin
(cifrada con la clave pblica del servidor)
7.
Recuperar clave de sesin
(descifrada por la clave privada del servidor)
Comunicacin cifrada basada en el
intercambio de la clave de sesin
CrypTool 1.4.30 Pgina 45
General
El ejemplo muestra el establecimiento de una conexin SSL tpica para transferir datos
delicados a travs de internet (p.ej. compra online).
Al establecer la conexin SSL solamente se autentifica el servidor utilizando el certificado
digital (la autentificacin del usuario se da normalmente a travs del nombre de usuario y
su contrasea despus de que se haya establecido la conexin SSL).
SSL tambin ofrece la opcin de la autentificacin del cliente basada en certificados
digitales.
Comentarios al establecimiento de la conexin SSL (ver diapositiva anterior)
Paso 1: Inicializacin SSL durante esta fase, se negocian las caractersticas tanto de la
clave de sesin (p.ej. Tamao en bits) como del algoritmo de cifrado simtrico (p.ej. 3DES,
AES).
Paso 2: En el caso de una jerarqua de certificado multinivel, tambin se pasan los
certificados intermedios al cliente.
Paso 3: En esta fase los certificados raz instalados en la memoria de certificados del
navegador se utilizan para validar el certificado del servidor.
Paso 5: La clave de sesin se basan en las caractersticas negociadas (ver 1).
CrypTool 1.4.30 Pgina 46
Ejemplos (1)
Establecer una conexin segura SSL (Autenticacin del Servidor)
Ejemplos (2)
Visualizacin de una firma digital
Firma Digital
Importancia creciente:
Equivalencia con la firma manual
( ley de la firma digital)
Cada vez ms utilizada en la industria,
Gobierno y usuarios
Poca gente sabe cmo funciona
exactamente
Visualizacin en CrypTool
Diagrama de flujo de datos interactivo
Parecida a la visualizacin del cifrado
hbrido
CrypTool 1.4.30 Pgina 47
Men: Firma Digital/PKI \
Demostracin de firma(Generacin de Firma)
Ejemplos (2)
Visualizacin de una firma digital : a) Preparacin
CrypTool 1.4.30 Pgina 48
2. Facilitar clave y certificado (no
se muestra aqu)
1. Seleccionar funcin hash
Ejemplos (2)
Visualizacin de una firma digital : b) Criptografa
3. Calcular
valor hash
4. Cifrar el
valor hash
con la clave
privada
(firmar)
5. Generar
firma
CrypTool 1.4.30 Pgina 49
3.
4. 5.
Ejemplos (2)
Visualizacin de una firma digital : c) Resultado
CrypTool 1.4.30 Pgina 50
6. Ahora se puede guardar
el documento firmado.
Las operaciones se pueden realizar en
cualquier orden, siempre que lo
permita la dependencia entre los
datos.
Ejemplos (3)
Ataque al cifrado RSA con un RSA de mdulo pequeo
Ejemplo de Song Y. Yan, Number Theory for Computing, Springer, 2000
Clave pblica
Mdulo RSA N = 63978486879527143858831415041 (95 bit, 29 dgitos decimales)
exponente publico e = 17579
Texto cifrado(longitud de bloque = 8):
C
1
= 45411667895024938209259253423,
C
2
= 16597091621432020076311552201,
C
3
= 46468979279750354732637631044,
C
4
= 32870167545903741339819671379
el texto debe ser descifrado!
Solucin utilizando CrypTool (de forma ms detallada en la seccin de la ayuda online)
Introducir parmetros pblicos en RSA Criptosistema (men: Procedimientos Indiv. )
Botn Factorizar mdulo RSA produciendo los dos factores primos pq = N
Basado en la informacin del exponente privado se determina d=e
-1
mod (p-1)(q-1)
Descifrar el texto cifrado con d: M
i
= C
i
d
mod N
El ataque con CrypTool funciona para el mdulo RSA hasta 250 bits.
Entonces podra firmar digitalmente por otra persona!
El texto cifrado no se
necesita para el
criptoanlisis actual
(localizar la clave privada)!
CrypTool 1.4.30 Pgina 51
Ejemplos (3)
RSA de mdulo pequeo: Introducir parmetros pblicos del RSA
2. Factorizar
CrypTool 1.4.30 Pgina 52
Men: Procedimientos. Indiv. \ RSA Criptosistema \ RSA Demonstracin
1. Introducir
parmetros:
N y e
CrypTool 1.4.30 Pgina 53
3. La factorizacin
proporciona p y q
Ejemplos (3)
RSA de mdulo pequeo: Factorizar mdulo RSA
Ejemplos (3)
RSA de mdulo pequeo: determinar la clave privada d
Cambia la visin del
propietario de la clave
secreta.
CrypTool 1.4.30 Pgina 54
4. p y q se han
introducido
automticamente y se
ha calculado la clave
privada
5. Ajustar Opciones
8. Seleccionar longitud de
bloque
6. Seleccionar alfabeto
7. Seleccionar mtodo de
codificacin
CrypTool 1.4.30 Pgina 55
Ejemplos (3)
RSA de mdulo pequeo: Ajustar Opciones
CrypTool 1.4.30 Pgina 56
9. Introducir texto
cifrado
10. Descifrar
Ejemplos (3)
RSA de mdulo pequeo: Descifrar texto cifrado
Aplicacin prctica del criptoanlisis:
Ataque a la opcin de cifrado de la aplicacin de
Procesador de texto de la PDA PSION 5
Punto de partida: un archivo cifrado con PSION
Requisitos
Texto en alemn o en ingls cifrado
Dependiendo del mtodo y la longitud de la clave, texto desde 100 Bytes hasta varios
kB
Procedimiento
preanlisis
entropa
Entropa real
Test de compresin
autocorrelacin
Intentar anlisis automtico con mtodos clsicos
Probablemente un
algoritmo de cifrado
clsico
Ejemplos (4)
Anlisis del cifrado utilizado en la PSION 5
CrypTool 1.4.30 Pgina 57
Ejemplos (4)
PDA PSION 5 determinar entropa, test de compresin
CrypTool 1.4.30 Pgina 58
Comprensibilidad: indicador
claro para la criptografa dbil
(se redujo el tamao un 21%)
La entropa no
proporciona
informacin sobre el
mtodo de cifrado
especfico.
* El archivo cifrado est disponible en CrypTool (ver: CrypTool\examples\psion-en-enc.hex)
Ejemplos (4)
PDA PSION 5 Determinar auto-correlacin
CrypTool 1.4.30 Pgina 59
Registro de patrn distintivo:
Tpico para Vigenre,
XOR y suma binaria
Anlisis automtico utilizando
Vigenre: sin xito
XOR: sin xito
Suma binaria
CrypTool calcula la longitud de la clave
utilizando la auto-correlacin: 32 bytes
El usuario puede elegir el carcter que se
espera que aparezca con mayor
frecuencia:
e = 0x65 (cdigo ASCII)
El anlisis calcula la clave ms probable
(basada en las suposiciones sobre la
distribucin)
Resultado: bueno, pero no perfecto
Ejemplos (4)
PDA PSION 5 anlisis automtico
CrypTool 1.4.30 Pgina 60
Resultados del anlisis automtico asumiendo suma binaria:
El resultado es bueno, pero no perfecto: 24 de los 32 bytes de la clave son correctos.
Se determina correctamente la longitud de la clave:32 .
la contrasea introducida no tena 32 bytes de longitud.
PSION Word deduce la clave actual de la contrasea.
El post-procesado manual produce el texto cifrado (no se muestra)
Ejemplos (4)
PDA PSION 5 resultados del anlisis automtico
CrypTool 1.4.30 Pgina 61
Copiar la clave en el porta papeles durante el anlisis automtico
En anlisis automtico en hex dump,
Determinar las posiciones de bytes incorrectos, p.ej. 0xAA en la posicin 3
Adivinar y escribir los bytes correctos: e = 0x65
En un archivo inicial hex dump cifrado
Determinar los bytes iniciales de las posiciones de bytes calculadas: 0x99
Calcular los bytes correctos de la clave con CALC.EXE: 0x99 - 0x65 = 0x34
Clave desde el portapapeles
Correccin 12865B341498872C393E43741396A45670235E111E907AB7C0841...
Descifrar el documento inicial cifrado utilizando la suma binaria
bytes en la posicin 3, 3+32, 3+2*32, ... Ahora son correctos
Ejemplos (4)
PDA PSION 5 determinar los bytes de clave restantes
CrypTool 1.4.30 Pgina 62
Cifrando 2 veces con esta
clave volvemos a obtener el
texto claro
Ejemplos (5)
clave DES dbil
CrypTool 1.4.30 Pgina 63
La funcin Frecuencia real es adecuada para localizar la
informacin sobre la clave y reas cifradas en archivos.
Trasfondo:
Los datos de la clave son ms aleatorios que el texto o el cdigo programado
Se puede reconocer como los picos en la frecuencia real
Ejemplo: la clave NSA de advapi32.dll (Windows NT)
Ejemplos (6)
Localizar informacin de la clave
CrypTool 1.4.30 Pgina 64
Ejemplos (6)
Comparacin de frecuencia real con otros archivos
CrypTool 1.4.30 Pgina 65
Ejemplos (7)
Ataque a la firma digital
Ataque:
Encontrar dos
mensajes con el
mismo valor
hash!
CrypTool 1.4.30 Pgina 66
Men: Anlisis \ Hash \ Ataque al valor Hash de una firma digital
Ejemplos (7)
Ataque a la firma digital idea (I)
Ataque a la firma digital de un texto en ASCII basado en la bsqueda de colisiones.
Idea:
Los textos ASCII se pueden modificar cambiando/insertando caracteres no
imprimibles, sin cambiar el contenido visible
Modificar dos textos en paralelo hasta encontrar una colisin hash
Aprovechar la paradoja del cumpleaos (ataque del cumpleaos)
Ataque genrico aplicable tambin a las funciones hash
Se puede ejecutar en paralelo en varias mquinas (no est implementado)
Se ha implementado en CrypTool como parte de la tesis de un licenciado Mtodos y
herramientas para ataques a firmas digitales (alemn), 2003.
Conceptos:
Mapeados
Algoritmo de Floyd modificado (consumo de memoria constante )
CrypTool 1.4.30 Pgina 67
1.
1.
Comparar
valores hash 2.
1. Modificacin: empezando desde un
mensaje Mse crean N mensajes distintos
M
1
, ..., M
N
con el mismo contenido
como M.
2. Bsqueda: encontrar mensajes
modificados M
i
H
y M
j
S
con el mismo
valor hash.
3. Ataque: las firmas de ambos documentos
M
i
H
y M
j
S
son iguales.
Mensaje
inofensivo M
H
Mensaje
maligno M
S
3
.
3.
Firmas
idnticas
Conocemos por la paradoja del cumpleaos que para valores hash de longitud n en
bits:
buscar colisiones entre M
H
y M
1
S
, ..., M
N
S
: N 2
n
Buscar colisiones entre M
1
H
, ..., M
N
H
y M
1
S
, ..., M
N
S
: N 2
n/2
Ejemplos (7)
Ataque a la firma digital idea (II)
Nmero estimado de mensajes generados para
encontrar una colisin hash.
CrypTool 1.4.30 Pgina 68
Localizar Colisiones Hash (1)
Mapeado por modificaciones del texto
0010
0100
hash
1100
0010
modificar
hash
1111
0010
modificar
0011
1111
1100
1110
hash
modificar
modificar
0010
0100
Valores hash
idnticos
Mensaje
inofensivo
Mensaje
maligno
verde/ rojo: camino desde un rbol al ciclo esto puede conducir a una
colisin til o intil.
cuadrado / crculo: valor hash par/impar
negro: todos los nodos en el ciclo
Punto elegido aleatoriamente para la bsqueda de
colisiones
CrypTool 1.4.30 Pgina 69
Ejemplo:
Grfico de una
funcin con 32
nodos
Localizar Colisiones Hash (2)
Algoritmo de Floyd: encontrar el ciclo
inicio / colisin
ciclo
incremento 1
incremento 2
Paso 1: Localizar el punto que
concuerde con el ciclo:
Dos series con idntico punto de
inicio[16]:
una serie con incremento 1, la
otra con incremento 2.
Resultado (basado en teora de
grafos):
Ambas series siempre terminan
en un ciclo.
Ambas series coinciden en un
nodo en el ciclo (en este caso 0).
Punto inicial
CrypTool 1.4.30 Pgina 70
Localizar Colisiones Hash (3)
Seguir el ciclo (Extensin de Floyd): encontrar el punto de entrada
CrypTool 1.4.30
Paso 2: Localizar el
punto de entrada de
las series 1 en el ciclo
[25]:
La Serie 1 empieza
otra vez desde el
punto de entrada; la
serie 3 con un
incremento de 1
empieza en el munto
de encuentro con el
ciclo (en este caso en
0).
Resultado: Las series (1
y 3) coinciden en el
punto de entrada del
ciclo de la serie 1 (en
este caso 25)
Los predecesores (en
estea caso 17 y 2)
resultan en una
colisin hash.
Punto de entrada
inicio / colisin
ciclo
Mover en un sub-rbol
Mover en el ciclo
Pgina 71
Examinar el algoritmo Floyd
Presentacin visual e interactiva
del algoritmo Floyd
(Desplazndose a travs del
mapeo en un ciclo).
Adaptacin del algoritmo de Floyd
para un ataque de firma digital.
Punto Inicial
Buena colisin
Mala colisin
Ataque de la Paradoja del Cumpleaos a la
Firma Digital
*El algoritmo de Floyd se implementa en CrypTool, pero la
visualizacin del algoritmo an no est implementada.
CrypTool 1.4.30 Pgina 72
Ejemplos (7)
Ataque a la firma digital
Un ejemplo de un
buen Mapeado
(casi todos los
nodos son verdes).
En este grafo casi
todos los nodos
pertenecen al rbol
grande, el cual se
encuentra con el
ciclo cuando se
igualan los valores
hash y donde el
predecesor al punto
de entrada en el
ciclo es impar.
Esto significa que el
atacante encuentra
til la colisin para
casi cualquier punto
de inicio.
Buena Colisin
Pgina 73
Ejemplos (7)
Ataque a la firma digital: Ataque
CrypTool 1.4.30 Pgina 74
3.
2.
1.
4.
Men: Anlisis \ Hash \ Ataque en el valor Hash de una Firma Digital
Ejemplos (7)
Ataque a la firma digital: Resultados
Resultados Experimentales
Colisin parcial de 72 Bit (igualdad
para los valores has de los
primeros 72 bits) se encontr en
un par de das en un nico PC.
Las firmas que utilizan valores
hash de hasta 128 bits se pueden
atacar hoy en da con bsqueda
en paralelo!
Utilizar valores has de como poco
160bits de longitud.
MD5: 4F 47 DF 1F
30 38 BB 6C AB 31
B7 52 91 DC D2 70
Los primeros 32 bits de los valores hash son
idnticos.
Adicionalmente al manejo manual:
Caracterstica automtica desconectada en CrypTool: Ejecuta y registra los resultados
para todos los conjuntos de configuraciones de parmetros. Disponible a travs de la
ejecucin de CrypTool por lnea de comandos.
CrypTool 1.4.30 Pgina 75
MD5: 4F 47 DF 1F
D2 DE CC BE 4B 52
86 29 F7 A8 1A 9A
Ejemplos (8)
Autentificacin en un entorno cliente-servidor
Demostracin interactiva
para distintos mtodos de
autentificacin.
Oportunidades definidas
del atacante.
Puede tomar el papel del
atacante.
Moraleja:
Slo es segura la
autenticacin mutua.
CrypTool 1.4.30
Men: Procedimientos Indiv. \ Protocolos \ Autenticacin en Red
Pgina 76
Ejemplos (9)
Demonstracin de un ataque de canal lateral (en un protocolo de cifrado hbrido)
CrypTool 1.4.30
Men: Anlisis \ Cifrado Asimtrico \ Ataque de canal lateral
Pgina 77
Ejemplos (9)
Idea para este ataque de canal lateral
Clave de Sesin000...............000 Clave de Sesin M = C = M
e
= M
e.
(1+Z
.
2
128
)
e
(mod N)
M
.
Z
.
2
128
M
Si el bit ms significativo de M es igual a 1, entoncers M es distinto a M mdulo 2
128
,
Ulrich Khn Side-channel attacks on textbook RSA and ElGamal encryption(2003)
Prerrequisitos:
Cifrado RSA: C = M
e
(mod N) y descifrado: M = C
d
mod N.
Las Claves de sesin de 128-Bits (en M) estn cifradas por diccionario (relleno nulo).
El servidor conoce la clave secreta d y
La utiliza despus de descifrar slo los 128 bits menos significativos (sin validacin de los bits 0 de relleno) (esto
significa que el servidor no reconoce si hay algo distinto a cero).
Avisos y mensajes de error, si del intento de cifrado resulta una clave de sesin errnea ( el texto descifrado no se
puede interpretar en el servidor). En el resto de casos no habr mensajes.
Idea para el ataque: Aproximacin para Z en la ecuacin N = M * Z para cada M = |N/Z|
Se calculan de forma sucesiva todas las posiciones de bits para Z: En cada paso se toma un bit ms. El atacante
modifica C a C (ver ms abajo). Si ocurre un desbordamiento de bits mientras se calcula M en el servidor
(receptor), el servidor enva un mensaje de error. Basndose en esta informacin, el atacante obtiene un bit para
Z.
000...................................000 Clave de Sesin
M = C = M
e
(mod N)
M
Relleno-nulo
CrypTool 1.4.30 Pgina 78
Ejemplos (10)
Matemticas: Ataques a RSA utilizando reduccin de retculos (Lattice Reduction)
Muestra cmo se tienen que elegir
los parmetros del mtodo RSA,
por eso el algoritmo resiste al
ataque de reduccin de retculos
descrito en la bibliografa.
3 variantes
1. El exponente secreto d es
demasiado pequeo en
comparacin con N.
2. Se conoce parcialmente a uno de los
factores de N.
3. Se conoce una parte del texto claro.
Estas suposiciones son realistas.
Men: Anlisis \
Cifrado Asimtrico \
Coleccin de ataques basados
en RSA \
CrypTool 1.4.30 Pgina 79
Ejemplos (11)
Anlisis de Aleatoriedad con visualizacin 3-D
Visualizacin 3D para el anlisis de aleatoriedad
Ejemplo 1
Abrir un archivo arbitrario (p.ej. Un informe en Word o una
presentacin de PowerPoint)
Se recomienda seleccionar un archivo de al menos 100 Kb
Anlisis 3D
Resultado: se reconocen fcilmente las estructuras
Ejemplo 2
Generacin de nmeros aleatorios: Procedimientos Indiv. \
Herramientas \ Generar Nmeros Aleatorios
Se recomienda generar al menos 100.000 bytes aleatorios
Anlisis 3D
Resultado: distribucin uniforme (no se reconocen las
estructuras)
CrypTool 1.4.30 Pgina 80
Men: Anlisis \ Anlisis de Aleatoriedad \ Visualizacin 3D
Puede girar el cubo con el
mouse para obtener una
mejor perspectiva.
Ejemplo de Secreto compartido (1):
Problema:
5 personas tienen una clave
Para ganar acceso al menos 3 de esas 5 personas
tienen que estar presentes
Opciones permite configurar los detalles
del mtodo.
Pasos de Calc. muestra todos los pasos
para generar la clave.
Ejemplos (12)
Secreto Compartido con CRT Implementacin del Teorema Chino de los Restos (CRT)
CrypTool 1.4.30 Pgina 81
Men: Procedimientos Indiv. \
Aplicaciones del Teorema Chino de los Restos\
Secreto Compartido por CRT
Ejemplo Secreto Compartido (2)
Problema
Un valor secreto se puede separar para n
personas.
t de las n personas se necesitan para
recuperar el valor secreto K.
(t, n) esquema de borde
Realizar lo siguiente:
1. Introducir el secreto K, nmero de personas
n y l umbral t
2. Generar polinomio
3. Utilizar Parmetros
4. Utilizando Reconstruccin se puede
recuperar el secreto
Ejemplos (12)
Secreto Compartido de Shamir
CrypTool 1.4.30 Pgina 82
Men: Procedimientos Indiv. \ Demostracin
Secreto Compartido (Shamir)
Ejemplos (13)
Implementacin del CRT para resolver sistemas de ecuaciones modulares lineales
Escenario en astronoma
Cunto tiempo tiene que
pasar hasta que un nmero
dado de planetas (con
distintos perodos de
rotacin) se alineen?
El resultado es un sistema
lineal de ecuaciones
modulares, que se puede
resolver con el Teorema
Chino de los Restos (CRT).
En esta demostracin se
pueden introducir hasta 9
ecuaciones y calcular una
solucin utilizando el CRT.
CrypTool 1.4.30 Pgina 83
Men: Procedimientos Indiv. \ Aplicacin del Teorema chino de los restos \
Astronoma y Movimiento planetario
Visualizaciones animadas de
varios algoritmos simtricos
Csar
Vigenre
Nihilist
DES
CrypTool
Men: Procedimientos Indiv. \
Visualizacin de algoritmos \
Control de la animacin interactivo
utilizando los controles integrados en
la ventana.
Seleccin directa de un paso de la animacin
Velocidad de la animacin Escala de visionado
Controles de la
animacin (siguiente,
atrs, pausa, etc.)
Ejemplos (14)
Visualizacin de mtodos de cifrado simtrico utilizando ANIMAL (1)
CrypTool 1.4.30 Pgina 84
Visualizacin del cifrado DES
Despus de la permutacin del bloque de
entrada utilizando el vector de inicializacin IV,
la clave K se permuta con PC1 y PC2.
La funcin de ncleo f del DES, que se enlaza la
mitad derecha del bloque R
i-1
con la clave
parcial K
i
.
Ejemplos (14)
Visualizacin de mtodos de cifrado simtrico utilizando ANIMAL (2)
CrypTool 1.4.30 Pgina 85
Ejemplos (15)
Visualizacin de AES (cifrado Rijndael)
Animacin Rijndael (el cifrado Rijndael fue el ganador de la dependencia del AES)
La visualizacin muestra la animacin del proceso del cifrado basado en ciclos
(utilizando datos fijos)
Inspector Rijndael
El proceso de cifrado para probar (utilizando tus propios datos)
Men: Procedimientos Indiv. \ Visualizacin de Algoritmos \ AES \ Animacin Rijndael o Inspector Rijndael
CrypTool 1.4.30 Pgina 86
Ejemplos (15)
Visualizacin de AES (cifrado Rijndael) usando Java
Visualizacin de flujo de Rijndael
Visualizacin de cambios por ronda a travs de escala de colores.
CrypTool 1.4.30 Pgina 87
Men: Procedimientos Indiv. \ Visualizacin de Algoritmos \ AES \ Animacin Rijndael
Ejemplos (16)
Visualizacin del cifrado de Enigma
Seleccionar
rotores
Entrada del
texto claro
Salida del texto
cifrado
Cambiar
conectores
Mostrar
configuracin
Reiniciar Enigma
al estado inicial o
a un estado
aleatorio
Cambiar
configuracin
del rotor
Ayuda en lnea adicional HTML
CrypTool 1.4.30 Pgina 88
Ejemplos (17)
Visualizacin de E-Mail seguro usando S/MIME
CrypTool 1.4.30 Pgina 89
Men: Procedimientos Indiv. \ Protocolos \ Seguridad E-Mail con S/MIME
Visualizacin S/MIME
Centro de Control: Firmar/Cifrar mensajes con diferentes parmetros
Animacin: Desde la creacin en el emisor hasta la lectura en el receptor
Ejemplos (18)
Generacin de un cdigo de autentificacin de un mensaje (HMAC)
Cdigo de Autentificacin de Mensaje
(HMAC)
Asegura:
La integridad de un mensaje
La autenticacin del mensaje
Bases: una clave comn
Alternativa: Firma Digital
Generacin de un MAC en CrypTool
1. Elija una funcin hash
2. Seleccione una variante de MAC
3. Introduzca una clave (dependiendo de la
variante del MAC pueden ser dos claves)
4. Generacin del MAC (automtico)
CrypTool 1.4.30
Men: Procedimientos Indiv. \ Hash \ Generacin de MACs
Pgina 90
2.
1.
3.
4.
Ejemplos (19)
Demostracin Hash
Sensibilidad de las funciones hash a las
modificaciones del texto claro
1. Seleccione una funcin hash
2. Modificar los caracteres del texto claro
Ejemplo:
Introduciendo un espacio despus de CrypTool
en el texto de ejemplo implica un cambio en
49,2% de los bits del valor hash generado.
Una buena funcin hash debe reaccionar
sensiblemente frente a los ms pequeos
cambios en el texto claro efecto avalancha
(cambio pequeo, gran impacto).
CrypTool 1.4.30
Men: Procedimientos Indiv. / Hash / Demostracin Hash
Pgina 91
1.
2.
Ejemplos (20)
Herramienta para el aprendizaje de teora de nmeros
Teora de Nmeros
soportada por
elementos grficos y
herramientas para
probar
Temas:
1. Enteros
2. Clases de Restos
3. Generacin de
primos
4. Criptografa de
clave Pblica
5. Factorizacin
6. Logaritmo Discreto
CrypTool 1.4.30
Men: Procedimientos Indiv. \ Teora de Nmeros - Interactiva \
Herramienta para el aprendizaje sobre teora de nmeros
Pgina 92
Ejemplo 1
Marcar un punto P en la curva
Marcar un punto Q en la curva
Presionar el botn P+Q:
La lnea recta que une los puntos P y Q e
interseca a la curva en el punto R
Reflejando en el eje de las X el resultado
est en el punto R
Ejemplo 2
Marcar el punto P en la curva
Presionar el botn 2*P:
La tangente al punto P que interseca a la
curva en el punto -R
Reflejando en el eje X el resultado est en
el punto R
Visualizacin de suma de puntos en curvas elpticas
Bases para la criptografa basada en curvas Elpticas (ECC)
Men: Procedimientos Indiv. \ Teora de Nmeros Interactiva \ Suma de Puntos en Curvas Elpticas
Ejemplos (21)
Suma de puntos en curvas elpticas
CrypTool 1.4.30 Pgina 93
Cambiar parmetros de
la curva
Eliminar puntos
Cargar archivo de
clculos
Ejemplos (22)
Medidor de Calidad de Contraseas (Password Quality Meter PQM) 1
Funciones
Medida de la calidad de contraseas
Comparar con PQMs en otras aplicaciones: KeePass, Mozilla y PGP
Medida experimental con el algoritmo de CrypTool
Ejemplo: Entrada de una contrasea (mientras se muestra la contrasea)
Password: X40bTRds&11w_dks Password: 1234
Men: Procedimientos Indiv. \ Herramientas \ Medidor de Calidad de Contraseas
Men: Procedimientos Indiv. \ Herramientas \
Entropa de Contrasea
CrypTool 1.4.30 Pgina 94
Conclusiones del Medidor de Calidad de Contraseas
La calidad de la contrasea depende principalmente de la longitud de la contrasea.
Se puede alcanzar una mayor calidad en la contrasea utilizando distintos tipos de caracteres:
maysculas/minsculas, nmeros y caracteres especiales (espacio de contrasea)
Entropa de Contrasea como indicador de la aleatoriedad de los caracteres de la contrasea o del
espacio de contrasea (una mayor entropa aparece en una calidad de contrasea mejorada)
Las contraseas NO deben existir en un diccionario (nota: una comprobacin con diccionario an no
se ha implementado en CrypTool).
Calidad de una contrasea desde la perspectiva de un atacante
Ataque a una contrasea (con nmero de intentos ilimitado):
1. Ataque diccionario clsico
2. Ataque diccionario con variantes (p.ej. Combinaciones con nmeros de 4 cifras: Verano2007)
3. Ataque por fuerza bruta probando todas las combinaciones posibles (con parmetros
adicionales como limitaciones en los tipos de conjuntos de caracteres)
Una buena contrasea se debe elegir para que los ataques 1. y 2. no la comprometan.
Con respecto a los ataques de fuerza bruta, son importantes la longitud de la contrasea
(al menos 8 caracteres) as como los conjuntos de caracteres utilizados.
Ejemplos (22)
Medidor de Calidad de Contraseas (Password Quality Meter PQM) 2
CrypTool 1.4.30 Pgina 95
Ejemplos (23)
Anlisis por Fuerza Bruta 1
Anlisis por fuerza bruta
Anlisis por fuerza bruta optimizado bajo la suposicin de que la clave se conoce
parcialmente.
Ejemplo Anlisis con DES (ECB)
Intento de encontrar el resto de la clave para descifrar el texto cifrado (Suposicin: el texto
claro es un bloque de 8 caracteres ASCII)
Clave (Hex) Texto Cifrado (Hex)
68ac78dd40bbefd* 66b9354452d29eb5
0123456789ab**** 1f0dd05d8ed51583
98765432106***** bcf9ebd1979ead6a
0000000000****** 8cf42d40e004a1d4
000000000000**** 0ed33fed7f46c585
abacadaba******* d6d8641bc4fb2478
dddddddddd****** a2e66d852e175f5c
CrypTool 1.4.30 Pgina 96
Ejemplos (23)
Anlisis por Fuerza Bruta 2
1. Entrada de texto cifrado
2. Utilizar anlisis por fuerza bruta
3. Introducir parte de la clave conocida
4. Empezar anlisis por fuerza bruta
5. Anlisis de los resultados: una baja entropa evidencia un posible descifrado. Sin embargo, a causa del texto
claro corto utilizado en este ejmemplo, el resultado correcto no es el que tiene la entropa ms baja.
Men: Anlisis \ Cifrado Simtrico (moderno) \ DES (ECB)
Utiliza Ver \ Mostrar como cdigo hexadecimal
CrypTool 1.4.30 Pgina 97
Ejemplos (24)
Esctala / Rail Fence
Esctala y Rail Fence
Transposiciones mezclan el orden de las letras en el texto claro
Parmetro de Transposicin
Nmero de esquinas (Esctala)
Nmero de lneas (Rail Fence)
Offset
Opciones de Texto
Opciones generales de texto (Men: Opciones \ Opciones de
Texto)
Opciones de formato para texto claro y cifrado
Distincin entre maysculas y minsculas
Alfabeto para el procesamiento de texto (muestra los caracteres
que deben ser cifrados/descifrados)
Vuelva a establecer los valores por defecto a travs del botn
Restaurar valores
Cree los patrones de referencia esttica en forma dinmica.
CrypTool 1.4.30 Pgina 98
Men: Cifrado/Descifrado \ Simtrico (clsico) \ Esctala/Rail Fence
Ejemplos (25)
Cifrado Hill / Anlisis Hill (1)
Cifrado Hill
Cifrado de sustitucin poligrfico
Basado en lgebra lineal
Clave
Caracteres de alfabeto (Ver opciones de texto)
o valores numricos
Ingresar clave o generar una aleatoria
Seleccionar parmetro de multiplicacin
Tamao de la matriz
Opciones
CrypTool 1.4.30 Pgina 99
Men:
Cifrar/Descifrar \
Simtrico (clsico) \
Hill
Ejemplos (25)
Cifrado Hill / Anlisis Hill (2)
Cifrado Hill
Texto de ejemplo con la clave: LVMH
Anlisis Hill (texto claro conocido)
1. Texto claro / texto cifrado - Largo
Seleccionar texto plano (startingexample-es.txt)
Seleccionar texto cifrado
(Cifrado Hill de <startingexample-es.txt>)
Continuar para buscar la clave
2. Texto claro / texto cifrado - Reducido
Eliminar todo, excepto el inicio del texto claro
(CrypTool)
Reducir texto cifrado a PnhdJovl
Continuar encuentra la clave correcta
Qu cantidad de texto claro/cifrado es necesario para
encontrar la clave de cifrado correcta?
CrypTool 1.4.30 Pgina 100
Men: Anlisis \ Simtrico (clsico) \ Texto claro conocido \ Hill
Ejemplos (26)
Ayuda Online de CrypTool (1)
CrypTool 1.4.30 Pgina 101
Men: Ayuda \ Pgina de Inicio
Ejemplos (26)
Ayuda Online de CrypTool (2)
CrypTool 1.4.30 Pgina 102
Ejemplos (26)
Ayuda Online de CrypTool (3)
CrypTool 1.4.30 Pgina 103
Ejemplos (26)
Vista de rbol de menes de CrypTool 1.4.30
CrypTool 1.4.30 Pgina 104
I. CrypTool y Criptologa Visin
General
II. Caractersticas de CrypTool
III. Ejemplos
IV. Proyecto / Perspectiva / Contacto
Apndice
Contenido
CrypTool 1.4.30 Pgina 105
Desarrollo de CrypTool en el Futuro (1)
Plan despus de la publicacin de 1.4.30 (ver archivo Leme)
CT1 Test FIPS para investigar partes de tamao mayor a 2500 bytes
JCT Acuerdos de clave tri-partita
JCT Visualizacin de la interoperabilidad de los formatos S/MIME y OpenPGP
JCT Anlisis de entropa
JCT Grille, Vigenre Autoclave, Criptoanlisis interactivo de Cifrados clsicos
JCT Cifrados de anlisis de transposicin usando el algoritmo ACO
JCT Visualizacin de las pruebas de cero conocimiento
JCT Visualizacin del acuerdo de clave Quantum, Protocolo BB84
JCT Visualizacin del ataque SETUP contra la generacin de claves RSA (Kleptografa)
JCT Action-History con caracterstica adicional para crear y reproducir cualquier cifrado (cascada)
CT2 Visualizacin comprensible del tema de los nmeros primos
CT2 GNFS (Tamiz general del campo del nmero)
CT2 Cifrado y criptoanlisis automatizado de la mquina Enigma y tal vez de Sigaba
CT2 Ataque del Cubo (I. Dinur y A. Shamir, "Cube Attacks on Tweakable Black Box Polynomials, 2008)
CT2 Demonstracin de la falsificacin de la firma RSA de Bleichenbacher
CT2 Demonstracin virtual de nmeros de tarjetas de crdito (enfoque contra del abuso en tarjetas de crdito)
CT2 Cifrado WEP y anlisis WEP
CT2 Bsqueda masiva de patrones
CT2 Framework para criptoanlisis distribuido
CT2 Demonstracin de seguridad de SOA (mensajes SOAP a travs de seguridad WS entre los participantes)
CT2 Framework para crear y analizar cifrados de flujo LFSR
CT2/JCT Creacin de una versin en lnea de comandos para un procesado por lotes
CT2/JCT Moderna arquitectura pure plugin con plugins cargados
Todo Parametrizacin adicional / Incrementando la flexibilidad de los algoritmos presentes
Ideas Visualizacin del protocolo SSL // Demonstracin de criptografa visual
CrypTool 1.4.30 Pgina 106
CT1 = CrypTool 1.x
Nuevas versiones:
CT2 = CrypTool 2.0
JCT = JCrypTool
(Ambos presentados
a continuacin)
Desarrollo de CrypTool en el Futuro (2)
En desarrollo: Las dos versiones sucesoras de CT v1 (ver archivo Leme)
1. JCT: Portabilidad y rediseo de CrypTool en Java / SWT / Eclipse 3.6 / RPC
ver: http://jcryptool.sourceforge.net
Release Candidate RC3 est disponible para desarrolladores y usuarios (Julio 2010)
2. CT2: Portabilidad y rediseo de la versin en C++ con C# / WPF / VS2010 / .NET 4.0
Sucesor directo de las versiones actuales: perite programacin visual, etc.
Descargar de: http://cryptool2.vs.uni-due.de/index.php?page=14&lm=1&ql=4
La versin Beta3 est disponible desde Agosto 2010 (Actualizada continuamente desde Junio de 2008)
CrypTool 1.4.30 Pgina 107
CrypTool 2 (CT2) JCrypTool (JCT)
Desarrollo de CrypTool en el Futuro (3)
CrypTool 1.4.30 Pgina 108
CrypTool 2 (CT2) JCrypTool (JCT)
CrypTool como un Framework
Propuesta
Reutilizar el amplio conjunto de algoritmos, incluyendo las libreras y los elementos de la interfaz
como base
Entrenamiento gratuito en Frankfurt, cmo empezar con el desarrollo de CrypTool
Ventaja: Tu propio cdigo no desaparece, se mantendr
Entorno de desarrollo actual para CT1: Microsoft Visual Studio C++ , Perl,
Subversion Source-Code Management
Hasta CrypTool 1.4.30: Visual C++ .NET (= VC++ 9.0)(= Visual Studio 2008 Standard)
Descripcin para desarrolladores: ver readme-source.txt
Descarga: de fuentes y binarios de las publicaciones. Para obtener los archivos fuente de las betas
actuales, por favor vea el repositorio de subversiones.
Entornos de desarrollo para CT2 y JCT
CT2 versin C# : .NET con Visual Studio 2010 Express Edition (gratis) y WPF
Java versin Java: Eclipse 3.6, RCP, SWT (gratis)
CrypTool 1.4.30 Pgina 109
CrypTool Peticin de Colaboracin
Toda colaboracin con el proyecto se agradece enormemente
Realimentacin de informacin, crticas, sugerencias e ideas
Integracin de algoritmos adicionales, protocolos, anlisis (consistencia y completitud)
Desarrollo de asistencia (programacin, diseo, traduccin, prueba)
Para el proyecto C/C++ actual
Para los nuevos proyectos (preferencialmente)
Proyecto C# : CrypTool 2.0 = CT2
Proyecto Java : JCrypTool = JCT
Especialmente se invita al desarrollo adicional a las Universidades que utilizan CrypTool
para propsitos educativos.
Ejemplos de tareas abiertas se encuentran en las pginas de desarrollo respectivas:
CT2: Ver la lista: http://cryptool2.vs.uni-due.de, voluntarios, tareas actuales
JCT: Ver: wiki http://sourceforge.net/apps/mediawiki/jcryptool/index.php?title=CurrentDevelopment
Las colaboraciones significativas se pueden referenciar por nombre (en la ayuda, Leme,
ventana Acerca de, o en la pgina web de CrypTool).
Actualmente CrypTool posee ms de 6000 descargas al mes (de las cuales un poco ms del
50% se realiza sobre la versin en ingls).
Las versiones Betas de las dos herramientas sucesoras (JCT y CT2) registran ya ms de 1000
descargas mensuales.
CrypTool 1.4.30 Pgina 110
CrypTool Resumen
EL programa de aprendizaje electrnico para
criptologa
Un proyecto de Cdigo Abierto con ms de 10
aos de xito
Ms de 400.000 descargas
Uso internacional en escuelas, universidades, as
como empresas y agencias del gobierno
Amplia ayuda online y documentacin
Disponible gratuitamente y con soporte multi-
idioma
CrypTool 1.4.30 Pgina 111
Prof. Bernhard Esslinger
Universidad de Siegen
Facultad 5, Computacin y Sistemas de Informacin
Deutsche Bank S.A.
Director, IT Security Manager
esslinger@fb5.uni-siegen.de
www.cryptool.org
www.cryptool.com
www.cryptool.de
www.cryptool.es
www.cryptool.pl
Contactos adicionales: ver Leme en la carpeta CrypTool
Contacto
CrypTool 1.4.30 Pgina 112
I. CrypTool y Criptologa Visin
General
II. Caractersticas de CrypTool
III. Ejemplos
IV. Proyecto / Perspectiva / Contacto
Apndice
(Bibliografa adicional, sitios relacionados, descargas, etc.)
Contenido
CrypTool 1.4.30 Pgina 113
Bibliografa Adicional
Para introducirse en la Criptologa
Simon Singh, Los cdigos secretos, 2000, Doubleday
J. Ortega y Miguel ngel Lpez Guerrero, Introduccin a la Criptografa, 2006
Jorge Rami, Libro Electrnico de Seguridad Informtica y Criptografa
Johannes Buchmann, Introduction to Cryptography, 2nd edition, 2004, Springer [ingls]
Paar / Pelzl: Understanding Cryptography A Textbook for Students and Practitioners , 2009,
Springer [ingls]
Klaus Schmeh, Codeknacker gegen Codemacher. Die faszinierende Geschichte der
Verschlsselung, 2nd edition, 2007, W3L [alemn]
[HAC] Menezes / van Oorschot / Vanstone, Handbook of Applied Cryptography, 1996, CRC Press
van Oorschot / Wiener, Parallel Collision Search with Application to Hash Functions and Discrete
Logarithms, 1994, ACM [ingls]
Bibliografa adicional sobre criptografa ver tambin la pgina web de CrypTool y la bibliografa de
la ayuda online de CrypTool (p.ej. por Wtjen, Salomaa, Brands, Schneier, Shoup, Stamp/Low, )
La importancia de la criptografa en el amplio contexto de la seguridad en TI y la gestin de riesgos
Ver p.ej. Kenneth C. Laudon / Jane P. Laudon / Detlef Schoder, Wirtschaftsinformatik, 2005, Pearson, chapter
14 [alemn]
Ver Wikipedia (http://en.wikipedia.org/wiki/Risk_management) [ingls]
Pgina de CrypTool: http://cryptool.com/index.php/en/cryptool-for-awareness-aboutmenu-74.html
CrypTool 1.4.30 Pgina 114
www.cryptool.org / .com / .de / .es / .pl
CrypTool 1.4.30 Pgina 115
www.cryptool-online.org
CrypTool 1.4.30 Pgina 116
Los miembros de la familia de
CrypTool.
Sitios relacionados:
CrypTool (CT1)
CT2 para desarrolladores
JCT para desarrolladores
CrypTool-Online + CrypTool-
Mobil
Pruebe mtodos criptogrficos
en su navegador y en su
telfono mvil.
CryptoPortal para profesores
(actualmente slo en alemn)
Mystery Twister C3 (MTC3)
Concurso de desafos
criptogrficos
m.cryptool.org
CrypTool 1.4.30 Page 117
Viva la
criptografa
desde su
Smartphone
www.cryptoportal.org
CrypTool 1.4.30 Pgina 118
El portal para profesores se
encuentra slo en alemn.
Se acepta gustosamente
ayuda para su versin en
espaol o en ingls.
http://www.mysterytwisterc3.org/
CrypTool 1.4.30 Page 119
Mystery Twister C3 es un concurso de desafos criptogrficos.
Descargue el software y el CrypTool Script!
CrypTool 1.4.30 Pgina 120