非对称密码学基于什么,对称密码学和非对称密码学
本文主要为大家介绍python密码学的对称和非对称密码学教程。有需要的朋友可以借鉴一下,希望能有所帮助。祝大家进步很大,早日升职加薪。
00-1010对称加密缺点数据加密标准(DES)安装输出非对称加密缺点输出在本章中,我们将详细讨论对称和非对称加密。
目录
在这种类型中,加密和解密过程使用相同的密钥。它也被称为密钥加密。对称加密的主要特征如下:
更简单快捷。双方以安全的方式交换密钥。
对称密码术
对称加密的主要缺点是,如果密钥泄露给入侵者,消息可以很容易地被更改,这被视为一个风险因素。
缺点
最流行的对称密钥算法是数据加密标准(DES),Python包含一个包,其中包含DES算法背后的逻辑。
数据加密标准(DES)
用Python安装DES包pyDES的命令是:
pip安装pyDES
DES算法的简单程序实现如下
importpyDes
data= desalgorithmimimplementation
k=pyDes.des(DESCRYPT ,pyDes。CBC, \0\0\0\0\0\0\0 ,pad=None,padmode=pyDes。PAD_PKCS5)
加密(数据)
printEncrypted:%r%d
print decrypted :% r % k . decrypt(d)
assertk.decrypt(d)==data
它调用变量padmode,pad mode根据DES算法提取所有数据包,并按照指定的方式进行加密和解密。
安装
作为上面和下面给出的代码的结果,您可以看到下面的输出;
输出
它也被称为公钥加密。它的工作方式与对称加密相反。这意味着它需要两个密钥3360,一个用于加密,另一个用于解密。公钥用于加密,私钥用于解密。
非对称加密
由于其密钥长度,其加密速度较低。密钥管理非常重要。以下Python中的程序代码说明了使用RSA算法的非对称加密的工作及其实现3360
来自CryptoimportRandom
来自Crypto。PublicKeyimportRSA
importbase64
defgenerate_keys():
# keylengthmustbhamultipleof 256 and=1024
模数_长度=256*4
private key=RSA . generate(modulus _ length,Random.new()。阅读)
publickey=privatekey.publickey()
returnprivatekey,publickey
defencrypt_message(a_message,publickey):
encrypted _ msg=public key . encrypt(a _ message,32)[0]
encoded _ encrypted _ msg=base64 . b 64 encode(encrypted _ msg)
returnencoded_encrypted_msg
def decrypt _ message(encoded _ encrypted _ msg,privatekey):
decoded _ encrypted _ msg=base64 . b64 decode(encoded _ encrypted _ msg)
decoded _ decrypted _ msg=private key . decrypt(decoded _ encrypted _ msg)
returndecoded_decrypted_msg
a _ message= thisitheillustrionofrsalgorithmofassymmetric cryptography
privatekey,publickey=generate _ keys()
encrypted _ msg=encrypt _ message(a _ message,publickey)
解密消息=解密消息(加密消息,私有密钥)
print“% s-(% d)% %(private key . export key()),len(privatekey.exportKey()))
print % s-(% d)% %(public key . export key(),len(publickey.exportKey()))
print original content :% s-(% d)%(a _ message,len(a_message))
print encrypted message :% s-(% d)%(encrypted _ msg,len(encrypted_msg))
print decrypted message :% s-(% d)%(decrypted _ msg,len(decrypted_msg))
缺点
当执行上面给出的代码时,您可以发现减去输出;
以上是python密码学对称和非对称密码学教程的详细内容。关于python对称和非对称加密的更多信息,请关注盛行IT软件开发工作室的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。