Академический Документы
Профессиональный Документы
Культура Документы
Factores Primos
Cualquier entero del tipo pk sólo La Función de Euler (a) se define para
puede ser dividido por enteros que todos los enteros positivos a y representa la
contengan alguno de sus factores cantidad de números de la sucesión 0, 1, 2,
primos, elevado a una potencia menor ..., a-1 que son primos relativos con a.
o igual que k.
a p11 p2 2 ... pk k
Ejemplo: (a) = (p11- p11-1)·(p22- p22-1) ... (pkk- pkk-1)
Conociendo su factorización, podemos enumerar
todos los divisores de un número.
720 = 24 32 51 Ejemplo: 720 = 24 32 51
• Si el módulo es primo, todos sus residuos son primos relativos con él, por
lo que siempre existe inversa multiplicativa.
• La operación producto representa (n-1) permutaciones “particulares” del
conjunto de residuos (6 permutaciones frente a 6! = 720 posibilidades).
+ 0 1 2 3 4 5 6 -W W-1 x 0 1 2 3 4 5 6 6! = 720
0 0 1 2 3 4 5 6 0 0 0 0 0 0 0 0 0
1 1 2 3 4 5 6 0 6 1 1 0 1 2 3 4 5 6 P Identidad
2 2 3 4 5 6 0 1 5 4 2 0 2 4 6 1 3 5
3 3 4 5 6 0 1 2 4 5 3 0 3 6 2 5 1 4
PInversas
4 4 5 6 0 1 2 3 3 2 4 0 4 1 5 2 6 3
5 5 6 0 1 2 3 4 2 3 5 0 5 3 1 6 4 2
6 6 0 1 2 3 4 5 1 6 6 0 6 5 4 3 2 1 P AutoInversa
Demostración:
• Todos los elementos de Zp, multiplicados por a dan como resultado
todos los elementos de Zp en algún orden:
[a mod p, 2a mod p, ..., (p-1)a mod p]
Si multiplicamos todos estos resultados,
Pierre de Fermat
a · 2a · … · (p-1)a
(a mod p · 2a mod p · ... · (p-1)a mod p) mod p
ap-1(p-1)! (p-1)! mod p
eliminando factores comunes tenemos ap-1 1 mod p [cqd].
Teorema de Euler
Para cualquier a y n que son Primos Relativos, se cumple
a(n) 1 mod n
Demostración:
La ecuación anterior es cierta para n primo porque entonces…
(n) = n-1 (T. de Fermat) donde (n) es el número (n) (n)
i 1 i 1
- a y xi son primos relativos con n por lo que axi
también es un primo relativo y axi mod n R. a ( n ) 1 mod n
- No hay duplicados en S y están todos los restos a ( n ) 1 a mod n
Pruebas de Primalidad
• Para probar que un número es primo basta con
demostrar que no es divisible por ningún primo menor
que su raíz cuadrada.
– El método requiere conocer previamente todos los
Erastótenes
números primos menores que n.
– El número de divisiones puede ser inmenso.
• No hay todavía un método eficiente y general para
probar que un número grande es primo.
Martin Hellman
Distribución de Claves
• En criptografía simétrica ambas partes deben conocer la
misma clave secreta.
• La clave tiene que ser distribuida o intercambiada antes de
poder usarla.
• La distribución de claves siempre se ha hecho en persona,
mediante mensajeros confiables (claveros), o mandando la
clave cifrada a través de otro canal cifrado.
Mensaje
diferentes (P y p)
• La existencia de dos claves permite
guardar una de ellas y hacerla
E D
equivalente a una identidad digital.
• La clave de cifrado P se hace Pública, Criptograma Mensaje
mientras que la clave de descifrado p
se mantiene Secreta (clave privada).
La criptografía asimétrica resuelve el
• El cifrado asimétrico elimina la
problema de la distribución previa y
necesidad de un secreto compartido secreta de las claves de cifrado.
entre los comunicantes.
La Firma Digital
• Si las operaciones de Cifrado y descifrado
conmutan:
M = D(E(M)) = E(D(M)) S1
se puede establecer un procedimiento de
Firma Digital. M1
• Dado que todo mensaje procesado con la Verificador
clave Privada podrá revertirse con la clave M1
S1
Pública, que es conocida por todos, entonces
definimos:
S1
Firma: Si = Dp(Mi) Firmante
Verificación: Mi = EP(Si) S1
La identidad va asociada
1. con el secreto y la seguridad en la M1
custodia de la clave privada. Verificador
2. con la autenticidad de las claves públicas
diseminadas.
El Criptosistema RSA
Se basa en la diferente complejidad computacional entre multiplicar
números primos y factorizar números compuestos.
Descifrado:
M = Cd mod n = 1627 mod 55 = 36
Criptosistema ElGamal
• Propuesto en 1985 por Taher ElGamal en su artículo “A
Public key Cryptosystem and A Signature Scheme based on discrete
Logarithms”.
• Es un sistema de cifrado homomórfico y maleable por
diseño, por lo que no es adecuado per se, para la
transmisión segura de datos.
• Utiliza un número primo p, que define un grupo Taher ElGamal
multiplicativo Zp sobre el que se van a realizar todas las
operaciones.
Cifrado
Establecimiento del Sistema: Homomórfico:
Cifrado donde se
- Se elige un número primo p. puede realizar ciertas
- Del grupo Zp se elige un elemento [2, p-1] operaciones
algebraicas sobre el
texto en claro
Identidades Digitales: haciendo una
operación algebraica
- Cada agente elige en secreto un número aleatorio ui (posiblemente distinta)
(clave privada) y calcula su clave pública yi: en su criptograma.
yi = ui mod p
Criptosistema ElGamal
Cifrado: A envía un mensaje M a B
- A elige un número aleatorio v y calcula v mod p
- A toma la clave pública de B, yB, y calcula
(yB)v mod p
y luego calcula
M·(yB)v mod p
- A envía a B el par
C = (v mod p, M·(yB)v mod p) El cifrado consiste
en aplicar un “velo”
aleatorio (yB)v al
Descifrado: B recibe un mensaje C de A texto en claro, y
- B toma el primer elemento del criptograma y, usando su luego enviarle
clave privada, calcula información al
destinatario
(v )uB mod p autorizado para
- B obtiene el mensaje original dividiendo que pueda quitarlo
(dividir)
M·(yB)v mod p / (v)uB mod p = M
Intercambio de Claves Diffie-Hellman
Raíces Primitivas:
• Se define una raíz primitiva de un número primo p como aquella
cuyas potencias generan todos los enteros del conjunto de
residuos [1, p-1] (permutación).
Logaritmo Discreto:
• Para cualquier entero b y raíz primitiva a del número primo p uno
puede encontrar un único exponente i tal que:
b = ai mod p
• El exponente i es el logaritmo discreto (módulo p) de b para la
base a.
Intercambio de Claves Diffie-Hellman
yB . Intercambio . yA
calcula K = yBxA mod q calcula K = yAxB mod q
K = xA·xB mod q K = xA·xB mod q
Criptografía con Curvas Elípticas
• Es una implementación de los principios de las criptografía de
clave pública. Se cree que
• Se basa en al estructura algebraica de las curvas elípticas sobre se pueden
campos finitos. conseguir
• Los protocolos basados en curvas-elípticas, suponen que es seguridades
imposible encontrar el logaritmo discreto de un elemento elegido similares a
al azar de la curva elíptica respecto al un valor públicamente las de RSA
conocido.
pero con
• El tamaño de la curva determina la dificultad del problema.
módulos
• Una curva elíptica es una curva plana de los puntos que mucho
satisfacen la ecuación:
menores.
y 2 x 3 ax b(mod p )
junto con un punto distinguido O denominado punto en el infinito o
punto ideal Este conjunto de
puntos y la
operación de
grupo forman un
Grupo Abeliano
con el punto en el
infinito como
elemento
identidad.
Criptografía con Curvas Elípticas
• El uso de curvas elípticas fue propuesto independientemente por
Neal Koblitz y Victor S. Miller en 1985.
• Al igual que otros Criptosistemas de clave pública, no hay prueba
NSA
matemática de la seguridad de la ECC. Suite B
• La generación de los parámetros supone contar el número de
puntos en una curva y eso es una tarea muy laboriosa.
• Varias instituciones de la estandarización han publicado sus
parámetros de dominio recomendados, en varios campos de uso
común (NIST, SECG, etc.).
• La NSA norteamericana ha asumido la ECC incluyéndola en lo que
se conoce como Suite B de algoritmos recomendados para la
protección de información clasificada hasta TOP SECRET con
claves de 384-bits.
• Hay patentes que controlan varios aspectos de la ECC.
• En EEUU, se puede utilizar el estándar federal ECDSA del NIST
(FIPS 186-3) y ciertos esquemas de intercambio de claves basados
en ECC (ECDH) sin infringir las patentes.
• Las curvas elípticas también se utilizan en algunos algoritmos de
factorización.
La Confidencialidad
• Su misión es ocultar la información de modo que
sólo sea inteligible para los destinatarios
conocedores de las correspondientes claves.
• Se puede conseguir mediante Criptosistemas
Simétricos o Asimétricos.
EA EA
K K
Clave de Clave de
Sesión Sesión
ES ES
Cifrado Descifrado
Autenticación
• Su misión es probar
– que la información no ha sido modificada en tránsito.
– que el origen de la información es el que pretende ser.
• Se puede conseguir mediante el uso de Funciones Hash y
Criptosistemas Simétricos o Asimétricos.
• La seguridad de los sistemas de autenticación depende de
– La calidad criptográfica de los algoritmos utilizados.
– La longitud efectiva de las claves y su almacenamiento.
– Su modo de uso.
– Del número de bytes de salida de las funciones hash.
• Utilizando una función hash se puede probar que el mensaje
no ha sido modificado por error (sólo integridad)
• Para probar la autoría de un mensaje hay que combinarlo
con la identidad de su autor.
Autenticación
Hash actual
Documento Documento
H H = SI
Documento Documento
Hash actual
H H
= SI
Hash en origen
Generar Verificación EA
EA Firma Digital Firma Digital
Clave Privada del remitente
Clave Pública del remitente
Infraestructuras de Clave Pública
TTP
• Son infraestructuras encargadas de Documentación y
relacionar el mundo digital de las claves Clave Pública
públicas, con un mundo externo no
digital (agentes, personas, instituciones, Autenticación de
persona, clave y vínculo
entes,…).
• Se basa en la existencia de Terceras
Partes de Confianza (TTPs).
• Participan de forma diferida y aportan
confianza a los agentes.
• Actúan a través de la emisión de
certificados digitales.
• Un certificado digital da fe de la relación Certificado
Certificado
entre una identidad externa (no digital) y Digital Digital
otra interna (digital): la clave pública que Presentación de
credenciales
se certifica.
Versión 3
Numero de Serie: 4E:38:D8:92:19:C3:C1:0C
Algoritmo de Firma: PKCS #1 SHA-256 con cifrado RSA
Emisor: O = CriptoLab CN = CriptoLab Root CA
Validez
No antes:12/01/2009 17:49:49 (12/01/2009 16:49:49 GMT)
No después:11/01/2015 17:49:49 (11/01/2015 16:49:49 GMT)
Certificado Digital
Asunto: O = CriptoLab CN = CriptoLab Root CA
Información de la clave pública del sujeto:
Algoritmo de la clave pública: PKCS #1 con cifrado RSA
Clave Publica del sujeto: Módulo (2048 bits):
92 39 4f 03 75 85 1f 3c de af 0e 4f 40 84 88 70 fb ef 5d Serial Number: Debe ser único e irrepetible.
55 a9 77 23 26 55 d8 7d 91 ce 22 f7 69 ab c0 1a 6b 69 54
3f 51 b1 88 8a e4 ce 22 c3 fd b9 82 2e ac 14 a9 32 8c 15 Subject: La persona o entidad identificada.
e3 f5 b8 8a 5e d8 4e b5 91 84 ca c9 16 5a 3c bf e2 9f 2a
ee 11 1e 01 1a 76 98 94 92 54 15 90 08 76 1e 35 5f 8d ee Signature Algorithm: Algoritmo de firma utilizado
en el certificado.
f8 f9 13 07 fa c9 fa e1 d7 2a a6 b7 f0 b7 d6 5a 2d 74 7d
a0 0e 85 65 a1 25 18 2f 96 c6 bb c7 28 bd a7 67 03 3e 96
b0 0c 11 58 f4 31 65 a2 2f 96 27 7f 67 22 7c 08
db 63 fa 84 03 fa a9 8e fb 64 dc b4 ea d1 66 48
4e
ab
66
b6
96
21 Issuer: Entidad emisora del certificado.
e9 1f 6a c9 4e 6f 0a b7 06 f7 4b f6 80 9b c9 ae
cf 6a 00 d1 45 d3 ab 34 d1 64 fb 05 fc b1 68 e4
94
00
3e
54
db
9b Valid-From: Fecha de inicia de validez.
03 8a 84 60 5d 7d fb 68 b9 1a 58 b4 7a 5d 46 0e
63 b1 12 2c 44 94 7e 33 05 af ab 12 75 ed ad 95
6e
38
45
1c
39
2a Valid-To: Fecha de caducidad.
25 a3 de b8 f3 e9 12 8a 17
Exponente (24 bits):: 65537
Key-Usage: Propósito de la clave pública
Algoritmo de firma del certificado: PKCS #1 SHA-256 con cifrado RSA certificada (e.g. cifrado, firma, emisión de certificados,
Valor de la firma: Tamaño: 256 Bytes / 2048 Bits
30 0a 3e 35 47 4c 85 75 47 31 44 a3 fb c0 83 d5 08 76 2e
etc.).
5f da 18 ff 1d 25 e1 e5 d4 7d 6b 99 95 78 d7 65 1a b6
0d 12 48 ec eb d0 8f 4f 56 d2 63 41 ae 76 8e 85 9e 3d
f1
9f
Public Key: Clave Pública que de la que se
da 4e 8b 8b b7 ad ab 0a c1 2f ad 94 d5 61 02 0d b7 c2 e9 certifica que pertenece en exclusiva al Subject.
1b ac e2 c5 f9 2a 9b 31 1c d6 e7 76 3e 62 fe 5a 9d ff 70
f4 14 42 6f 1f 6b 0c 43 33 f2 cd 2e d5 cd 02 21 e8 dd
38 1c 98 58 6a d4 1e c9 f3 43 b3 08 98 4e 9b fc db 8e
44
67
Thumbprint Algorithm: Algoritmo hash utilizado
ee b3 f2 f5 ad 11 8e a6 25 16 ee e1 7e a1 0a 06 88 de d1 en la creación del certificado.
Thumbprint: El valor hash del certificado para
fd 3a d5 9f 85 10 43 c4 92 41 05 54 9b 90 7d 83 75 24 5e
72 46 47 6e 43 30 a0 98 fa 7c 1a c7 80 20 48 09 ec 75 76
Ejemplos:
• Fallo en la aleatoriedad del SSL de Netscape de UC Berkeley,
• Implementación errónea del protocolo PPTP por parte de
Microsoft.
• Fallo en el generador de números aleatorios de la distribución
Open SSL 0.9.8c-1 (CVE-2008-0166) de la distribución Debian
de Linux (Luciano Bello, 2008).
Invisibilidad de los fallos