- 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=me
modulo 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 cd
modulo 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 emodulo n, por lo que med= m. - Firmado. Si el emisor desea enviar el mensaje firmado usa su clave privada para calcular c=md
modulo 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 = gdA
modulo p. - De modo similar, el destinatario escoge una clave privada dB y una clave privada eB = gdB
modulo p. - Ambos participantes intercambian sus claves públicas y calculan un secreto compartido. El del emisor será sA = eBdA = (gdB)dA = gdBdA
modulo 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
- La primera parte del algoritmo DSA es generar la clave pública y generar la clave privada, que se describe de la siguiente manera.
- La segunda parte del algoritmo DSA es la generación y verificación de la firma
- Tercera parte, se verifica la firma de un mensaje



Comentarios
Publicar un comentario