¿En qué se diferencian las claves públicas y privadas?

1

Mientras leía sobre DKIM vi que la clave privada del remitente es se usa para cifrar un hash, que luego el destinatario descifra con la tecla pública del remitente.

Esto es exactamente lo contrario en comparación con el cifrado de un mensaje.

Como las claves privadas y públicas se pueden usar para cifrar un mensaje (un correo o un hash para los dos casos anteriores), ¿qué tan diferentes son?

  • ¿Por qué no pueden usarse indistintamente?
  • ¿El algoritmo de cifrado es diferente según la clave que se utiliza (y, presumiblemente, la fuerza del criptotexto generado es diferente?)
pregunta WoJ 23.03.2016 - 17:20
fuente

3 respuestas

7

Las claves públicas y privadas en un par de claves son aspectos distintos de una estructura matemática subyacente.

Tomemos algunos ejemplos:

  • En RSA, la clave pública consiste en un entero grande compuesto n (llamado módulo) y un entero impar (generalmente corto) (el "exponente público"). La clave privada es, en última instancia, el conocimiento de los factores primos de n . En la práctica, n = pq para dos primos grandes p y q , y la clave privada es p y q.

  • En ECDSA, operamos sobre una curva elíptica, que es un extraño animal matemático que contiene "puntos". Una curva es un grupo de cierto tamaño q . La clave privada x es un módulo entero no nulo q (es decir, un número entero entre 1 y q -1); la clave pública es un punto en la curva, que resulta de ser la aplicación de la ley de grupo x -1 veces en un punto fijo convencional (llamado "generador").

En ambos casos, existe una fuerte relación matemática entre la clave privada y la pública, pero aún así son cosas muy distintas. Además, la estructura en la que funciona la criptografía asimétrica depende del algoritmo, y hay bastante variedad.

Por último, pero no menos importante , DKIM no es no sobre el cifrado. Es un mecanismo que utiliza firmas . Al parecer, te topaste con uno de los muchos textos que pretenden explicar las firmas como "cifrar el hash". Tenga en cuenta que todas estas explicaciones son confusas y erróneas.

    
respondido por el Thomas Pornin 23.03.2016 - 17:30
fuente
1

Las claves privadas y públicas se pueden usar indistintamente para cifrar. Ese es el punto. No hay diferencia (importante) en el algoritmo, sino en el propósito de las claves.

Al mantener privada la clave privada, tiene el único mecanismo secreto para descifrar los mensajes de la clave pública. Esto asegura que solo usted puede leer el mensaje.

Al mantener pública la clave pública, el mundo puede descifrar los mensajes de su clave privada. Este proceso no consiste en mantener el mensaje en secreto, sino en permitir que el mundo pueda verificar que usted, y solo usted, cifró el mensaje.

    
respondido por el schroeder 23.03.2016 - 17:31
fuente
1

Una diferencia interesante:

En el caso de RSA, puede obtener la clave pública de la clave privada, pero por supuesto, no al revés.

    
respondido por el cornelinux 27.05.2017 - 12:51
fuente

Lea otras preguntas en las etiquetas