Cómo se mencionó anteriormente, el criptosistema de clave pública emplea una clave pública y una clave privada que se encuentran relacionadas matemáticamente. El mensaje inicial que posteriormente es cifrado con la clave pública debe ser descifrado con la clave privada y viceversa.
Dentro de los algoritmos más representativos de la criptografía asimétrica se encuentran:
Algoritmo RSA
El algoritmo RSA hace
parte de los modelos de clave pública tanto para cifrar datos como para crear
firmas digitales. Es de los criptosistemas de clave pública más utilizados por
su sencillez de implementación y nivel de seguridad.
Su funcionamiento
se basa en operaciones matemáticas complejas, en donde el par de claves se
calcula mediante el producto de dos números primos muy grandes que son
denominados generalmente como p y q. La seguridad de este
algoritmo radica en que ambos números deben ser aleatorios y tener una longitud
de bits similar (Maillo, 2017).
n = p*q
Luego de esto se
escoge un numero e que sea primo relativo con (p-1)(q-1), y que
tenga inversa módulo (p-1)(q-1), donde existirá un numero d tal
que:
d * e ☰ 1(mod(p-1)*(q-1))
Obtenidos estos
valores se define el par de claves del algoritmo de la siguiente manera:
Clave Pública = (n,e)
Clave Privada = (n,d)
Para cifrar la información el algoritmo RSA usa la siguiente expresión matemática:
c = m^e (mod n)
Y para decodificar
usa:
m = c^d (mod n)
Algoritmo de intercambio de clave de Diffie-Hellman
Más que un algoritmo
es un protocolo de intercambio de información en el que tanto emisor como
receptor terminan obteniendo una información en común. Este intercambio
funciona de tal manera que los participantes puedan pactar una clave secreta
compartida sobre un canal inseguro, evitando el inconveniente de distribución
de claves (Domingo, 2004).
1. Los usuarios, A y B, eligen públicamente un grupo multiplicativo finito G de orden n y un generador α ∈ G.
2. A genera un número aleatorio a, calcula α^a dentro de G y transmite el resultado de B.
3. B genera un número aleatorio b, calcula α^b dentro de G y transmite el resultado de A.
4. A recibe α^b y calcula (α^b)^a dentro de G.
5. B recibe α^a y calcula (α^a)^b dentro de G.
Al final del protocolo, A y B han pactado un elemento α^ab del grupo G que es común en ambos y secreto para el resto de los usuarios.
Algoritmo ElGamal
Este es un
algoritmo de uso libre, típicamente utilizado en protocolos de correo seguros.
Se basa en el algoritmo de intercambio de Diffie-Hellman y aplica el problema
del cálculo del logaritmo discreto para dar un nivel de seguridad superior
sobre la información que se protege. Aunque en sus inicios fue pensado para
usarse con firmas digitales también aplica para la protección de datos
sensibles (Maillo, 2017).
Las claves de
este cifrado se crean a partir de la elección de un número k que sea
primo relativo con p-1. Luego de esto, siendo m el mensaje a
proteger se calcula:
a = g^k (mod p)
b = (y^k)*m (mod p)
El par (a,b) constituye
el texto codificado, que tendrá una longitud doble a la del texto original.
Por otra parte,
el descifrado se hace con la expresión:
m ☰ b|a^x (mod p)
Referencias:
- Domingo, J & Herrera J. (2004). Criptosistemas de clave pública. En: Criptografía (Modulo 5). https://openaccess.uoc.edu/server/api/core/bitstreams/3e55b538-eb12-44eb-9abf-6a59b38157b8/content
- Hernández,
L. (2016). Criptografía de clave asimétrica. En: La
Criptografía (pp. 93-134). Editorial CSIC Consejo Superior de
Investigaciones Científicas.
- Maillo,
J. (2017). Criptografía moderna. En: Sistemas seguros de
acceso y transmisión de datos (pp. 67-85). RA-MA Editorial.



No hay comentarios.:
Publicar un comentario