Si tuviera que reformular su pregunta de la forma en que la entiendo, está preguntando lo siguiente:
Si la criptografía de clave pública asegura que una clave pública se puede derivar de una clave privada, pero una clave privada no se puede derivar de una clave pública, entonces podría preguntarse, ¿cómo puede una clave pública descifrar un mensaje firmado con una clave privada sin el remitente? exponiendo la clave privada dentro del mensaje firmado al destinatario? (vuelva a leer eso algunas veces hasta que tenga sentido)
Otras respuestas ya han explicado cómo asimétricas medios de criptografía que pueda ya sea :
- Cifrar con clave pública, descifrar con clave privada correspondiente (pseudocódigo a continuación)
var msg = 'secret message';
var encryptedMessage = encrypt(pub_key, msg);
var decryptedMessage = decrypt(priv_key, encryptedMessage);
print(msg == decryptedMessage == 'secret message'); // True
- Cifrar con clave privada, descifrar con clave pública correspondiente (pseudocódigo a continuación)
var msg = 'secret message';
var encryptedMessage = encrypt(priv_key, msg);
var decryptedMessage = decrypt(pub_key, encryptedMessage); // HOW DOES THIS WORK???
print(msg == decryptedMessage == 'secret message'); // True
Nosotros sabemos que tanto el ejemplo # 1 y # 2 de trabajo. El ejemplo # 1 tiene sentido intuitivo, mientras que el ejemplo # 2 plantea la pregunta original .
Resulta que la criptografía de curva elíptica (también llamada "multiplicación de curva elíptica") es la respuesta a la pregunta original. La criptografía de curva elíptica es la relación matemática que hace posibles las siguientes condiciones:
- Una clave pública se puede generar matemáticamente a partir de una clave privada
- Una clave privada no se puede generar matemáticamente a partir de una clave pública (es decir, "función de puerta trampa")
- Una clave privada puede ser verificada por una clave pública
Para la mayoría, las condiciones n. ° 1 y n. ° 2 tienen sentido, pero ¿qué pasa con el n. ° 3?
Tu tienes dos opciones aquí:
- Puede bajar por una madriguera de conejo y pasar horas y horas aprendiendo cómo funciona la criptografía de curva elíptica ( aquí hay un gran punto de partida ) ... O ...
- Puede aceptar las propiedades anteriores, al igual que acepta las 3 leyes de movimiento de Newton sin necesidad de derivarlas usted mismo.
En conclusión, se crea un par de claves público / privado utilizando criptografía de curva elíptica, que por naturaleza, crea una clave pública y privada que están vinculadas matemáticamente en ambas direcciones, pero no derivadas matemáticamente en ambas direcciones . Esto es lo que le permite utilizar la clave pública de alguien para verificar que firmó un mensaje específico, sin que exponga su clave privada a usted.