Cómo funciona y cuáles son sus algoritmos representativos.

 

  • Cómo funciona y cuáles son sus algoritmos representativos.

  • La clave publica cuenta con tres algoritmos RSA (para firma y encriptación), DSA (para firma) y Diffie-Hellman (para acuerdo de clave).


RSA



El RSA, llamado así por las siglas de sus creadores (Rivest, Shamir y Adelman), es el algoritmo de clave pública más popular. El algoritmo se puede usar para encriptar comunicaciones, firmas digitales e intercambio de claves.

La clave es de tamaño variable, generalmente se usan claves entre 512 y 2048 bits. Las claves más grandes aumentan la seguridad del algoritmo pero disminuyen su eficiencia y generan más texto cifrado. Los bloques de texto en claro pueden ser de cualquier tamaño, siempre que sea menor que la longitud de la clave. Los bloques de texto cifrado generados son del tamaño de la clave.

El cálculo de d a partir de p y q es sencillo, pero es computacionalmente imposible calcular d sin conocer p y q para valores grandes de n, ya que obtener sus valores es equivalente a factorizar n, que es un problema intratable computacionalmente.

El funcionamiento del algoritmo es como sigue:

  • Encriptación.Para encriptar un mensaje un usuario calcula c=memodulo n, donde m es el texto en claro, c es el texto cifrado y (e, n) es la clave pública del destinatario.
  • Desencriptación. Para desencriptar el mensaje el destinatario calcula cdmodulo n = (me)dmodulo n = medmodulo n = m, donde (d, n) es la clave privada del destinatario. Hay que indicar que la última sustitución es posible por el modo en que hemos escogido los números, ya que d es el producto inverso de e modulo n, por lo que med= m.
  • Firmado. Si el emisor desea enviar el mensaje firmado usa su clave privada para calcular c=mdmodulo n y el destinatario lo valida calculando cemodulo n = (md)emodulo n = mdemodulo n = m, donde (e, n) es la clave pública del emisor.

Este algoritmo tiene la caracteristica de ser lento por el volumen de operaciónes matematicas que maneja, para solucionar este inconveniente se suelen escoger los valores 3 ó 65537, que precisan 3 y 17 multiplicaciones respectivamente. La elección de un exponente fijo no afecta ni disminuye la seguridad del algoritmo pero unicamente si se implementan esquemas de criptografía adecuados para la clave publica, un ejempolo de esto es el relleno de mensajes con bits aleatorios.

El uso de exponentes fijos hace que la encriptación sea mas veloz qe la desencriptación y la verificación mas rapida que la firma.

Comparado con los sistemas de cifrado simétrico como el DES, el algoritmo de RSA es 100 veces más lento en software y de 1000 a 10000 veces más lento en hardware.

Diffie-Hellman





El algoritmo de Diffie Hellman es un algoritmo de clave pública que permite el intercambio seguro de un secreto compartido. Generalmente se emplea junto con algoritmos de cifrado simétrico, como método para acordar una clave secreta. El algoritmo no se puede usar para encriptar conversaciones o firmas digitales.

El funcionamiento del algoritmo es como sigue:

  • El emisor escoge un número primo grande p y un generador g (g<p) y se los envía al destinatario. A continuación escoge un número grande dA como clave privada y calcula la clave pública correspondiente eA = gdAmodulo p.
  • De modo similar, el destinatario escoge una clave privada dB y una clave privada eB = gdBmodulo p.
  • Ambos participantes intercambian sus claves públicas y calculan un secreto compartido. El del emisor será sA = eBdA = (gdB)dA = gdBdAmodulo p. Y el del destinatario sB = eAdB = (gdA)dB = gdAdB= gdBdAmodulo p.

Con este sistema, aunque un tercero interceptara los números p y g y las claves públicas eA y eB, no podría calcular el secreto compartido sin tener una de las claves privadas, lo que equivale a calcular el logaritmo discreto de una de las claves públicas, que es un problema intratable computacionalmente.

El problema fundamental de este algoritmo es que es sensible a ataques activos del tipo hombre en el medio. Si la comunicación es interceptada por un tercero, este se puede hacer pasar por el emisor cara al destinatario y viceversa, ya que no disponemos de ningún mecanismo para validar la identidad de los participantes en la comunicación. Así, el hombre en el medio podría acordar una clave con cada participante y retransmitir los datos entre ellos, escuchando la conversación en ambos sentidos.

DSA



DSA es un estándar del Gobierno Federal de los Estados Unidos para firmas digitales. Fue propuesto por el instituto Nacional d Estándares y Tecnología (NIST) en agosto de 1991 para uso en su estándar de firma digital, especificando en FIPS 186 en 1993

  1. La primera parte del algoritmo DSA es generar la clave pública y generar la clave privada, que se describe de la siguiente manera.
  2. La segunda parte del algoritmo DSA es la generación y verificación de la firma
  3. Tercera parte, se verifica la firma de un mensaje


    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). Seguridad de la información. En: Sistemas seguros de acceso y transmisión de datos (pp. 76-102). RA-MA Editorial.

    Criptografía de clave pública. (s/f). Mozilla.org. Recuperado el 23 de julio de 2023, de https://developer.mozilla.org/es/docs/Glossary/Public-key_cryptography


    El Hayani, A., Galán, P., & García y Mateo Pinzón, H. (s/f). CRIPTOGRAFÍA DESDE SU ORIGEN HASTA LA ACTUALIDAD. Upct.es. Recuperado el 23 de julio de 2023, de https://www.upct.es/gestionserv/inter/espacios_usuarios/web_servsimip_fich/doc_secciones/355presentacion.pdf

    IBM Documentation. (2023, junio 21). Ibm.com. https://www.ibm.com/docs/es/integration-bus/10.0?topic=overview-public-key-cryptography

    (S/f). Www.uv.es. Recuperado el 23 de julio de 2023, de  https://www.uv.es/sto/cursos/seguridad.java/html/sjava-13.html

(S/f). Edu.mx. Recuperado el 24 de julio de 2023, de https://repository.uaeh.edu.mx/bitstream/bitstream/handle/123456789/18970/Algoritmo-firma-digital.pdf?sequence=1&isAllowed=y

Yang H., (2018), Cryptography Tutorials - Herong's Tutorial Examples, consultado el 05/10/2018, link: http://www.herongyang.com/Cryptography/DSA-Introduction-What-IsDigital-Signature.html

Comentarios