对称加密技术被称为初等加密技术,非对称加密技术即为高级数据加密技术,安全性更高,但是效率要低。

特点

非对称加密技术一般有两把密钥:公钥和私钥

公钥用来加密,私钥用来解密是非对称加密技术的特点;

优势:安全,劣势:效率低,极端场景下比对称加密技术能慢1000倍;

家族发展历史

对称加密技术解决了一个信息加密技术问题,但是对称加密技术有一个很大的问题就是密钥管理问题,这是一个技术和管理手段并行才能解决的难题,而且密钥一般情况下不能被传输,以防止密钥被截获。

非对称加密技术解决了密钥管理难题,非对称加密算法源于DH算法(密钥交换算法),DH算法可以成为非对称加密算法的鼻祖。

  • 1976年,非对称加密算法在IEEE刊物上被首次提出;

应用场景

非对称加密算法虽然安全性高,解决了密码管理问题,但是非对称加密算法有两个致命问题:

  • 加密效率:甚至成为极地,算法运行效率慢,这是无法忽视的,很多场合无法忍受的;
  • 对待加密数据长度要求高:不适合加密大量数据,适合加密短小的数据;

由于以上两个问题,非对称加密数据更适合交换对称加密算法的密钥,而非数据加密。

关于非对称加密算法的应用,很多学者建议,对称加密和非对称加密结合使用。

  • 使用对称加密算法(如AES)加密要传输的数据,效率高,且无数据大小限制;
  • 使用非对称加密算法(如RSA)加密对称加密算法的密钥;

算法家族

加密算法其实本质上就是数学公式和数学求解,非对称加密算法主要分为两类,基于因子分解难题和基于离散对数难题,具体包括以下算法:

  • RSA算法,由MIT的学者提出,典型的基于因子分解算法,也是当今应用最广泛的非对称加密算法;
  • ElGamal算法,可用于加解密,也是数字签名算法的参考标准,DSS(数字签名标准)中的DSA(数字签名算法)由此演变而来;
  • ECC算法,椭圆曲线加密,ECC算法建立密钥时可以做到更快、更小、更有效,由椭圆曲线方程式产生密钥,区别于传统的大质数的积产生;