常见加密解密简单总结

随着互联网的快速发展,它已经成为了我们生活中不可或缺的一部分。与此同时,拥有一个安全的互联网环境成为了我们每个人心声。目前在公司里边所做的事情,也涉及到了加密解密这一块的东西,之前没有怎么接触过,所以这一次系统地过一下常见的加密解密都有哪些,不求深入,只求有一个大致的了解。

  1. 对称/非对称 加密
  1. 哈希加密及其破解方法

1. 对称/非对称 加密

对称密钥加密(英语:Symmetric-key algorithm)又称为对称加密、私钥加密、共享密钥加密,是密码学中的一类加密算法。这类算法在加密和解密时使用相同的密钥,或是使用两个可以简单地相互推算的密钥。实务上,这组密钥成为在两个或多个成员间的共同秘密,以便维持专属的通讯联系。与公开密钥加密相比,要求双方取得相同的密钥是对称密钥加密的主要缺点之一。

信息转换过程可以描述为:

明文 <-> 密钥 <-> 密文

常见的对称加密算法有:

DES3DESAESBlowfishIDEARC5RC6

特点:加密解密效率高速度快,适合进行大数据量的加解密。

公开密钥加密(英语:public-key cryptography,又译为公开密钥加密),也称为非对称加密(asymmetric cryptography),一种密码学算法类型,在这种密码学方法中,需要一对密钥(其实这里密钥说法不好,就是“钥”),一个是私人密钥,另一个则是公开密钥。这两个密钥是数学相关,用某用户密钥加密后所得的信息,只能用该用户的解密密钥才能解密。如果知道了其中一个,并不能计算出另外一个。因此如果公开了一对密钥中的一个,并不会危害到另外一个的秘密性质。称公开的密钥为公钥;不公开的密钥为私钥。

常见的非对称加密算法有:

RSADSAECC

点击查看阮一峰对RSA算法的介绍

特点:算法复杂,加解密速度慢,但安全性高,一般与对称加密结合使用(对称加密对内容加密,非对称对对称所使用的密钥加密)

点击查看:对称和非对称结合使用的应用场景

2. 哈希加密及其破解方法

哈希算法的特性:

  • 哈希(Hash)算法是一种单向密码体制,即只有加密过程,没有解密过程。

  • 相同输入经过同一哈希函数得到相同散列值,但并非散列值相同则输入结果相同。

哈希加密算法:

哈希算法应用于加密学,将加密学领域的哈希算法称为哈希加密算法,常见的如上面提到的MD5,SHA-系列算法,每种哈希加密算法,均通过某种哈希函数进行迭代,将任意长度的消息输入,经过压缩生成“消息摘要”( MessageDigest)。

哈希加密算法的过程:

  1. 预处理(Preprocessing):消息填充、将消息分割成m个处理块、为哈希设置初始化值

  2. 哈希计算(HashComputation):将预处理完成的数据生成消息摘要,利用对应的哈希函数、相关常熟生成哈希值(即散列值、摘要信息)。

  3. 每种哈希加密算法根据初始化参数生成固定长度的摘要信息,例如SHA-256生成的摘要信息长度为128位。越长安全性越高。

常见哈希加密算法有:MD5SHA-1SHA-2SHA-256SHA-X(系列)

此外还有一种哈希加密算法的扩展算法:哈希加盐算法

我们可以通过在密码中加入一段随机字符串再进行哈希加密,这个被加的字符串称之为盐值。之所以要这样做,是为了增加加密的安全性,尽最大可能被破解。

点击查看更多:哈希加盐算法

破解哈希的常见方法:

  1. 暴力破解
  2. 字典破解(即 跑字典)
  3. 查表,反查表,跑彩虹表

点击查看更多:破解方法

参考文章:

  1. 从实际问题看非对称加密的应用
  2. 白话解释 对称加密算法 VS 非对称加密算法
  3. Hash函数加密算法(一)
  4. 为什么密码需要进行哈希?
  5. 如何安全的存储用户密码?
点赞