常见的加密算法

1. 加密算法

  • 加密算法分为单项加密和双项加密算法
  • 双项加密分为对称加密和非对称加密算法,单项加密一般为Hash算法

1.1 对称加密算法

  1. 对称加密算法是指加密和解密采用相同的密钥,是可逆的,即可以解密。
  2. 常见对称加密算法包括:AES,DES,3DES。
  3. AES加密算法是密码学中的高级加密标准,采用的是对称分组密码体制,密钥长度的最少支持为128。
  4. DES加密算法是利用56+8奇偶效验位 = 64位的密钥对以64位为单位的块数据进行加解密。
  • 优点:加密速度快
  • 缺点:密钥的传递和保存是个问题,参与加密和解密的密钥是一样的,所以安全性不能保证。

1.2非对称加密算法

  1. 非对称加密算法是指加密和解密采用不同的密钥(公钥和私钥),因此非对称加密也叫公钥加密,是可逆的(即可解密)。
  2. RSA加密算法是基于一个十分简单的数论事实:将两个大素数相乘十分容易,但是想要对其乘积进行因式分解极其困难,因此可以将乘积公开作为加密密钥。虽然RSA的安全性一直未能得到理论上的证明,但它经历了各种攻击至今未被完全攻破。
  3. 常见的非对称加密算法包括:RSA,DSA。
  4. RSA加密算法可以用来做数据加密,也可以用来数字签名。
  • 优点:密和解密的密钥不一致,公钥是可以公开的,只需保证私钥不被泄露即可,这样就密钥的传递变的简单很多,从而降低了被破解的几率。
  • 加密速度慢
  • 数字签名过程:甲方用私钥加密,乙方用公钥解密(乙方解密成功说明就是甲方加的密,甲方就不可以抵赖)

1.3 Hash加密算法

  1. 常见的Hash加密算法包括:MD4,MD5,SHA-1
  2. MD5全称是Message-Digest Algorithm 5(信息摘要算法5),单向的算法不可逆(被MD5加密的数据不能被解密)。MD5加密后的数据长度要比加密数据小的多,且长度固定,且加密后的串是唯一的。
  3. 适用场景:常用在不可还原的密码存储、信息完整性校验等。
  4. 信息完整性校验:典型的应用是对一段信息产生信息摘要,以防止被篡改。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。

1.4 Base64加密算法

  1. Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,Base64编码可用于在HTTP环境下传递较长的标识信息。
  2. Base64就是一种基于64个可打印字符来表示二进制数据的方法。
  3. Base64加密算法属于对称加密算法。

你可能感兴趣的:(学习笔记)