SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
Cifrados
Asimétricos
● Alejandro Larraondo Lamchog
● Ingrid Espinel Quispe
● Katherine Uñapilco Chambi
DSA
DSA o Algoritmo de Firma digital es un estándar del Gobierno Federal de los Estados
Unidos de América o FIPS para firmas digitales. Fue un Algoritmo propuesto por el Instituto
Nacional de Normas y Tecnología de los Estados Unidos para su uso en su Estándar de
Firma Digital (DSS), especificado en el FIPS 186. DSA se hizo público el 30 de agosto de
1991, este algoritmo sirve para firmar y no para cifrar información. Una desventaja de este
algoritmo es que requiere mucho más tiempo de cómputo que RSA.
Características
Requisitos de la firma digital:
a) Debe ser fácil de generar.
b) Será irrevocable, no rechazable por su propietario.
c) Será única, sólo posible de generar por su propietario.
d) Será fácil de autenticar o reconocer por su propietario y los usuarios receptores.
e) Debe depender del mensaje y del autor
Firma Digital
Supongamos que A quiere enviar un mensaje a B. Este mensaje puede ir cifrado o no, pero
A está interesado en "firmar" el mensaje de forma que B pueda estar seguro que el
mensaje que le llega ha sido originado por A y no por ninguna otra entidad. Los pasos que
A seguirá son:
1. Crea un resumen (digest) del mensaje que quiere enviar, utilizando una función hash
2. Representa este resumen como un entero M entre 0 y n-1
3. Usa su propia clave privada (dA,nA) para computar la firma S= (M)dA mod nA
4. Envía esa firma S al receptor B conjuntamente con el mensaje original (que puede ir
cifrado o no, según se quiera). Evidentemente, la firma S no podrá ser manipulada
por nadie una vez generada, porque si se cambia un sólo bit de la firma fallaría la
verificación de ésta en destino.
Verificación de Firma Digital
Cuando B recibe la firma S y el mensaje de A, sigue estos pasos:
● Utiliza la clave pública del remitente A para computar V = (S)eA mod nA
● Del entero V obtiene el resumen r del mensaje tal y como fue computado por A
● Paralelamente, computa un resumen r' del mensaje que le ha llegado utilizando la
función hash correspondiente
● Si ambos resúmenes r y r' coinciden, entonces queda verificada la firma. Entonces
puede asegurarse que el mensaje solo ha podido ser originado por A y además el
mensaje ha llegado íntegramente (sin ver alterado su contenido durante la
transmisión por el canal inseguro) hasta B.
Criptosistema de Merkle-Hellman
Merkle-Hellman (MH) fue uno de los primeros criptosistemas de
llave pública y fue inventado por Ralph Merkle y Martin Hellman en
1978.
Es un criptosistema asimétrico, esto significa que para la
comunicación, se necesitan dos llaves:
- Una llave pública (Sólo para cifrar)
- Una privada (Sólo para descifrar)
Sirve sólo para cifrado. De este modo, no se puede usar para tareas
de autentificación por firma electrónica.
Basado en el problema de la suma del subconjunto (un caso especial del problema de la
mochila). Tenemos lo siguiente: dado un conjunto de números "a" y un número "b",
encuentre un subconjunto de "a", que dada su suma salga "b". Por ejemplo:
a = [ 1 ,3, 6, 2, 5] b = 8
Sa = [ 3 , 5 ]
Usaremos esto en la operación de descifrado.
NOTA: Merkle-Hellman no se utiliza actualmente puesto que fue rota a principios de los
años 80 por Adi Shamir.
Ataque por fuerza bruta
Un sistema de Merkle-Hellman que utilice una mochila de n = 100 elementos no es
sensible a un ataque por fuerza bruta (un ordenador capaz de 10⁶ operaciones por
segundo tardaría 1046 años en probar todas las mochilas super crecientes)
Debilidades
Adi Shamir y Richard Zippel encontraron debilidades cuando:
- Se conoce el módulo (q) o puede deducirse.
- Los dos primeros elementos de la clave pública corresponden con los dos
primeros elementos de la clave privada y son primos con el módulo “q”.
- Con estos datos, podemos generar la clave privada a partir de la pública ya
que encontraremos el inverso multiplicativo modular s’ = inv(q,r).
Generación de las claves
Las claves están compuestas por secuencias.
Restricciones de la clave:
- Clave pública es una secuencia "difícil".
- Clave privada es una secuencia "fácil" (de “n” valores super crecientes),
acompañados de un multiplicador(r) y un módulo(q), los cuales se usan para
convertir la secuencia super creciente en una secuencia difícil.
- Se recomienda que “n” sea mayor o igual que 100.
- r y q son coprimos, es decir, mcd ( r, q) = 1.
- El módulo (q) debe ser mayor a la sumatoria de los valores de la clave privada.
- La clave privada genera la clave pública (su longitud también será “n”).
Sea nuestra sucesión super creciente:
Ejemplo: [1, 3, 5, 12, 24, 46]
Cifrado
Para cifrar un mensaje, se lo divide en subsecuencias que tengan la longitud (n) de la clave
pública, luego se eligen los elementos de la secuencia difícil (clave privada) emparejando las
posiciones. Finalmente se suman los elementos elegidos, y nos sale el texto cifrado.
Secuencia difícil (Clave pública) : [81, 108, 88, 48, 96, 64]
Palabra=000010000000001110001101
Deberá dividir el mensaje en cadenas de 6 : 000010 000000 001110 001101
El primero: 81x0 + 108x0 + 88x0 + 48x0 + 96x1 + 64x0 = 96.
El segundo: 81x0 + 108x0 + 88x0 + 48x0 + 96x0 + 64x0 = 0.
El tercero: 81x0 + 108x0 + 88x1 + 48x1 + 96x1 + 64x0 = 232.
El cuarto: 81x0 + 108x0 + 88x1 + 48x1 + 96x0 + 64x1 = 200.
El mensaje codificado es: [ 96,0,232,200 ]
Descifrado
El descifrado es posible, porque el multiplicador y el módulo usados para transformar la
llave privada en la llave pública, también pueden ser usados para transformar el texto
cifrado (representado por un número) en la suma de los elementos que conforman la
subsecuencia super creciente.
Aplicando la fórmula para descifrar:
c’ : texto descifrado
c : texto cifrado
Si el mensaje codificado es: [ 96,0,232,200 ] , q = 155
Aplicando:
96x23 (módulo 155) = 2208 (módulo 155) = 38 = 000010.
Donde s es el inverso del módulo (inverso multiplicativo modular) de q y r.
De tal manera que se cumple:
r * s(mod q) = 1
EJEMPLO
Clave privada:
[3, 4, 9, 19, 38, 77]
con r = 27 y q = 155
Clave pública:
3 x 27 (mod 155) = 81
4 x 27 (mod 155) = 108
9 x 27 (mod 155) =88
19 x 27 (mod 155) =48
38 x 27 (mod 155) =96
77 x 27 (mod 155) =64
[81, 108, 88, 48, 96, 64]
Palabra=000010000000001110001101
Deberá dividir el mensaje en cadenas de 6
000010 000000 001110 001101
El primero: 81x0 + 108x0 + 88x0 + 48x0 + 96x1 + 64x0 = 96.
El segundo: 81x0 + 108x0 + 88x0 + 48x0 + 96x0 + 64x0 = 0
El tercero: 81x0 + 108x0 + 88x1 + 48x1 + 96x1 + 64x0 = 232.
El cuarto: 81x0 + 108x0 + 88x1 + 48x1 + 96x0 + 64x1 = 200.
El mensaje codificado es: [ 96,0,232,200 ]
Utilizando los valores de la clave pública,
se codificará el mensaje
Clave pública: [81, 108, 88, 48, 96, 64]
Mensaje: 000010 000000 001110 001101
Clave privada: [3, 4, 9, 19, 38, 77]
Se calcula (usando el Algoritmo de Euclides extendido) el inverso
del módulo de 27 y 155 que vale 23.
Utiliza a continuación su clave privada para descifrar y obtiene:
96x23 (módulo 155) = 2208 (módulo 155) = 38 = 000010.
0x23 (módulo 155) = 0 (módulo 155) = 0 = 000000.
232x23 (módulo 155) = 5336 (módulo 155) = 66 = 9 + 19 + 38 = 001110.
200x23 (módulo 155) = 4600 (módulo 155) = 105 = 9 + 19 + 77 = 001101.
El mensaje codificado es: [ 96,0,232,200 ]
Algoritmo voraz

