Next: Un ejemplo
Up: El algoritmo RSA (Rivest-Shamir-Adleman)
Previous: El algoritmo RSA (Rivest-Shamir-Adleman)
Contents
Es realmente muy simple, como puede verse a continuación (¡utiliza
solamente aritmética modular!):
- Encuentre dos números primos muy grandes y (por ejemplo,
cuya representación binaria sea de bits).13
- Elija un número , tal que:
- ,
- ,
- y
sean co-primos (no tengan factores primos
distintos de en común o, lo que es equivalente, su máximo común
divisor sea )14.
- Calcule tal que sea divisible por
.
Para ello basta encontrar un entero que haga que
sea entero, siendo esto último el valor de .
- La función de cifrado es mod , donde
es el mensaje cifrado (un entero positivo) y es el mensaje original
( debe ser menor que ).15
- La función de descifrado es mod .
La clave pública es el par . La clave privada es el
número .
La clave pública puede difundirse libremente, ya que no se conoce
una forma simple de calcular , o dados solamente
y .
Para calcular es necesario calcular y . Dado que sólo
conocemos , y gracias al teorema fundamental de la aritmética16, podemos factorizar este número para descubrir y . El inconveniente
radica en que la forma más eficiente de factorizar un número
que se conoce en la actualidad17 es . Esto significa que toma una cantidad de tiempo exponencial
respecto del tamaño del número a factorizar. Si y son dos
enteros cuya representación binaria ocupa bits, factorizar
su producto puede llevarle a cualquier computadora varios milenios,
como mínimo (esto sin tener en cuenta el espacio necesario para realizar
los cálculos).
Next: Un ejemplo
Up: El algoritmo RSA (Rivest-Shamir-Adleman)
Previous: El algoritmo RSA (Rivest-Shamir-Adleman)
Contents
Sebastian Gurin
2006-08-03