非对称密码学基于什么,对称密码学和非对称密码学

  非对称密码学基于什么,对称密码学和非对称密码学

  本文主要为大家介绍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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: