【发布时间】:2017-04-01 01:09:06
【问题描述】:
我正在使用的 Python 3 库:RSA stuvel
在这个库中,sign 函数首先生成一个哈希,然后对其进行签名。有什么方法可以让它在不先散列的情况下签署消息?
或者是否有其他可用的库可以做到这一点?
【问题讨论】:
标签: python rsa digital-signature
我正在使用的 Python 3 库:RSA stuvel
在这个库中,sign 函数首先生成一个哈希,然后对其进行签名。有什么方法可以让它在不先散列的情况下签署消息?
或者是否有其他可用的库可以做到这一点?
【问题讨论】:
标签: python rsa digital-signature
有一个函数here: Package Crypto :: Package PublicKey :: Module RSA :: Class _RSAobj sign。
但请注意,通常签名生成是通过散列进行的,由指示散列的 DER 编码结构扩展,该散列又被填充并转换为数字以形成实际模幂运算的输入。该方法只执行最后一步;你必须自己做其他的,并注意从安全角度来看它们是必需的。
这都是在PKCS#1 规范中指定的。请注意,这是一个棘手的问题,您可能希望从开源实现中复制它。或者你可以只提供一个哈希值,这是一个非常好的主意 - 首先对消息进行哈希处理。
还有被撤回的 ISO/IEC 9796,它描述了带有消息恢复的签名,这可能是您所追求的。我没有直接在 Python 中看到实现。即使你找到了库,也要在使用库之前确定你在做什么。
祝你好运!
【讨论】: