【发布时间】:2023-03-15 00:31:01
【问题描述】:
我想签署一条消息,然后我从签名中获取原始消息。
我在 java 中找到 RSA 和 DSA 签名:http://docs.oracle.com/javase/tutorial/security/apisign/vstep4.html
但是他们的验证方法使用原始数据进行验证,无法从签名中恢复消息。
有没有办法在 Java 或任何 Java 的免费库中做到这一点?
谢谢大家。
【问题讨论】:
-
无法从签名中恢复消息。签名几乎总是短得多,因此它不可能包含足够的数据。签名只会验证消息,不会复制它。
-
但是对于某些签名方法,可以恢复消息。例如 RSA。看到这个页面:(javadoc.iaik.tugraz.at/iaik_jce/current/iaik/iso/iso9796/…)但是iaik库不是免费的。
-
在 ISO-9796 中指定的一些算法名称中出现了 RSA 这个词,但它不是 RSA 签名。但你是对的,一些签名算法确实支持消息恢复。请在下面查看我的答案。