Más contenido relacionado

La actualidad más candente (11)

Manual de políticas de seguridad informática
Manual de políticas de seguridad informáticaManual de políticas de seguridad informática
Manual de políticas de seguridad informática
 
Monografia encriptacion
Monografia encriptacionMonografia encriptacion
Monografia encriptacion
 
Ejercicio de subneteo vlsm y cidr
Ejercicio de subneteo vlsm y cidrEjercicio de subneteo vlsm y cidr
Ejercicio de subneteo vlsm y cidr
 
Documents.tips metodo para-el-calculo-de-subredes
Documents.tips metodo para-el-calculo-de-subredesDocuments.tips metodo para-el-calculo-de-subredes
Documents.tips metodo para-el-calculo-de-subredes
 
陳君翰 BB84 0718
陳君翰 BB84 0718陳君翰 BB84 0718
陳君翰 BB84 0718
 
Algoritmos de Encriptacion / MD2, MD4 y MD5
Algoritmos de Encriptacion / MD2, MD4 y MD5Algoritmos de Encriptacion / MD2, MD4 y MD5
Algoritmos de Encriptacion / MD2, MD4 y MD5
 
Elliptic Curve Cryptography
Elliptic Curve CryptographyElliptic Curve Cryptography
Elliptic Curve Cryptography
 
