Python学习————对称加密和非对称加密

Posted Dimple_Y

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习————对称加密和非对称加密相关的知识,希望对你有一定的参考价值。

对称加密和非对称加密

对称加密:

**

对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥加密

也就是密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法,

对称加密算法使用起来简单快捷,

密钥较短,且破译困难,除了数据加密标准(DES),另一个对称密钥加密系统是国际数据加密算法(IDEA),

它比DES的加密性好,而且对计算机功能要求也没有那么高

对称加密算法在电子商务交易过程中存在几个问题:

  1、要求提供一条安全的渠道使通讯双方在首次通讯时协商一个共同的密钥。直接的面对面协商可能是不现实而且难于
  
  实施的,所以双方可能需要借助于邮件和电话等其它相对不够安全的手段来进行协商;

  2、密钥的数目难于管理。因为对于每一个合作者都需要使用不同的密钥,很难适应开放社会中大量的信息交流;

  3、对称加密算法一般不能提供信息完整性的鉴别。它无法验证发送者和接受者的身份;

  4、对称密钥的管理和分发工作是一件具有潜在危险的和烦琐的过程。对称加密是基于共同保守秘密来实现的,
  
  采用对称加密技术的贸易双方必须保证采用的是相同的密钥,保证彼此密钥的交换是安全可靠的,
  
  同时还要设定防止密钥泄密和更改密钥的程序。

  假设两个用户需要使用对称加密方法加密然后交换数据,则用户最少需要2个密钥并交换使用,
  
  如果企业内用户有n个,则整个企业共需要n×(n-1) 个密钥,密钥的生成和分发将成为企业信息部门的恶梦。

常见的对称加密算法有DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES

非对称加密:

与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。

公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;

如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。

因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;

得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对

加密后的信息进行解密。甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。

 非对称加密的典型应用是数字签名。

  常见的非对称加密算法有:RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)

思路详解及摘录:https://www.cnblogs.com/liuqingzheng/p/9760765.html

以上是关于Python学习————对称加密和非对称加密的主要内容,如果未能解决你的问题,请参考以下文章

密码学基础(对称加密和非对称加密)

密码学基础(对称加密和非对称加密)

密码学中的对称加密和非对称加密

对称加密和非对称加密

对称加密和非对称加密

对称加密和非对称加密的区别