¿Descifrado de clave pública?

Sep 30 2020

En el artículo ¿Cómo funciona Blockchain? el escritor hace las siguientes declaraciones:

Dado que solo usted debería poder gastar sus bitcoins, cada billetera está protegida por un método criptográfico especial que utiliza un par único de claves distintas pero conectadas: una clave pública y una privada.

Si un mensaje está cifrado con una clave pública específica, solo el propietario de la clave privada emparejada puede descifrar y leer el mensaje. Lo contrario también es cierto: si encripta un mensaje con su clave privada, solo la clave pública emparejada puede desencriptarlo. Cuando David quiere enviar bitcoins, necesita transmitir un mensaje cifrado con la clave privada de su billetera. Como David es el único que conoce la clave privada necesaria para desbloquear su billetera, es el único que puede gastar sus bitcoins. Cada nodo de la red puede verificar que la solicitud de transacción proviene de David descifrando el mensaje con la clave pública de su billetera.

Específicamente esto: If you encrypt a message with your private key, only the paired public key can decrypt it.

¿Es cierto que puede cifrar una cadena con una clave privada y solo la clave pública puede descifrarla? Era consciente de lo contrario, obviamente, pero esto simplemente no parece correcto.

Respuestas

20 fgrieu Sep 30 2020 at 21:40

De hecho, el texto citado es incorrecto; al menos, utilizando vocabulario incorrecto. Eso debería ser: si firma un mensaje con su clave privada, la clave pública emparejada se puede utilizar para verificar la integridad y el origen del mensaje firmado.

La pequeña cantidad de verdad que hay en la declaración original se reduce a: en algunos criptosistemas asimétricos, incluido RSA¹ (pero sin incluir ECDSA usado en bitcoin y muchos otros protocolos), la operación de firma incluye un paso similar a un paso usado en el cifrado, excepto con la clave privada en lugar de la clave pública; y eso se deshace en la operación de verificación , que incluye un paso similar a un paso utilizado en el descifrado, excepto con la clave pública en lugar de la clave privada.


¹ Y luego no la variante de RSA más utilizada en la práctica por razones de rendimiento, que utiliza el teorema del resto chino en operaciones de clave privada. Eso no tiene equivalente para las operaciones de clave pública y usa la clave privada en una forma que la hace no intercambiable con la clave pública. Eso hace que el giro en el texto citado sea inviable.