MéTodos De EncriptacióN
MéTodos De EncriptacióNMéTodos De EncriptacióN
MéTodos De EncriptacióN
 
RSA crypt4you
RSA crypt4youRSA crypt4you
RSA crypt4you
 
La norma PCI-DSS
La norma PCI-DSSLa norma PCI-DSS
La norma PCI-DSS
 
Capítulo 1: Introducción a la Criptografía
Capítulo 1: Introducción a la CriptografíaCapítulo 1: Introducción a la Criptografía
Capítulo 1: Introducción a la Criptografía
 

Similar a Cifrado Asimetrico

Algoritmos De Encriptacion Para
Algoritmos De Encriptacion ParaAlgoritmos De Encriptacion Para
Algoritmos De Encriptacion Para
Andy Arevalo
 
Algoritmos Para Encriptar Claves
Algoritmos Para Encriptar ClavesAlgoritmos Para Encriptar Claves
Algoritmos Para Encriptar Claves
Diana Yánez
 
Encriptacion De Claves Publicas Y Claves Privadas
Encriptacion De Claves Publicas Y Claves PrivadasEncriptacion De Claves Publicas Y Claves Privadas
Encriptacion De Claves Publicas Y Claves Privadas
christian
 
Encriptacion De Claves Publicas Y Claves Privadas
Encriptacion De Claves Publicas Y Claves PrivadasEncriptacion De Claves Publicas Y Claves Privadas
Encriptacion De Claves Publicas Y Claves Privadas
christian
 
CIFRADO DE CLAVE PUBLICA Y PRIVADA
CIFRADO DE CLAVE PUBLICA Y PRIVADACIFRADO DE CLAVE PUBLICA Y PRIVADA
CIFRADO DE CLAVE PUBLICA Y PRIVADA
danyro
 

Similar a Cifrado Asimetrico (20)

