常见的加密算法主要有三种:对称加密算法、非对称加密算法和数字摘要算法。
1、对称加密算法
对称加密算法也叫共享密钥加密算法、单密钥加密算法。采用单密钥的加密方法,同一个密钥可以同时用作信息的加密和解密,即解密算法为加密算法的逆算法。因此在知道了加密算法后也就知道了解密算法。
2、非对称加密算法
非对称加密算法又叫公开密钥算法。采用的是公钥和私钥相结合的加密方法。公钥和私钥是两个完全不同的密钥,一个用于加密,一个用于解密。同时这两个密钥在数学上是关联的。即解密算法不是加密算法的逆算法,因此在知道了加密算法后也无法知道解密算法,保证了安全性。
3、数字摘要算法
又称哈希算法、散列算法,是一种单向算法,它通过对数据内容进行散列得到一个固定长度的密文信息(信息是任意长度,而摘要是定长)。即用户可以通过哈希算法对目标信息生成一段特定长度的唯一的Hash值,却不能通过这个Hash值重新获得目标信息。该算法不可逆。
加密算法的特点
1、对称加密算法
加密和解密使用相同的秘钥,容易被破解。
速度比非对称加密算法快。
数据传输的过程不安全。
2、非对称加密算法
保密性比较好,消除了用户交换秘钥的需要。
算法强度复杂,安全性比较强。
速度慢于对称加密算法。
3、数字摘要算法
信息是任意长度,摘要是定长的。
摘要算法是防冲突的,即找不出摘要结果相同的两条信息。
摘要结果是不可逆的,即无法通过摘要还原出相应的原始内容。
适用场景
1、对称加密算法
无需进行密钥交换的场景,如内部系统,事先就可以直接确定密钥。
加解密速度快,适合数据内容比较大的加密场景。
加解密速度快,适合数据内容比较大的加密场景。
2、非对称加密算法
适用于需要密钥交换的场景,如互联网应用,无法事先约定密钥。
与对称加密算法结合。利用非对称加密算法安全性较好的特点,传递对称加密算法的密钥。利用对称加密算法加解密速度快的特点,进行数据内容比较大的加密场景的加密。如HTTPS。
3、数字摘要算法
下载文件时,文件的完整性校验。
数字证书的指纹生成算法;完整性校验。
数字证书的指纹生成算法。
密码的正确性校验,即只需要验证密码的摘要是否相同即可确认密码是否相同,同时也保证让密码以密文保存,无法被可逆破解。
网友评论