关于加密算法的理解

对称加密

  • DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。
  • 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。
  • AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高;

总结(相同数据,相同密钥):

  1. DES速度是3DES的三倍
  2. AES分为根据密钥长度分为AES-128,AES-192,AES-256,三者性能差别不大
  3. AES性能优于DES

非对称加密

  • RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的;
  • DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准);
  • ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学。

总结:

  1. RSA随着密钥对的长度增长,加解密速度会明显降低
  2. 目前还没实现
  3. 目前还没实现,但是根据ECC签名以及网上的资料表示,ECC会逐渐成为主流

    对称加密,非对称加密的前提条件都是要先生成密钥或者密钥对

哈系算法

  • MD5(Message Digest Algorithm 5):是RSA数据安全公司开发的一种单向散列算法。
  • SHA(Secure Hash Algorithm):可以对任意长度的数据运算生成一个160位的数值;

总结:

  1. SHA比MD5复杂强度更高,但是运行速度较慢.
  2. 哈系算法一般会结合非对称加密,实现签名-验签

签名-验签

  • RSA+hash(sha,mad5)
  • ECC

加密/解密 和 签名/验签的区别

  1. 一般都使用非对称加密
  2. 前者使用公钥加密,私钥解密
  3. 后者使用私钥签名,公钥验签
  4. 签名/验签的过程不一定需要反向解密

算法原理

ECC

椭圆曲线加密教程 (上篇)

椭圆曲线加密教程 (下篇)

常见加密算法分类,用途,原理以及比较

目前只是研究了ECC算法原理,但是理解上还差一点,后期补上