在 DSA-DSS 的 Python Pycryptodome 默认示例中 大家好。我问了这个问题,但是,这并不聪明,我在我的个人资料中删除了,只是从我的朋友帐户中询问。
问题是。我尝试使用公钥加密,签名,验证,所以..
直到明天一切顺利,但我遇到了 DSA-DSS ECDSA。如果你看图片,我认为我针对它有一些问题。他们在 DSS 中使用私钥制作“签名者”,但他们没有在签名中使用它。相反,它使用密钥签名。即使在验证级别,(在图片中没有出现)他们从“PEM”文件中调用公钥并尝试在不调用 DSS new() 的情况下再次进行验证..
因此,如果您比较我的代码和图片,那么您实际上会注意到我想说的话...
from Crypto.PublicKey import DSA
from Crypto.Signature import DSS
from Crypto.Hash import SHA256
key = DSA.generate(2048)
publickey=key.publickey()
message = b"Hello"
hash_obj = SHA256.new(message)
signer = DSS.new(key, 'fips-186-3')
signature = signer.sign(hash_obj)
所以在这里我试图验证消息..我没有再次创建对象,我从上面显示的密钥中调用了公钥。
pkey=DSS.new(publickey,'fips-186-3')
pkey.verify(hash_obj,signature)
False
如您所见,我得到了“错误”。我在 ECDSA 上尝试过 - DSS 再次返回了同样的结果。所以如果你有我想做的事,请帮忙,我想做什么?