Professional Documents
Culture Documents
conceptos
t y contextos
t t
C C
Un algoritmo consiste en una secuencia de operaciones dirigidas a cierto objetivo (es una guía de
instrucciones). Ejemplos: el procedimiento para obtener una raíz cuadrada. El procedimiento para
obtener el máximo común divisor de dos números.
Por lo general los algoritmos criptográficos son públicamente conocidos. No existe misterio respecto
a cuáles son las operaciones que deben realizarse. El secreto consiste en los números específicos
que deben insertarse en ellas. A esos números se les denomina las claves.
Un algoritmo muy simple, llamado “Julio César” como uno de sus primeros usuarios, consiste en
sustituir cada letra por la que viene tres lugares después en el abecedario:
a b c d e f g h i j k l m n ñ o p q r s t u v wx y z
d e f g h i j k l mn ñ o p q r s t u v w x y z a b c
Julio César,
dibujo de Goscinny:
Este es el algoritmo XOR
Este es un ejemplo de la
relación entre algoritmo y clave. Input 1 Input 2 Output
0 0 0
0 1 1
1 0 1
1 1 0
Aquí se introduce
la clave secreta
+ 10010101
+ 10010101
Un espía podría obtener el número 11001001, pero como no sabe la clave secreta no puede deducir el número
equivalente al mensaje. (En este ejemplo, los números que se usan son pequeñísimos, y con algunos minutos
de “prueba y error” se agotarían todas las combinaciones posibles y se descubriría el texto).
A una clave como la anterior se le denomina
“simétrica”, porque para regresar al documento
Emisor legible original sólo es necesario aplicar la
misma clave en sentido inverso.
Desencripta con
clave secreta
Encripta usando
clave secreta y
un algoritmo
conocido
id
Receptor
Los problemas inherentes a la Criptografía Simétrica
1)) El p
problema en la criptografía
p g simétrica no es el algoritmo
g ni la clave (q
(que p
pueden ser fuertes)) sino
cómo poner la clave en conocimiento previo del interlocutor. Para enviarla, no se puede usar un canal
inseguro de comunicación. Por tanto, los interesados deben tener contacto directo por lo menos una vez,
para que convengan en la clave que usarán. Pero esto haría imposible al comercio electrónico.
L a belleza de este esquema es que cada persona sólo necesita una pareja
de claves para comunicarse con cualquier número de interlocutores. Una vez
que alguien obtiene su par de claves, puede comunicarse con cualquier otra
persona”. (Un grupo de 1000 personas sólo necesitaría 2,000 claves).
Aplicando el segundo proceso sobre el resultado del primer proceso, obtenemos todo.
Texto original
T i i l
Texto original del cliente N
del cliente N Texto cifrado
Banco
Texto original
Otro texto cifrado
Texto original del cliente G
del cliente G
Texto original
del cliente D
Texto original Un tercer texto
del cliente D cifrado
Nota 2: el proceso 1 no pretende garantizar la autenticidad del documento recibido
Dr Fermat
Dr. De letras a números. Encriptación del mensaje. Clave Clave
Fermat ejecuta un privada pública
A = 01 algoritmo conocido,
B = 02 usando dos inputs: 1) el Euler
C = 03 mensaje, y 2) la clave
((…)) pública de Euler
Euler. 6774022
3642
El resultado es
otro número:
Soy Fermat. En la red, Caín
0572958 7354628
Su prueba
p ueba intercepta el Euler ejecuta
j la 2da p
parte
4837501 98750
de TBC dio
negativo. = 9283…
5789
mensaje
genuino y lo
elimina.
del mismo algoritmo,
usando dos números como
inputs: 1) el documento que
recibió, y 2) su clave
privada
privada.
Web
Encriptación del mensaje.
De letras a números.
Caín Caín ejecuta un
algoritmo conocido
conocido, La clave privada
A = 01 5485756
usando dos inputs: 1) el REVIERTE lo que
B = 02 3881105
mensaje, y 2) la clave la clave pública
C = 03 98425
pública de Euler. hizo:
(…)
=
El resultado es A = 01
otro número: B = 02
Soy Fermat. 5485756 C = 03
Su prueba 6774022 (…)
3881105 Soy Fermat.
3642
de TBC dio
positivo. = 98425 Su prueba
de TBC dio
positivo.
Si Euler solo se apoya en el proceso 1, puede ser victima de un engaño
Proceso 2. Objetivo: autenticidad, integridad y carácter no repudiable del
documento
Luego Fermat ejecuta cierto algoritmo
Paso 1: Fermat genera A = 01 conocido, usando como inputs dos
su “firma digital” B = 02 números: 1) el mensaje, y 2) su clave
C = 03 privada.
(…)
Clave
pública
úbli
3784629 “firma digital”
Soy
1583896 8237906 de Fermat.
Fermat.
Te compro 8483750
Clave
el auto = 937
FINAL
privada Si los dos coinciden, Euler
sabe que la firma digital
fue generada con la clave
Paso 2: Fermat envía dos cosas: el texto legible
g y la “firma digital”
g privada de Fermat, y que
ademas Fermat no podra
Soy negar su paternidad.
Soy
Fermat. Fermat.
Te compro Te compro
el auto el auto
A = 01
Web B = 02
3784629 C = 03
3784629 (…)
8237906 8237906 La clave ppública
REVIERTE lo que
la clave privada
hizo: Soy
1583896
Euler ejecuta la 2a parte del Fermat.
algoritmo,
l it usando
d como
inputs dos números: 1) la
8483750
937 = T compro
Te
el auto
firma digital de Fermat, y 2)
la clave publica de Fermat.
Notas sobre el Proceso 2. Nota 1: la firma digital NO es una reproducción de la firma
gráfica manuscrita
1583896 A esta
8483750 3784629 secuencia
Soy Fermat. Te
93701… 8237906 numérica se
compro el auto.
= 4920 denomina
“firma
firma digital
digital”
Fermat ejecuta un algoritmo de Fermat.
conocido, usando dos inputs:
1) el mensaje, y 2) su clave
privada
Soy FINAL
Soy
Fermat. Ya que no hay
Fermat.
Autorizo igualdad, Euler
Autorizo
Etc
Etc. sabe que el
Etc. La clave pública documento no
Web de Fermat NO vino de Fermat .
REVIERTE lo que A = 01
3784629 3784629 la clave privada de B = 02
8237906 8237906 Caín hizo
hizo. Por C = 03
tanto el algoritmo (…)
arroja otro
resultado:
Euler ejecuta la 2a parte del Bgjnrjvh
algoritmo,
l it usando
d como sielfhsuc
inputs dos números: 1) la
firma digital recibida, y 2) la
= nwbgutk
Soy Soy
Fermat. Fermat.
Te compro De letras a números
Te compro
el auto el auto A = 01
Web B = 02
C = 03
3784629 3784629 (…)
8237906 8237906 La clave pública
REVIERTE lo que
la clave privada
hizo: Soy
1583896 Fermat.
Euler ejecuta
j la 2a pparte
del algoritmo, usando
como inputs dos números:
8483750
937 = T compro
Te
el auto
1) la firma digital de
Fermat, y 2) la clave
pública de Fermat.
Nota 4 sobre el Proceso 2: a diferencia de la firma manuscrita, la “firma digital” de Fermat NO es
un elemento constante, sino que cambia con cada documento que Fermat produce.
=
Observe: no son
iguales, pero son 5. Fermat dice que sólo envió M2.
M2 muy semejantes
6. Euler demuestra ante el Juez
Soy Fermat. 5729584 FD2 que, aplicando la clave pública
Mi oferta es de Fermat sobre FD1,
FD1 se
un millón. = 8375019
2817…
5789
7354628
98750 obtiene M1.
8. El Juez no tendría forma de saber si Fermat envió M1 y M2 o si (como el dice) sólo envió M2.
Y por tanto no podría obligarlo a cumplir M1.
Nota 5 (continuación).‐ Afortunadamente la matemática detrás de la criptografía asimétrica tiene como
c o n s e c u e n c i a q u e , a u n c u a n d o d o s n ú m e ro s M 1 y M 2 ( l o s m e n s a j e s o r i g i n a l e s )
estén muy próximos el uno al otro, los valores resultantes FD1 y FD2 (las firmas digitales) serán muy
dif
diferentes.
t
A = 01
B = 02
C = 03 Fermat aplica su
(…) clave privada
M1 FD1
5729584 7354628 Firma
Soyy Fermat . 8375019 98750 di it l 1
digital
Mi oferta es un
billón. = 2802…
5789
Son
No son iguales, totalmente
pero son muy diferentes
semejantes
M2 FD2
Soy Fermat. 5729584 9446285
Mi oferta es
un millón. = 8375019
2817
2817…
5789
563711 Firma
digital 2
Fermat aplica su
A = 01 clave privada
B = 02
C = 03
(…)
¿Todo bien hasta aquí ?
En el Proceso 1, la primera parte era esta:
Clave
Fermat ENCRIPTA
ENCRIPTA, usando dos números Clave pública
A = 01 privada
como inputs: 1) el mensaje, y 2) la clave
B = 02
pública de Euler.
C = 03 0572958
(…) 4837501
Exámenes 7354628 7354628
9283
9283…
Serológicos 98750 98750
5789 Web
de Euler
= Euler
Pregunta fundamental: ¿Cómo sabe Fermat que esa clave pública efectivamente pertenece a Euler?
Pregunta fundamental: ¿Cómo sabe Euler que esa clave pública efectivamente pertenece a Fermat?
El ataque del “hombre en el medio”
Fermat.
Fermat Caín.
Caín
Clave pública = 20. Clave pública = 17.
Euler.
Clave pública = 13.
La clave:
L l
X4 9J 85 58 G9 V7 68 H0
X4 9J 85 58 G9 V7 68 H0
Generación del certificado digital
2. Euler envía 3 cosas a una
1. Euler genera sus dos claves con entidad de registro:
un programa idóneo clave 2
Entidad de registro ER
Documento 1:
Solicitud para obtener
un certificado digital
Documento 2:
La misma solicitud,
cifrada con la clave 1,
y por tanto sólo desci-
Clave privada: Clave pública: frable con la clave 2.
“clave
clave 1”
1. “clave 2”.
X4 9J 85 58 G9 V7 68 H0
Clave privada de la
entidad de certificación.
Algoritmo
para obtener
firma digital
Firma digital
Esta
s a firma addigital
g a de laa
EC es almacenada
como el último campo
del certificado digital.
Contenido del certificado digital
En la presentación del certificado en la pantalla (versión 3 del X.509) la firma de la
certificadora NO queda a la vista de los usuarios finales. Los principales campos visibles del
certificado son los siguientes:
Algoritmo de Firma.-
Firma Indica cuál es el
proceso matemático seguido por la
certificadora para cifrar este certificado
con su clave privada (ver RFC 2459).
Período de validez
Paso 4 Paso 6
¿Es R2 = R1?
Algoritmo para
“desfirmar”.
Sí No
Paso 5
Resumen (R2)
El certificado El certificado es
es válido
válido. inválido Rechazado.
inválido. Rechazado
Aceptado.
Verificación de la firma de la certificadora en un certificado
Se crea un resumen de
todos los campos del
certificado.
Versión
Número de serie del certificado Paso 1
1 Aquí hay algo
1. en donde
Identificador del algoritmo de firma Algoritmo
debemos detenernos:
Nombre del emisor para resumir
Nombre del asunto
Información de la clave p pública del asunto Paso 2
Extensiones
Firma digital de la entidad de certificación Resumen (R1)
Paso 3
E l
Euler 5 certificados: de Euler y de las certificadoras D, C, B y A. Fermat
A certifica A certifica
que la clave que la clave
El software navegador
g B certifica
pública de B pública de A
de Fermat revisa la que la clave
es 104. es 681.
cadena de certificados, pública de C
hasta encontrar uno al C certifica es 362.
cual reconozca. que la clave
pública de D
es 199. La autenticidad de cada certificado es respaldada por un
D certifica certificado anterior, cuya autenticidad, a su vez, es
que la clave respaldada por otro anterior… hasta que llegamos a una
pública de organización que auto-genera su propio certificado.
E l es 493
Euler
C C
1. Espionaje
Información
A Confidencial
B Si “A” envía la información cifrada con la
clave pública de “B”, “C” no puede
acceder a ella. Sólo podría descifrarla con
la clave privada de “B”
B.
C
2. Suplantación de identidad
A Soy el cliente A B