in

Cifrado de clave pública

public key cryptography

Criptografía de clave pública

A diferencia de la criptografía de clave simétrica, no encontramos un uso histórico de la criptografía de clave pública. Es un concepto relativamente nuevo.

La criptografía simétrica era adecuada para organizaciones como gobiernos, militares y grandes corporaciones financieras involucradas en la comunicación clasificada.

Con la propagación de redes informáticas más inseguras en las últimas décadas, se sintió una necesidad genuina de utilizar la criptografía a mayor escala. Se descubrió que la clave simétrica no era práctica debido a los desafíos que enfrentaba para la administración de claves. Esto dio lugar a los criptosistemas de clave pública.

El proceso de cifrado y descifrado se muestra en la siguiente ilustración:

Criptografía de clave pública

Las propiedades más importantes del esquema de cifrado de clave pública son:

  • Se utilizan diferentes claves para el cifrado y el descifrado. Esta es una propiedad que establece este esquema diferente al esquema de cifrado simétrico.

  • Cada receptor posee una clave de descifrado única, generalmente conocida como su clave privada.

  • El receptor necesita publicar una clave de cifrado, conocida como su clave pública.

  • En este esquema se necesita cierta garantía de la autenticidad de una clave pública para evitar suplantación por parte del adversario como receptor. Generalmente, este tipo de criptosistema involucra a un tercero de confianza que certifica que una clave pública en particular pertenece a una persona o entidad específica únicamente.

  • El algoritmo de cifrado es lo suficientemente complejo como para prohibir al atacante deducir el texto sin formato del texto cifrado y la clave de cifrado (pública).

  • Aunque las claves públicas y privadas están relacionadas matemáticamente, no es factible calcular la clave privada a partir de la clave pública. De hecho, una parte inteligente de cualquier criptosistema de clave pública consiste en diseñar una relación entre dos claves.

Hay tres tipos de esquemas de cifrado de clave pública. Los discutimos en las siguientes secciones:

Criptosistema RSA

Este criptosistema es uno del sistema inicial. Sigue siendo el criptosistema más empleado incluso hoy en día. El sistema fue inventado por tres eruditos Ron Rivest, Adi Shamir, y Len Adleman y por lo tanto, se denomina criptosistema RSA.

Veremos dos aspectos del criptosistema RSA, en primer lugar, la generación de un par de claves y, en segundo lugar, los algoritmos de cifrado-descifrado.

Generación de par de claves RSA

Cada persona o parte que desee participar en la comunicación mediante cifrado necesita generar un par de claves, a saber, clave pública y clave privada. El proceso seguido en la generación de claves se describe a continuación:

ed = 1 mod (p − 1)(q − 1)

El algoritmo euclidiano extendido toma p, qye como entrada y da d como salida.

Ejemplo

A continuación se ofrece un ejemplo de generación de un par de claves RSA. (Para facilitar la comprensión, los números primos p & q tomados aquí son valores pequeños. Prácticamente, estos valores son muy altos).

  • Sean dos primos p = 7 y q = 13. Por lo tanto, módulo n = pq = 7 x 13 = 91.

  • Seleccione e = 5, que es una elección válida ya que no hay ningún número que sea factor común de 5 y (p – 1) (q – 1) = 6 × 12 = 72, excepto 1.

  • El par de números (n, e) = (91, 5) forma la clave pública y se puede poner a disposición de cualquiera que deseemos para poder enviarnos mensajes cifrados.

  • Ingrese p = 7, q = 13 y e = 5 en el algoritmo euclidiano extendido. La salida será d = 29.

  • Verifique que la d calculada sea correcta calculando –

de = 29 × 5 = 145 = 1 mod 72
  • Por lo tanto, la clave pública es (91, 5) y la clave privada es (91, 29).

Cifrado y descifrado

Una vez que se ha generado el par de claves, el proceso de cifrado y descifrado es relativamente sencillo y computacionalmente sencillo.

