Cuando dices que "encriptas con una clave privada RSA", entonces en realidad no estás encriptando cosas. Esto es un poco histórico de confusión. Lo que está haciendo es una firma digital que el complemento verifica con la clave pública correspondiente. La confusión proviene del hecho de que, bajo una luz adecuada, las firmas RSA se pueden ver como una especie de "encriptación inversa" con la clave privada actuando primero. Sin embargo, difiere en algunos detalles (por ejemplo, el relleno y la participación de una función hash) que lo hacen bastante diferente cuando se trata de la implementación.
Si está utilizando un RSA esquema de firma digital adecuada (por ejemplo uno de los descritos en PKCS#1, sección 8 "esquemas de firma con apéndice"), con una llave adecuadamente grande RSA (1024 bits o más) generados mediante un algoritmo de generación de claves correctamente implementado, y luego, no existe una forma conocida, computacionalmente factible para que un atacante aproveche las firmas que ha producido para forjar nuevas firmas (y, a fortiori, descifre la clave privada RSA). De ninguna manera se ha demostrado que sus firmas no ayuden al atacante, pero 30 años de investigación pública sobre el tema no han dado lugar a tal incumplimiento.
Tenga en cuenta, sin embargo, que los detalles de uso, en particular el relleno (la parte inicial, que transforma los datos a firmar en un gran número que el núcleo matemático de RSA puede procesar) se han mostrado delicados; muchas formas propuestas para hacer el relleno han sido atacadas con éxito. Los rellenos PKCS # 1 han estado bajo escrutinio durante bastante tiempo (dos décadas para el relleno "v1.5") y se han resistido a todos estos intentos hasta el momento. A la familia de almohadillas "ISO 9796" no le fue tan bien, ya que se habían roto muchas variantes.
Si usted es no computando sus firmas de acuerdo con un estándar bien establecido (es decir, PKCS # 1), entonces está buscando problemas. No hagas eso. Afortunadamente, la mayoría de las implementaciones de RSA (en bibliotecas criptográficas y lenguajes/lenguajes de programación) siguen a PKCS # 1.
Thaks para una respuesta increíble – Riz