Up encriptacion publica v1.2
Up encriptacion publica v1.2Up encriptacion publica v1.2
Up encriptacion publica v1.2
 
Algoritmos De Encriptacion Para
Algoritmos De Encriptacion ParaAlgoritmos De Encriptacion Para
Algoritmos De Encriptacion Para
 
Algoritmos Para Encriptar Claves
Algoritmos Para Encriptar ClavesAlgoritmos Para Encriptar Claves
Algoritmos Para Encriptar Claves
 
Criptosistemas
CriptosistemasCriptosistemas
Criptosistemas
 
Rsa eddy montalvan
Rsa eddy montalvanRsa eddy montalvan
Rsa eddy montalvan
 
Cifrado por RSA.
Cifrado por RSA.Cifrado por RSA.
Cifrado por RSA.
 
Xjj
XjjXjj
Xjj
 
poco de encriptacion
poco de encriptacionpoco de encriptacion
poco de encriptacion
 
Rsa
RsaRsa
Rsa
 
Medidas seguridad implementadas en Nepcom
Medidas seguridad implementadas en NepcomMedidas seguridad implementadas en Nepcom
Medidas seguridad implementadas en Nepcom
 
Paper de Criptografía sobre Ataque a la clave por la paradoja del cumpleaños ...
Paper de Criptografía sobre Ataque a la clave por la paradoja del cumpleaños ...Paper de Criptografía sobre Ataque a la clave por la paradoja del cumpleaños ...
Paper de Criptografía sobre Ataque a la clave por la paradoja del cumpleaños ...
 
RSA
RSARSA
RSA
 
Flores Carrera Jennifer 1 A
Flores Carrera Jennifer 1 AFlores Carrera Jennifer 1 A
Flores Carrera Jennifer 1 A
 
algorimos claves publicas y privadas
algorimos claves publicas y privadasalgorimos claves publicas y privadas
algorimos claves publicas y privadas
 
Aclarando dudas sobre RSA
Aclarando dudas sobre RSAAclarando dudas sobre RSA
Aclarando dudas sobre RSA
 
Criptografia.pdf
Criptografia.pdfCriptografia.pdf
Criptografia.pdf
 
Encriptacion De Claves Publicas Y Claves Privadas
Encriptacion De Claves Publicas Y Claves PrivadasEncriptacion De Claves Publicas Y Claves Privadas
Encriptacion De Claves Publicas Y Claves Privadas
 
Encriptacion De Claves Publicas Y Claves Privadas
Encriptacion De Claves Publicas Y Claves PrivadasEncriptacion De Claves Publicas Y Claves Privadas
Encriptacion De Claves Publicas Y Claves Privadas
 
Mecanismos de seguridad en el desarrollo de aplicaciones
Mecanismos de seguridad en el desarrollo de aplicacionesMecanismos de seguridad en el desarrollo de aplicaciones
Mecanismos de seguridad en el desarrollo de aplicaciones
 
CIFRADO DE CLAVE PUBLICA Y PRIVADA
CIFRADO DE CLAVE PUBLICA Y PRIVADACIFRADO DE CLAVE PUBLICA Y PRIVADA
CIFRADO DE CLAVE PUBLICA Y PRIVADA
 