Curiosamente, RSA no opera directamente en cadenas de bits como en el caso del cifrado de clave simétrica. Opera en números módulo n. Por tanto, es necesario representar el texto llano como una serie de números menores que n.

Cifrado RSA

  • Supongamos que el remitente desea enviar un mensaje de texto a alguien cuya clave pública es (n, e).

  • El remitente luego representa el texto sin formato como una serie de números menores que n.

  • Para cifrar el primer texto plano P, que es un número módulo n. El proceso de cifrado es un simple paso matemático como:

C = Pe mod n
  • En otras palabras, el texto cifrado C es igual al texto plano P multiplicado por sí mismo e veces y luego reducido módulo n. Esto significa que C también es un número menor que n.

  • Volviendo a nuestro ejemplo de generación de claves con texto plano P = 10, obtenemos texto cifrado C –

C = 105 mod 91

Descifrado RSA

  • El proceso de descifrado de RSA también es muy sencillo. Suponga que el receptor del par de claves públicas (n, e) ha recibido un texto cifrado C.

  • El receptor eleva C a la potencia de su clave privada d. El resultado módulo n será el texto plano P.

Plaintext = Cd mod n
Plaintext = 8229 mod 91 = 10

Análisis RSA

La seguridad de RSA depende de los puntos fuertes de dos funciones independientes. El criptosistema RSA es el criptosistema de clave pública más popular, cuya fuerza se basa en la dificultad práctica de factorizar números muy grandes.

  • Función de cifrado – Se considera una función unidireccional de convertir texto plano en texto cifrado y solo se puede revertir con el conocimiento de la clave privada d.

  • Generación de claves – La dificultad de determinar una clave privada a partir de una clave pública RSA equivale a factorizar el módulo n. Por tanto, un atacante no puede utilizar el conocimiento de una clave pública RSA para determinar una clave privada RSA a menos que pueda factorizar n. También es una función unidireccional, pasar de los valores p & q al módulo n es fácil pero no es posible revertir.

Si se demuestra que cualquiera de estas dos funciones no es unidireccional, RSA se romperá. De hecho, si se desarrolla una técnica para factorizar de manera eficiente, RSA ya no será seguro.

La fuerza del cifrado RSA disminuye drásticamente contra los ataques si el número pyq no son números primos grandes y / o la clave pública elegida e es un número pequeño.

Criptosistema ElGamal

Junto con RSA, se proponen otros criptosistemas de clave pública. Muchos de ellos se basan en diferentes versiones del problema del logaritmo discreto.

El criptosistema ElGamal, llamado Variante de curva elíptica, se basa en el problema del logaritmo discreto. Deriva la fuerza del supuesto de que los logaritmos discretos no se pueden encontrar en un marco de tiempo práctico para un número dado, mientras que la operación inversa de la potencia se puede calcular de manera eficiente.

Veamos una versión simple de ElGamal que trabaja con números módulo p. En el caso de las variantes de curvas elípticas, se basa en sistemas numéricos bastante diferentes.

Generación del par de claves ElGamal

Cada usuario del criptosistema ElGamal genera el par de claves de la siguiente manera:

norte 3norte 3norte mod 5
1 3 3
2 9 4
3 27 2
4 81 1
  • Elección de la clave privada. La clave privada x es cualquier número mayor que 1 y menor que p − 1.

  • Calcular parte de la clave pública. El valor y se calcula a partir de los parámetros p, gy la clave privada x de la siguiente manera:

y = gx mod p
  • Obtención de clave pública. La clave pública de ElGamal consta de tres parámetros (p, g, y).

    Por ejemplo, suponga que p = 17 y que g = 6 (Se puede confirmar que 6 es un generador del grupo Z17). La clave privada x puede ser cualquier número mayor que 1 y menor que 71, por lo que elegimos x = 5. El valor y se calcula de la siguiente manera:

y = 65 mod 17 = 7

Cifrado y descifrado

