Una firma digital se verifica mediante un algoritmo que toma tres entradas: el mensaje, la firma digital (mensaje cifrado con clave privada) * y la clave pública. Si la clave pública se usa para verificar el mensaje original de la firma, entonces, lógicamente el algoritmo debe contener un método para transformar la clave pública en la clave privada, de modo que se pueda realizar la verificación. Esto implicaría un método para obtener la clave privada de la clave pública, que anula el propósito .
¿Puede alguien explicarme cómo se implementa el algoritmo para evitar este problema?
* como se explica a continuación por Mike, la firma es en realidad un resumen del mensaje cifrado con la clave privada
EDIT
Creo que "lógicamente" fue una mala elección de palabras. Quise decir que parecía "intuitivo" que la única forma de descifrar la firma sería convertir la clave pública en la clave privada. Obviamente, esto comprometería la confidencialidad de la clave privada y "anularía el propósito". A la luz de eso, intentaba entender cómo la clave pública verifica la firma sin la conversión a clave privada. Necesito ayuda con las matemáticas porque la asimetría no es intuitiva.
Las firmas digitales no son lo mismo que el intercambio de claves. Hasta donde puedo decir, en un sentido amplio, el primero usa la clave pública para "descifrar / verificar" el mensaje, mientras que el segundo usa la clave privada para "descifrar" la clave simétrica intercambiada (que fue "cifrada" usando clave pública asociada).