加密算法你了解多少(一)
密码学早在计算机出现前就已经存在,古代就出现了代换密码或置换密码等一些古典的密码技术,本文将着重介绍现代的密码技术,目前主要有一下三个分支,分别为摘要算法、对称加密技术和非对称加密技术。本文将着重介绍一下摘要算法的加密算法的特性。
摘要算法能将输入任意长度的数据,都输出为固定长度的数据,只要输入的内容相同,其输出的内容也相同,不同输入的数据也将会得到不容的输出,目前最常见的哈希算法有 SHA 系列算法以及 MD5,因此摘要算法也被称为哈希算法。相较于其他两个分支技术,摘要算法在加密过程中无需使用密钥。
其特点主要包括以下几点:
(1)输入敏感,可以理解为即便是有一点点改动,起反应到哈希值上,就变成了很大的变动,从而能察觉到细微的输入变化;
(2)逆向困难,可以理解为若给定一个哈希值,在一个有限的时间内能够倒推出明文的概率几乎为 0;
(3)正向快速,与逆向困难相反,若果能够给定摘要算法和明文,在有限的时间内就能推算出哈希值;
(4)冲突避免,不同内容的明文,对应的哈希值不同,可以理解为,不用的数据块其哈希值几乎是不同的。
根据哈希值法的特征,其主要应用的场景是数据指纹。