【发布时间】:2020-04-12 17:17:22
【问题描述】:
我知道这个问题已经被问过无数次了,但是其他人问的不够清楚,或者这根本不可能(尽管没有人这么说),反正没有人给出明确的答案(可能是代码)。所以:我正在尝试构建一种加密货币,但它纯粹是为了好玩,所以我不需要它是超级安全的,我希望使用 RSA 来验证用户的真实性,我用私钥加密交易消息和然后我将消息与加密版本一起发送,然后当我需要验证时,我要求提供公钥并解密。现在问题来了: 显然它需要私钥来解密(我显然不能拥有),而从数学上讲,如果没有它,这将完美地工作。有没有办法解决?类似工作但不是 RSA 的东西也可以。
【问题讨论】:
-
请告诉我,您实际上并没有使用 PyCrypto,而是 PyCryptodome 或其他支持的东西。参见,例如,github.com/dlitz/pycrypto/issues/238
-
您所描述的是一个签名。看看 pycryptodome 的sign/verify API。当应用于 RSA 时,“加密”和“解密”这两个词令人困惑。因此,最好为发送方使用接收方的公钥转换明文的情况专门保留单词加密。只有接收者才能恢复明文。当我们使用我们的私钥转换明文,以便任何人都可以使用我们的公钥恢复明文时,这称为签名。
-
谢谢,我不知道
-
有没有办法使用公钥从数字签名中检索原始哈希?
标签: python authentication rsa public-key pycryptodome