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 .