Criptografía Dominante Pública
En 1976, Diffie y Hellman propusieron un nuevo tipo
de criptografía que distinguió entre el encipherment y las llaves
del desciframiento. Una de las llaves sería sabido
público; el otro sería mantenido privado por su dueño.
La criptografía clásica requiere al remitente y a recipiente
compartir una llave común. La criptografía dominante pública
no . Si la llave del encipherment es pública, para enviar un
mensaje secreto codifique simplemente el mensaje con la llave pública
del recipiente. Entonces envíela. El recipiente puede
descifrarla que usa su llave privada.
James Ellis, criptógrafo que trabajaba para el grupo de
la seguridad de la Comunicacio'n-Electro'nica del gobierno británico,
dicho "él demostró la prueba del concepto en un informe de enero
1970 CESG titulado ' la posibilidad de cifrado seguro de Digital del
No-Secreto.'" Dos de sus colegas encontraron puestas en
práctica prácticas. Este trabajo seguía clasificado hasta
1997.
Porque una llave es pública, y su llave complementaria
debe seguir siendo secreta, un cryptosystem dominante público debe
resolver las tres condiciones siguientes.
-
Debe ser de cómputo fácil codificar o descifrar un
mensaje dado la llave apropiada.
-
Debe ser de cómputo infeasible derivar la llave privada
de la llave pública.
-
Debe ser de cómputo infeasible determinar la llave
privada de un ataque elegido del plaintext
La cifra de RSA proporciona secreto y la
autentificación.
RSA
RSA es una cifra del exponentiation. Elija
dos números grandes p y q de la prima, y deje n = pq. El ff(n)
totient de n es el número de números menos que n sin factores en
campo común con n.
Nuestros ejemplos utilizarán los números pequeños para
los propósitos pedagógicos. RSA real prepara debe ser por lo
menos 512 pedacitos cada uno, dando un módulo por lo menos de 1.024
pedacitos. En la práctica, RSA se combina con funciones
criptográficas del picadillo para prevenir el cambio de bloques.
EJEMPLO: Deje n = 10. Los números que son
menos de 10 y son (no tenga ningún factor en campo común con) n
relativamente primera son 1, 3, 7, y 9. Por lo tanto, ff(10) =
4. Semejantemente, si n = 21, los números que son relativamente
primeros a n es 1, 2, 4, 5, 8, 10, 11, 13, 16, 17, 19, y 20. Tan
f(21) = 12. |
Elija un número entero e < n que sea relativamente
primera al ff(n). Encuentre un segundo número entero d tales
que ff(n) de la MOD del ed = 1. La llave pública es (e, n), y
la llave privada es d.
Deje m ser un mensaje. Entonces:
c = MOD n del m^e
y
m = MOD n del c^d
EJEMPLO: Deje p = 7 y q = 11. Entonces
n = 77 y f(n) = 60. Alicia elige e = 17, así que su llave
privada es d = 53. En este cryptosystem, cada carácter del
plaintext es representado por un número entre 00 (a) y 25 (z);
26 representa un espacio en blanco. Bob desea enviar
Alicia el MUNDO del mensaje "HOLA." Usando la representación
arriba, el plaintext es 07 04 11 11 14 26 22 14 17 11 03. Usando
la llave pública de Alicia, el texto cifrado es
07^17 MOD 77 = 28
04^17 MOD 77 = 16
11^17 MOD 77 = 44
...
03^17 MOD 77 = 75 o 28 16 44 44 42 38 22 42 19 44 75. |
Además de secreto, RSA puede proporcionar la
autentificación de los datos y del origen. Si Alicia codifica
su mensaje usando su llave privada, cualquier persona puede leerla,
pero si cualquier persona la altera, el texto cifrado (alterado) no se
puede descifrar correctamente.
EJEMPLO: Suponga los deseos de Alicia para enviar
Bob el MUNDO del mensaje "HOLA" de una manera tal que Bob sea seguro
que Alicia lo envió. Ella codifica el mensaje con su llave
privada y lo envía a Bob. Según lo indicado arriba, el
plaintext se representa como 07 04 11 11 14 26 22 14 17 11 03.
Usando la llave privada de Alicia, el texto cifrado es
07^53 MOD 77 = 35
04^53 MOD 77 = 09
11^53 MOD 77 = 44
...
03^53 MOD 77 = 05
o 35 09 44 44 93 12 24 94 04 05. Además de
la autenticidad del origen, Bob puede ser seguro que no se alteró
ningunas letras.
El abastecimiento de secreto y de la autentificación
requiere la codificación con la llave privada del remitente y la
llave pública del recipiente. |
EJEMPLO: Suponga los deseos de Alicia para enviar
Bob el MUNDO del mensaje "HOLA" en confianza y los authenticó.
Una vez más asuma que la llave privada de Alicia es 53.
Tome la llave pública de Bob para ser 37 (haciendo su llave
privada 13). El plaintext se representa como 07 04 11 11 14 26
22 14 17 11 03. El encipherment es
(07^53 MOD 77 = 07 de la MOD 77)37
(04^53 MOD 77 = 37 de la MOD 77)37
(11^53 MOD 77 = 44 de la MOD 77)37
...
(03^53 MOD 77 = 47 de la MOD 77)37
o 07 37 44 44 14 59 22 14 61 44 47.
El recipiente utiliza la llave privada del recipiente para
descifrar el mensaje y la llave pública del remitente para
authenticarla. |
EJEMPLO: Bob recibe el texto cifrado arriba, 07 37
44 44 14 59 22 14 61 44 47. El desciframiento es
(07^13 MOD 77 = 07 de la MOD 77)17
(37^13 MOD 77 = 04 de la MOD 77)17
(44^13 MOD 77 = 11 de la MOD 77)17
...
(47^13 MOD 77 = 03 de la MOD 77)17 o 07 04 11 11 14 26 22 14 17 11 03. Esto
corresponde al MUNDO del mensaje "HOLA" del ejemplo precedente. |
El uso de un sistema dominante público proporciona un
tipo técnico de nonrepudiation del origen. Se descifra el
mensaje usando la llave pública de Alicia. Porque la llave
pública es lo contrario de la llave privada, sólo la llave privada
habría podido codificar el mensaje. Porque Alicia es la única
quién sabe esta llave privada, sólo ella habría podido codificar el
mensaje. La asunción subyacente es que la llave privada de
Alicia no se ha comprometido, y que el cojinete dominante público su
nombre realmente pertenece a ella.
En la práctica, nadie utilizarían los bloques del
tamaño presentado aquí. La edición es que, iguale si n es muy
grande, si un carácter por bloque se codifica, RSA se puede romper
usando las técnicas usadas para romper cifras clásicas de la
substitución. Además, aunque ningún bloque individual no se
puede alterar sin la detección (porque el atacante no tiene
probablemente acceso a la llave privada), un atacante puede cambiar
bloques y cambiar el significado del mensaje.
EJEMPLO: Un general envía un mensaje a las
jefaturas que pregunta si el ataque está encendido. Las
jefaturas contestaron con "on" del mensaje codificado usando una cifra
de RSA con un módulo 1,024-bit, pero cada letra se codifica por
separado. Un atacante intercepta el mensaje e intercambia la
pedido de los bloques. Cuando el general descifra el mensaje,
leerá "NO," el contrario del plaintext original.
Por otra parte, si el atacante sabe que las jefaturas
enviarán uno de dos mensajes (aquí, "NO" o "on"), el atacante puede
utilizar una técnica llamada "búsqueda delantera" o "precomputation"
para romper la cifra. Por esta razón, el plaintext se rellena
generalmente con datos al azar para hacer para arriba un bloque.
Esto puede eliminar el problema adelante de buscar, porque el
sistema de plaintexts posibles llega a ser demasiado grande al
precompute factible.
Un diverso general envía la misma petición que en el
ejemplo arriba. Una vez más establece jefatura de las
contestaciones con "on" del mensaje codificadas usando una cifra de
RSA con un módulo 1,024-bit. Cada letra se codifica por
separado, pero los primeros seis pedacitos de cada bloque contienen el
número del bloque, los ocho pedacitos siguientes contienen el
carácter, y los 1.010 pedacitos restantes contienen datos al azar.
Si el atacante cambia los bloques, el general detectará que el
bloque 2 llegó antes del bloque 1 (como resultado del número en los
primeros seis pedacitos) y los cambia. El atacante también no
puede el precompute los bloques determinarse cuál contiene "O,"
porque ella tendría que computar 21010 bloques, que es de cómputo
infeasible. |
esto es un artículo agregado por Bill Kuriko
Negación: Nuestro Web site no
es responsable de la información contenida por este artículo.
Este artículo de ninguna manera refleja las vistas, las
opiniones, los pensamientos o la creencia del personal del directorio
de los artículos.
Aviso de la traducción: El artículo
"criptografía dominante pública" fue traducido usando un servicio de
traducción automatizado. Nos disculpamos sinceramente por
cualquier error de la traducción que ocurriera. Gracias por
entender.