Algoritmos representativos de criptosistemas de clave pública

 Algoritmos representativos

Existen varios algoritmos de criptosistemas de clave pública, pero entre los mas conocido se encuentran tres: 

  1. Criptosistema RSA: Este fue desarrollado en el MIT (Instituto Tecnológico de Massachusetts) en 1977 y es llamdo de esta manera en honor a sus creadores Rivest,Shamir y Adleman. Este criptosistema es uno de los más populares y utilizados en la actualidad, por su sencillez de implementación y el nivel de seguridad que proporciona, teniendo en cuenta su doble funcionalidad de proteger la información y servir como firma digital.

    Figura 1. Creadores del algoritmo RSA

    Nota: De izquierda a derecha Shamir, Rivest y Adleman Tomada de Maillo Fernandez (pág. 79) 2017.

    ¿Comó funciona este criptosistema?

    Al ser un criptografía asimétrica de claves publica, primero se tiene que realizar la generación de las claves, las cuales según Maillo Fernández (2017) para cada usuario el par de llaves "se calcula mediante el producto de dos números primos muy grandes, basa su seguridad en la dificultad que tendría un atacante en poder factorizar estos valores, ya que este problema de factorización es, hoy por hoy, computacionalmente intratable" (pág. 79).

    En este caso, se comienza con dicho producto, donde n, sera el producto de dos numeros primos grandes p y q

    n = p * q

    luego se escoge un número e, que sea un primo relativo con (p-1) (q-1), y que tenga inversa módulo  (p-1) (q-1), por lo que existira un número d:

    d * e ≡  1 (mod (p-1) * (q-1))

    En donde se define el par de claves de cada individuo como:

    Clave pública = (n,e)
    Clave privada = (n,d)

    y para cifrar la información se utiliza la siguiente expresión.

    c = m^e * (mod n)

    Para descifrar se utilizaria:

    m = c^d * (mod n)

  2. Criptosistema de ElGamal

    Se trata de un algoritmo libre, que se emplea en correo seguro y fue desarrollado por Taher ElGamal en 1984, el cual emplea el problema del cálculo del logaritmo discreto para conseguir la seguridad necesaria sobre la información que protege (Maillo Fernández, 2017, pág. 81).

    ¿Comó funciona este criptosistema?

    Primero se elige un número primo p, y dos números que sean menores a este g y x.Para implementar el siguiente cálculo:

    y = g^x (mod p)

    y con este calculo se puede conseguir la clave publica y privada.

    Clave pública = (g,y,p)
    Clave privada = x

    Ahora para cifrar los datos, se elige un número k que sea primo relativo co p-1. y de esta forma se protegera el mensaje, construyendo un texto codificado del doble de longitud al mensaje original:

    a = g^k * (mod p)
    b = y^k*m * (mod p)


    y el descifrado, se realizara con la siguiente expresión

    m = b|a^x * (mod p)

  3. Criptosistema de curvas elípticas: 

    Los anteriores algoritmos, son muy seguros si sus claves son de almenos 2048 bits, sin embargo, existe un problema cuando se trata de dispositivos con poca capacidad de cálculo como lo son, tarjetas inteligentes. Por tal motivo, una alternativa a estos algoritmos es el grupo formado de puntos de un tipo espacial de curvas, llamada curvas elípticas (Hernández Encinas, 2016, pág 107). Esta curva suele representarse mediante la ecuación de Weierstrass, cuya expresión es: 

    y^2 + a1 x y + a3 y = x^3 + a2 x^2 + a4 x + a6.

    Esta ecuación que representa la curva tiene infinitos puntos en un plano, que si se toman la suma de alguno de estospuntos en un cuerpo finito a modo de coordenadas creando de esta forma un generador.

    Tomando en cuenta esta caracteristica, se puede afirmar que una clave de 160bits proporciona la misma seguridad que si se empleara u clave de 1024 bits en el sitema ElGamal y del mismo modo una clave de 224bits proporciona la misma seguridad que una clave de 2048 bits en RSA.

Bibliografía

Maillo Fernández, J. A. (2017). Sistemas seguros de acceso y transmisión de datos: ( ed.). RA-MA Editorial. https://elibro.net/es/lc/uniminuto/titulos/106503

HERNÁNDEZ ENCINAS, L. La criptografía. ed. Madrid: Editorial CSIC Consejo Superior de Investigaciones Científicas, 2016. 147 p. Disponible en: https://elibro.net/es/ereader/uniminuto/41843?page=8. Consultado en: 03 Jun 2024

Comentarios