Professional Documents
Culture Documents
(mod n)
Historia
3
3. Se calcula (n) = (p 1)(q 1) , donde es la
funcin de Euler.
EJEMPLO
2.4 Descifrado
Alicia puede recuperar m a partir de c usando su expo4. Se escoge un entero positivo e menor que (n) ,
nente d de la clave privada mediante el siguiente clculo:
que sea coprimo con (n) .
e se da a conocer como el exponente de la clave
pblica.
Si se escoge un e con una suma encadenada
corta, el cifrado ser ms efectivo. Un exponente e muy pequeo (p. ej. e = 3 ) podra
suponer un riesgo para la seguridad.[1]
m cd
(mod n)
Ahora que tiene m en su poder, puede recuperar el mensaje original M invirtiendo el padding scheme.
El procedimiento anterior funciona porque
m cd
PKCS#1 v2.0 y PKCS#1 v2.1 se especican mediante la funcin de Carmichael (n) = mcm(p
1, q 1) en vez de la funcin de Euler, donde
mcm indica el mnimo comn mltiplo.
(mod n)
3 Ejemplo
2.3
Cifrado
encrypt(m) = me
(mod n) = m17
(mod 3233)
Alicia comunica su clave pblica (n, e) a Bob y guarda Donde m es el texto sin cifrar. La funcin de descifrado
la clave privada en secreto. Ahora Bob desea enviar un es:
mensaje M a Alicia.
Primero, Bob convierte M en un nmero entero m menor que n mediante un protocolo reversible acordado de
antemano. Luego calcula el texto cifrado c mediante la
operacin
c me
decrypt(c) = cd
(mod n) = c2753
(mod 3233)
(mod n)
encrypt(123) = 12317
3
Para descifrar el valor del texto cifrado, nosotros calcula- qu valores de e y N son usados. Probablemente, un somos:
lo ASCII SOH (cuyo valor es 1) producira siempre un
texto cifrado de 1. Para sistemas convencionales al usar
valores pequeos de e, como 3, un solo carcter ASCII
mensaje codicado usando este esquema sera inseguro,
2753
ya que el mximo valor de m sera 255, y 255 es medecrypt(855) = 855
(mod 3233) = 123
nor que cualquier mdulo razonable. De esta manera los
textos sin cifrar podran ser recuperados simplemente toAmbos de estos clculos pueden ser ecientemente usa- mando la raz cbica del texto cifrado. Para evitar estos
dos por el algoritmo de multiplicacin cuadrtica para problemas, la implementacin prctica del RSA se ayuda
exponenciacin modular.
de algunas estructuras, uso del rellenado aleatorio dentro
del valor de m antes del cifrado. Esta tcnica asegura que
m no caer en el rango de textos sin cifrar inseguros, y que
4 Esquemas de relleno
dado un mensaje, una vez que este rellenado, cifrar uno
de los nmeros grandes de los posibles textos cifrados. La
RSA debe ser combinado con algn esquema de relleno, ltima caracterstica es la incrementacin del diccionario
ya que si no el valor de M puede llevar a textos cifrados haciendo este intratable a la hora de realizar un ataque.
inseguros.
El valor m=0 o m=1 siempre
produce textos cifrados iguales para 0 o 1 respectivamente, debido a propiedades de los
exponentes.
Cuando ciframos con exponentes pequeos (e=3) y valores pequeos de m, el resultado de m podra ser estrictamente menor que el mdulo de
n. En este caso, el texto cifrado podra ser fcilmente descifrado, tomando la raz e-sima
del texto cifrado sin tener en
cuenta el mdulo.
Dado que el cifrado RSA es
un algoritmo determinista (no
tiene componentes aleatorios)
un atacante puede lanzar con
xito un ataque de texto elegido contra el criptosistema,
construyendo un diccionario
de textos probables con la llave pblica, y almacenando el
resultado cifrado. Observando
los textos cifrados en un canal de comunicacin, el atacante puede usar este diccionario para descifrar el contenido del mensaje.
En la prctica, el primero de los dos problemas podra
presentarse cuando enviamos pequeos mensajes ASCII
donde m es la concatenacin de uno o ms carcter/es
ASCII codicado/s. Un mensaje consiste en un solo carcter ASCII NUL (cuyo valor es 0) se codicara como m=0, produciendo un texto cifrado de 0 sin importar
5 Autenticacin de mensajes
RSA puede tambin ser usado para autenticar un mensaje. Supongamos que Alicia desea enviar un mensaje autenticado a Bob. Ella produce un valor hash del mensaje,
lo eleva a la potencia de d mod n (como ella hace cuando descifra mensajes), y lo adjunta al mensaje como una
rma. Cuando Bob recibe el mensaje autenticado, utiliza el mismo algoritmo hash en conjuncin con la clave
pblica de Alice. Eleva la rma recibida a la potencia de
e mod n (como hace cuando cifra mensajes), y compara
el resultado hash obtenido con el valor hash del mensaje.
Si ambos coinciden, l sabe que el autor del mensaje estaba en posesin de la clave secreta de Alicia, y que el
7 CONSIDERACIONES PRCTICAS
7 Consideraciones prcticas
Se debe observar que la seguridad de los paddingschemes como RSA-PSS son esenciales tanto para la seguridad de la rma como para el cifrado de mensajes, y
que nunca se debera usar la misma clave para propsitos
de cifrado y de autenticacin.
Los nmeros p y q no deberan ser sucientemente cercanos para que la factorizacin de Fermat para n sea exitosa.
6 Seguridad
Adems, si cualquier p1 o q1 tiene slo factores primos pequeos, n puede ser factorizado rpidamente, con
lo
que estos valores de p o q deben ser descartados.
La seguridad del criptosistema RSA est basado en dos
problemas matemticos: el problema de factorizar nme- No se debera emplear un mtodo de bsqueda de priros grandes y el problema RSA. El descifrado completo mos con el cual se d alguna informacin cualquiera sode un texto cifrado con RSA es computacionalmente in- bre los primos al atacante. En particular, se debe utilizar
tratable, no se ha encontrado un algoritmo eciente toda- un buen generador aleatorio de nmeros primos para el
va para ambos problemas. Proveyendo la seguridad con- valor empleado. Obsrvese que el requerimiento est en
tra el descifrado parcial podra requerir la adicin de una que ambos sean aleatorios e impredecibles. No son el misseguridad padding scheme.
mo criterio; un nmero podra haber sido elegido por un
El problema del RSA se dene como la tarea de tomar proceso aleatorio, pero si ste es predecible de cualquier
races e-simas mdulo a componer n: recuperando un forma (o parcialmente predecible), el mtodo usado revalor m tal que me c (mod n), donde (e, n) es una clave sultar en una baja seguridad. Por ejemplo: la tabla de
pblica RSA y c es el texto cifrado con RSA. Actualmen- nmeros aleatorios de Rand Corp en 1950 podra servir
te la aproximacin para solventar el problema del RSA es muy bien como ejemplo de criterio verdaderamente aleael factor del mdulo n. Con la capacidad para recuperar torio, pero ha sido publicada y a sta puede acceder el
factores primos, un atacante puede calcular el exponente atacante. Si el atacante puede conjeturar la mitad de los
secreto d desde una clave pblica (e, n), entonces desci- dgitos de p o q, l podra rpidamente calcular la otra
fra c usando el procedimiento estndar. Para conseguir mitad. (Ver Coppersmith en 1997).
esto, un atacante debe factorizar n en p y q, y calcular
(p1)(q1) con lo que le permite determinar d y e. No
se ha encontrado ningn mtodo en tiempo polinmico
para la factorizacin de enteros largos. Ver factorizacin
de enteros para la discusin de este problema.
La factorizacin de nmeros grandes por lo general proponen mtodos teniendo 663 bits de longitud usando mtodos distribuidos avanzados. Las claves RSA son normalmente de entre 1024-2048 bits de longitud. Algunos
expertos creen que las claves de 1024 bits podran comenzar a ser dbiles en poco tiempo; claves de 4096 bits
podran ser rotas en un futuro. Por lo tanto, si n es sucientemente grande el algoritmo RSA es seguro. Si n
tiene 256 bits o menos, puede ser factorizado en pocas
horas con un ordenador personal, usando software libre.
Si n tiene 512 bits o menos, puede ser factorizado por
varios cientos de computadoras como en 1999. Un dispositivo hardware terico llamado TWIRL descrito por
Shamir y Tromer en el 2003 cuestion a la seguridad de
claves de 1024 bits. Se recomienda actualmente que n sea
como mnimo de 2048 bits de longitud.
7.2 Velocidad
RSA es mucho ms lento que DES y que otros criptosistemas simtricos. En la prctica, Bob normalmente cifra
mensajes con algoritmos simtricos, cifra la clave simtrica con RSA, y transmite a ambos la clave simtrica
RSA-cifrada (es decir la transmite cifrada con RSA) y el
En 1993, Peter Shor public su algoritmo, mostrando que mensaje simtricamente-cifrado a Alicia.
una computadora cuntica podra en principio mejorar la Esto plantea adems problemas adicionales de seguridad,
factorizacin en tiempo polinomial, mostrando RSA co- por ejemplo, es de gran importancia usar un generador
mo un algoritmo obsoleto. Sin embargo, las computado- aleatorio fuerte para claves simtricas, porque de otra forras cunticas no se esperan que acaben su desarrollo hasta ma Eve (un atacante que quiera averiguar el contenido
del mensaje) podra puentear la clave asimtrica de RSA
dentro de muchos aos.
10.2
Bibliografa
Distribucin de claves
Como con todos los cifrados, es importante cmo se distribuyan las claves pblicas del RSA. La distribucin de
la clave debe ser segura contra un atacante que se disponga a espiar el canal para hacer un ataque de replay.
Supongamos Eve (atacante) tiene alguna forma de dar a
Bob arbitrariamente claves y hacerle creer que provienen
de Alicia. Supongamos que Eve puede interceptar transmisiones entre Alicia y Bob. Eve enva a Bob su propia
clave pblica, como Bob cree que es de Alicia, Eve puede
entonces interceptar cualquier texto cifrado enviado por
Bob, descifrarlo con su propia clave secreta, guardar una
copia del mensaje, cifrar el mensaje con la clave pblica de Alicia, y enviar el nuevo texto cifrado a Alicia. En
principio, ni Alicia ni Bob han detectado la presencia de
Eve. Contra la defensa de ataques algunos estn basados
en certicados digitales u otros componentes de infraestructuras de la clave pblica.
10.2 Bibliografa
R. Rivest, A. Shamir, L. Adleman. A Method for
Obtaining Digital Signatures and Public-Key Cryptosystems. Communications of the ACM, Vol. 21
(2), pp.120126. 1978. Previously released as an
MIT Technical Memo in April 1977. Initial publication of the RSA scheme.
Thomas H. Cormen, Charles E. Leiserson, Ronald
L. Rivest, and Cliord Stein. Introduction to Algorithms, Second Edition. MIT Press and McGrawHill, 2001. ISBN 0-262-03293-7. Section 31.7: The
RSA public-key cryptosystem, pp.881887.
Wing H. Wong. Timing Attacks on RSA: Revealing
Your Secrets through the Fourth Dimension
An Attack on RSA Digital Signature
Behrends,EhrhardFive-Minute Mathematics. American Mathematical Society. pp. 8691. ISBN 978-08218-4348-2.
11 Enlaces externos
9
Vase tambin
Algoritmo RSA
Cliord Cocks
Ataques RSA I
Criptografa asimtrica
10
Referencias
10.1
Notas al pie
12
12
12.1
RSA Fuente: http://es.wikipedia.org/wiki/RSA?oldid=77725829 Colaboradores: Moriel, Robbot, Riviera, Aloriel, Triku, Th3j0ker, Jecanre, Mandramas, Serra, Taragui, Petronas, Xavmp, Rembiapo pohyiete (bot), Magister Mathematicae, Alpertron, Murven, RobotQuistnix,
Platonides, Vynith, Yrbot, FlaBot, Antonio Vazquez, YurikBot, Kronoman, GermanX, Eskimbot, Baneld, Isra00, Milestones, Jmencisom,
Chlewbot, Nstor Amigo Cairo, Paintman, Fercufer, BOTpolicia, Narkone, CEM-bot, Majg2002, Alexav8, NeoMorfeo, Rosarinagazo,
Martnhache, Davidr89, Resped, Thijs!bot, Templeir, Escarbot, Eiderheros, JAnDbot, LogC, Blare, Death Master, TXiKiBoT, Humberto,
Netito777, Nicozk, Mathmagic, Assholess, Jvlivs, Bedwyr, AchedDamiman, House, Muro Bot, SieBot, Mushii, Alinome.net, DaBot, Loveless, Bigsus-bot, Mafores, PipepBot, Javierito92, Reyesoft, Botito777, LordT, Alexbot, Raulshc, MarceloPinoQuivira, AVBOT, Nost, Diegusjaimes, Juvalen, Jkbw, Ricardogpn, ChenzwBot, JViejo, Botarel, BenzolBot, Ajesusores, RedBot, PatruBOT, JdmGarcia, Waeswaes,
Jorge c2010, EmausBot, ZroBot, JackieBot, Xerox 5B, Brauvt, MerlIwBot, MarioS, Juanpebe, Invadibot, Legobot, BOTito, Gusitoguay
y Annimos: 105
12.2
Images
12.3
Content license