Cifrado Asimetrico

  • 1. Cifrados Asimétricos ● Alejandro Larraondo Lamchog ● Ingrid Espinel Quispe ● Katherine Uñapilco Chambi
  • 2. DSA DSA o Algoritmo de Firma digital es un estándar del Gobierno Federal de los Estados Unidos de América o FIPS para firmas digitales. Fue un Algoritmo propuesto por el Instituto Nacional de Normas y Tecnología de los Estados Unidos para su uso en su Estándar de Firma Digital (DSS), especificado en el FIPS 186. DSA se hizo público el 30 de agosto de 1991, este algoritmo sirve para firmar y no para cifrar información. Una desventaja de este algoritmo es que requiere mucho más tiempo de cómputo que RSA.
  • 3. Características Requisitos de la firma digital: a) Debe ser fácil de generar. b) Será irrevocable, no rechazable por su propietario. c) Será única, sólo posible de generar por su propietario. d) Será fácil de autenticar o reconocer por su propietario y los usuarios receptores. e) Debe depender del mensaje y del autor
  • 4. Firma Digital Supongamos que A quiere enviar un mensaje a B. Este mensaje puede ir cifrado o no, pero A está interesado en "firmar" el mensaje de forma que B pueda estar seguro que el mensaje que le llega ha sido originado por A y no por ninguna otra entidad. Los pasos que A seguirá son: 1. Crea un resumen (digest) del mensaje que quiere enviar, utilizando una función hash 2. Representa este resumen como un entero M entre 0 y n-1 3. Usa su propia clave privada (dA,nA) para computar la firma S= (M)dA mod nA 4. Envía esa firma S al receptor B conjuntamente con el mensaje original (que puede ir cifrado o no, según se quiera). Evidentemente, la firma S no podrá ser manipulada por nadie una vez generada, porque si se cambia un sólo bit de la firma fallaría la verificación de ésta en destino.
  • 5. Verificación de Firma Digital Cuando B recibe la firma S y el mensaje de A, sigue estos pasos: ● Utiliza la clave pública del remitente A para computar V = (S)eA mod nA ● Del entero V obtiene el resumen r del mensaje tal y como fue computado por A ● Paralelamente, computa un resumen r' del mensaje que le ha llegado utilizando la función hash correspondiente ● Si ambos resúmenes r y r' coinciden, entonces queda verificada la firma. Entonces puede asegurarse que el mensaje solo ha podido ser originado por A y además el mensaje ha llegado íntegramente (sin ver alterado su contenido durante la transmisión por el canal inseguro) hasta B.
  • 6.
  • 7.
  • 8. Criptosistema de Merkle-Hellman Merkle-Hellman (MH) fue uno de los primeros criptosistemas de llave pública y fue inventado por Ralph Merkle y Martin Hellman en 1978. Es un criptosistema asimétrico, esto significa que para la comunicación, se necesitan dos llaves: - Una llave pública (Sólo para cifrar) - Una privada (Sólo para descifrar) Sirve sólo para cifrado. De este modo, no se puede usar para tareas de autentificación por firma electrónica.
  • 9. Basado en el problema de la suma del subconjunto (un caso especial del problema de la mochila). Tenemos lo siguiente: dado un conjunto de números "a" y un número "b", encuentre un subconjunto de "a", que dada su suma salga "b". Por ejemplo: a = [ 1 ,3, 6, 2, 5] b = 8 Sa = [ 3 , 5 ] Usaremos esto en la operación de descifrado. NOTA: Merkle-Hellman no se utiliza actualmente puesto que fue rota a principios de los años 80 por Adi Shamir.
  • 10. Ataque por fuerza bruta Un sistema de Merkle-Hellman que utilice una mochila de n = 100 elementos no es sensible a un ataque por fuerza bruta (un ordenador capaz de 10⁶ operaciones por segundo tardaría 1046 años en probar todas las mochilas super crecientes) Debilidades Adi Shamir y Richard Zippel encontraron debilidades cuando: - Se conoce el módulo (q) o puede deducirse. - Los dos primeros elementos de la clave pública corresponden con los dos primeros elementos de la clave privada y son primos con el módulo “q”. - Con estos datos, podemos generar la clave privada a partir de la pública ya que encontraremos el inverso multiplicativo modular s’ = inv(q,r).
  • 11. Generación de las claves Las claves están compuestas por secuencias. Restricciones de la clave: - Clave pública es una secuencia "difícil". - Clave privada es una secuencia "fácil" (de “n” valores super crecientes), acompañados de un multiplicador(r) y un módulo(q), los cuales se usan para convertir la secuencia super creciente en una secuencia difícil. - Se recomienda que “n” sea mayor o igual que 100. - r y q son coprimos, es decir, mcd ( r, q) = 1. - El módulo (q) debe ser mayor a la sumatoria de los valores de la clave privada. - La clave privada genera la clave pública (su longitud también será “n”).
  • 12. Sea nuestra sucesión super creciente: Ejemplo: [1, 3, 5, 12, 24, 46]
  • 13. Cifrado Para cifrar un mensaje, se lo divide en subsecuencias que tengan la longitud (n) de la clave pública, luego se eligen los elementos de la secuencia difícil (clave privada) emparejando las posiciones. Finalmente se suman los elementos elegidos, y nos sale el texto cifrado. Secuencia difícil (Clave pública) : [81, 108, 88, 48, 96, 64] Palabra=000010000000001110001101 Deberá dividir el mensaje en cadenas de 6 : 000010 000000 001110 001101 El primero: 81x0 + 108x0 + 88x0 + 48x0 + 96x1 + 64x0 = 96. El segundo: 81x0 + 108x0 + 88x0 + 48x0 + 96x0 + 64x0 = 0. El tercero: 81x0 + 108x0 + 88x1 + 48x1 + 96x1 + 64x0 = 232. El cuarto: 81x0 + 108x0 + 88x1 + 48x1 + 96x0 + 64x1 = 200. El mensaje codificado es: [ 96,0,232,200 ]
  • 14. Descifrado El descifrado es posible, porque el multiplicador y el módulo usados para transformar la llave privada en la llave pública, también pueden ser usados para transformar el texto cifrado (representado por un número) en la suma de los elementos que conforman la subsecuencia super creciente. Aplicando la fórmula para descifrar: c’ : texto descifrado c : texto cifrado
  • 15. Si el mensaje codificado es: [ 96,0,232,200 ] , q = 155 Aplicando: 96x23 (módulo 155) = 2208 (módulo 155) = 38 = 000010. Donde s es el inverso del módulo (inverso multiplicativo modular) de q y r. De tal manera que se cumple: r * s(mod q) = 1
  • 16. EJEMPLO Clave privada: [3, 4, 9, 19, 38, 77] con r = 27 y q = 155 Clave pública: 3 x 27 (mod 155) = 81 4 x 27 (mod 155) = 108 9 x 27 (mod 155) =88 19 x 27 (mod 155) =48 38 x 27 (mod 155) =96 77 x 27 (mod 155) =64 [81, 108, 88, 48, 96, 64]
  • 17. Palabra=000010000000001110001101 Deberá dividir el mensaje en cadenas de 6 000010 000000 001110 001101
  • 18. El primero: 81x0 + 108x0 + 88x0 + 48x0 + 96x1 + 64x0 = 96. El segundo: 81x0 + 108x0 + 88x0 + 48x0 + 96x0 + 64x0 = 0 El tercero: 81x0 + 108x0 + 88x1 + 48x1 + 96x1 + 64x0 = 232. El cuarto: 81x0 + 108x0 + 88x1 + 48x1 + 96x0 + 64x1 = 200. El mensaje codificado es: [ 96,0,232,200 ] Utilizando los valores de la clave pública, se codificará el mensaje Clave pública: [81, 108, 88, 48, 96, 64] Mensaje: 000010 000000 001110 001101
  • 19. Clave privada: [3, 4, 9, 19, 38, 77] Se calcula (usando el Algoritmo de Euclides extendido) el inverso del módulo de 27 y 155 que vale 23. Utiliza a continuación su clave privada para descifrar y obtiene: 96x23 (módulo 155) = 2208 (módulo 155) = 38 = 000010. 0x23 (módulo 155) = 0 (módulo 155) = 0 = 000000. 232x23 (módulo 155) = 5336 (módulo 155) = 66 = 9 + 19 + 38 = 001110. 200x23 (módulo 155) = 4600 (módulo 155) = 105 = 9 + 19 + 77 = 001101. El mensaje codificado es: [ 96,0,232,200 ] Algoritmo voraz