¿Firma digital y verificación?

7

AFAIK, cuando Alice quiere escribir un mensaje a Bob, ella usa la clave pública de Bob y encripta el mensaje, y luego Bob, con su clave privada, la usa para descifrarla.

Por lo tanto, la clave pública se utiliza para descifrar y la clave privada se utiliza para cifrar.

Pero luego vi esta explicación (en la firma digital relacionada):

aquí dice que el valor de hash (firmado) se cifra con su clave privada ?

¿la clave privada se usa no solo para el descifrado (mensajes que me fueron enviados) sino también para el cifrado (hash que calculo)?

    
pregunta Royi Namir 01.10.2012 - 20:05
fuente

3 respuestas

9

Esa es la confusión habitual de "firmar es como cifrar con tu clave privada".

Solo olvídalo. Es una terrible explicación que no funciona. Parecía que funcionaba en los días de antaño, cuando se describió por primera vez el primer algoritmo de firma digital (basado en la criptografía asimétrica) (estoy hablando de RSA y estaba en la era Disco); pero incluso para RSA no es correcto ya que no tiene en cuenta el relleno, lo cual es crítico para la seguridad.

Eche un vistazo a PKCS # 1 para ver cómo se utiliza RSA. En particular, cuando encriptamos los datos con RSA y una clave de 1024 bits, lo máximo que puede encriptar de una sola vez es de 117 bytes, pero el resultado de encriptación es siempre de 128 bytes, y eso es lo que espera un motor de descifrado. . Independientemente de cuánto intente, 128 bytes no cabrán en menos de 117 bytes ...

Lo que se debe recordar es que una clave privada es lo que se usa para hacer algo que no debería ser factible para todos. Esto significa descifrado de datos (cualquiera puede cifrar un mensaje a Bob, pero solo Bob debería poder leerlo) y generación de firmas (todos pueden verificar una firma, pero solo Bob debe ser capaz de producir una firma que todos puedan verificar como proveniente de Bob).

Aunque hay algoritmos de cifrado asimétricos que pueden usar el mismo tipo de clave que los algoritmos de firma digital (hay cifrado RSA y firmas RSA, y ambos usan "claves RSA"), usar la misma clave para ambos es no es una buena idea .

    
respondido por el Thomas Pornin 01.10.2012 - 20:26
fuente
4

La criptografía asimétrica se puede utilizar para proporcionar confidencialidad y autenticidad .

En términos simples, uno puede calcular un hash criptográfico de un mensaje y "cifrarlo" con su clave privada, para producir una firma. Cualquier persona que esté en posesión de la clave pública correspondiente puede usarla para verificar que la firma es correcta. Esto nos permite probar que un mensaje es auténtico .

A la inversa, es posible cifrar un mensaje con la clave pública, y solo la clave privada puede descifrarlo, incluso si todos en el planeta conocen la clave pública. Esto nos permite hacer un mensaje confidencial .

Cuando se combinan, estas dos propiedades nos permiten comunicarnos de manera confidencial y nos aseguramos de que la persona con la que estamos hablando sea realmente la persona que esperamos.

    
respondido por el Polynomial 01.10.2012 - 20:22
fuente
-1

Una clave privada es un factor de su clave pública. A través de las matemáticas, realmente no entiendo, cualquiera puede cifrar un mensaje con su clave pública y solo usted puede descifrarlo con su clave privada. Esto se denomina cifrado RSA para referencia.

Una cosa importante a tener en cuenta es que RSA requiere que una clave más larga sea efectiva como AES (cifrado simétrico) y se usa principalmente para la distribución de claves. El mensaje real se cifrará con AES mediante un secreto compartido distribuido a través de RSA.

    
respondido por el November 01.10.2012 - 21:27
fuente