Crypto.Signature.PKCS1_v1_5和Crypto.Signature.pkcs1_15有何区别?

4
我想知道 Crypto.Signature.PKCS1_v1_5Crypto.Signature.pkcs1_15 之间有什么区别?
文档中,它们使用的函数是Crypto.Signature.pkcs1_15,但有时我看到也用了Crypto.Signature.PKCS1_v1_5
这两者有什么不同,哪个更好用?

3
_PyCryptodome_支持Crypto.Signature.pkcs1_15Crypto.Signature.PKCS1_v1_5。但是应该使用pkcs1_15PKCS1_v1_5仅用于向后兼容旧版的_PyCrypto_。pkcs1_15在验证失败时会生成一个ValueError。而PKCS1_v1_5会将验证结果返回为True/False - Topaco
谢谢您的解释! - Emanuele
1个回答

4

Crypto.Signature.pkcs1_15 是 PyCryptodome 实现的 RSASSA-PKCS1-v1_5 签名方案。对应于 PyCryptodome 前身 PyCrypto 的传统实现为 Crypto.Signature.PKCS1_v1_5。PyCryptodome 也支持使用 Crypto.Signature.PKCS1_v1_5,但仅用于向后兼容,即新的实现应该使用 Crypto.Signature.pkcs1_15

请注意,两个库在处理上有所不同,例如Crypto.Signature.pkcs1_15.PKCS115_SigScheme#verify() 失败验证时会引发 ValueError 异常,而Crypto.Signature.PKCS1_v1_5.PKCS115_SigScheme#verify() 则返回验证结果的 True/False


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接