La generación de un par de claves ElGamal es comparativamente más simple que el proceso equivalente para RSA. Pero el cifrado y el descifrado son un poco más complejos que RSA.

Cifrado ElGamal

Supongamos que el remitente desea enviar un texto sin formato a alguien cuya clave pública de ElGamal es (p, g, y), entonces –

  • El remitente representa el texto sin formato como una serie de números módulo p.

  • Para cifrar el primer texto plano P, que se representa como un número módulo p. El proceso de cifrado para obtener el texto cifrado C es el siguiente:

    • Genere aleatoriamente un número k;
    • Calcule dos valores C1 y C2, donde –
C1 = gk mod p
C2 = (P*yk) mod p
  • Envíe el texto cifrado C, que consta de dos valores separados (C1, C2), enviados juntos.

  • En referencia a nuestro ejemplo de generación de claves de ElGamal dado anteriormente, el texto sin formato P = 13 se cifra de la siguiente manera:

    • Genere aleatoriamente un número, digamos k = 10
    • Calcule los dos valores C1 y C2, donde –
C1 = 610 mod 17
C2 = (13*710) mod 17 = 9

Descifrado de ElGamal

C2 × (C1)-x  mod p = Plaintext
  • En nuestro ejemplo, para descifrar el texto cifrado C = (C1, C2) = (15, 9) usando la clave privada x = 5, el factor de descifrado es

15-5  mod 17 = 9

Análisis ElGamal

En el sistema ElGamal, cada usuario tiene una clave privada x. y tiene tres componentes de clave pública – módulo primo p, generador g, y público Y = gX mod p. La fuerza de ElGamal se basa en la dificultad del problema del logaritmo discreto.

El tamaño de la clave segura es generalmente> 1024 bits. Hoy en día se utilizan incluso claves de 2048 bits de longitud. En el frente de la velocidad de procesamiento, Elgamal es bastante lento, se utiliza principalmente para protocolos de autenticación de claves. Debido a la mayor eficiencia de procesamiento, las variantes de curva elíptica de ElGamal se están volviendo cada vez más populares.

Criptografía de curva elíptica (ECC)

Criptografía de curva elíptica (ECC) es un término utilizado para describir un conjunto de herramientas y protocolos criptográficos cuya seguridad se basa en versiones especiales del problema del logaritmo discreto. No utiliza números módulo p.

ECC se basa en conjuntos de números asociados con objetos matemáticos llamados curvas elípticas. Existen reglas para sumar y calcular múltiplos de estos números, al igual que las hay para los números módulo p.

ECC incluye variantes de muchos esquemas criptográficos que fueron diseñados inicialmente para números modulares como el cifrado ElGamal y el algoritmo de firma digital.

Se cree que el problema del logaritmo discreto es mucho más difícil cuando se aplica a puntos en una curva elíptica. Esto solicita el cambio de números módulo p a puntos en una curva elíptica. También se puede obtener un nivel de seguridad equivalente con claves más cortas si usamos variantes basadas en curvas elípticas.

Las claves más cortas dan como resultado dos beneficios:

  • Facilidad de gestión de claves
  • Computación eficiente

Estos beneficios hacen que las variantes del esquema de cifrado basadas en curvas elípticas sean muy atractivas para aplicaciones en las que los recursos informáticos están limitados.

Esquemas RSA y ElGamal: una comparación

Comparemos brevemente los esquemas RSA y ElGamal en los diversos aspectos.

RSA ElGamal
Es más eficiente para el cifrado. Es más eficaz para el descifrado.
Es menos eficiente para el descifrado. Es más eficaz para el descifrado.
Para un nivel de seguridad particular, se requieren claves largas en RSA. Para el mismo nivel de seguridad, se requieren claves muy cortas.
Es ampliamente aceptado y utilizado. Es nuevo y no muy popular en el mercado.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

planos de sketchup

¿Cómo elimino puntos guía o líneas discontinuas en SketchUp?

apple touch icon@2

Qué quiere decir esto ? image / png; base64?