python rsa解密,rsa加密算法Python代码
这篇文章主要为大家介绍了大蟒密码学南非共和国(南非共和国)密码解密教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
目录
授权身份验证南非共和国(南非共和国)密码解密本章是前一章的延续,我们使用南非共和国(南非共和国)算法逐步实现加密,并详细讨论它。
用于解密密文的函数是如同跟随:
定义解密(密文,priv_key):
cipher=PKCS1_OAEP.new(priv_key)
returncipher.decrypt(密文)
对于公钥加密或非对称密钥加密,重要的是要保持两个重要的功能,即身份验证和授权。
授权
授权是确认发件人是唯一发送邮件的人的过程。以下代码解释了这个:
设计(消息,隐私密钥,哈希格=SHA-256):
全球哈希
哈希=哈希格
signer=PKCS1_v1_5.new(priv_key)
如果(哈希==SHA-512):
digest=SHA512.new()
elif(哈希==SHA-384):
digest=SHA384.new()
elif(哈希==SHA-256):
digest=SHA256.new()
elif(哈希==SHA-1):
digest=SHA.new()
else:
digest=MD5.new()
digest .更新(消息)
returnsigner.sign(摘要)
身份验证
身份验证可以通过验证方法解释,如下所示去;
定义验证(消息,签名,发布密钥):
signer=PKCS1_v1_5.new(pub_key)
如果(哈希==SHA-512):
digest=SHA512.new()
elif(哈希==SHA-384):
digest=SHA384.new()
elif(哈希==SHA-256):
digest=SHA256.new()
elif(哈希==SHA-1):
digest=SHA.new()
else:
digest=MD5.new()
digest .更新(消息)
returnsigner.verify(摘要,签名)
验证数字签名以及发件人和收件人的详细信息。为安全起见,这会增加更多的权重年龄。
RSA密码解密
您可以使用以下代码进行南非共和国(南非共和国)密码解密:
来自密码.PublicKeyimportRSA
来自密码.ciphermimportpkcs1 _ OAEP
来自密码.SignatureimportPKCS1_v1_5
来自密码.哈希端口SHA512、SHA384、SHA256、SHA、MD5
来自随机密码输入
frombase64importb64encode,b64decode
哈希=SHA-256
defnewkeys(keysize):
random_generator=Random.new().阅读
key=RSA.generate(keysize,random_generator)
private,public=key,key.publickey()
返回公共、私有
defimportKey(externKey):
returnRSA.importKey(externKey)
defgetpublickey(priv_key):
returnpriv_key.publickey()
防御加密(消息,发布密钥):
cipher=PKCS1_OAEP.new(pub_key)
returncipher.encrypt(message)
定义解密(密文,priv_key):
cipher=PKCS1_OAEP.new(priv_key)
returncipher.decrypt(密文)
设计(消息,隐私密钥,哈希格=SHA-256):
全球哈希
哈希=哈希格
signer=PKCS1_v1_5.new(priv_key)
如果(哈希==SHA-512):
digest=SHA512.new()
elif(哈希==SHA-384):
digest=SHA384.new()
elif(哈希==SHA-256):
digest=SHA256.new()
elif(哈希==SHA-1):
digest=SHA.new()
else:
digest=MD5.new()
digest .更新(消息)
returnsigner.sign(摘要)
定义验证(消息,签名,发布密钥):
signer=PKCS1_v1_5.new(pub_key)
如果(哈希==SHA-512):
digest=SHA512.new()
elif(哈希==SHA-384):
digest=SHA384.new()
elif(哈希==SHA-256):
digest=SHA256.new()
elif(哈希==SHA-1):
digest=SHA.new()
else:
digest=MD5.new()
digest .更新(消息)
returnsigner.verify(摘要,签名)
以上就是大蟒密码学南非共和国(南非共和国)密码解密教程的详细内容,更多关于大蟒密码学南非共和国(南非共和国)解密的资料请关注盛行信息技术软件开发工作室其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。