加密算法分类
加密算法介绍和应用
在项目中的使用讨论
加密算法分类
- 不可逆加密算法 Hash算法(SHA-1、SHA-256、MD5)
- 对称加密算法(DES、3DES、AES(AES-128|AES-256)
- 非对称加密算法(RSA、DSA)
不可逆加密
SHA-1
原理:
该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短、位数固定的输出序列即散列值(也称为信息摘要或信息认证代码)的过程,产生的输出是一个160位的报文摘要。
场景:
实现数字签名
浏览器验证
注:
数字签名的原理是将要传送的明文通过一种函数运算(Hash)转换成报文摘要(不同的明文对应不同的报文摘要),报文摘要加密后与明文一起传送给接受方,接受方将接受的明文产生新的报文摘要与发送方的发来报文摘要解密比较,比较结果一致表示明文未被改动,如果不一致表示明文已被篡改。
MD5
原理:
对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。
场景:
大容让大容量信息在用数字签名软件签署私人密钥前被“压缩”成一种保密的格式,一直性验证
各大型门户网站存储的用户密码的数据形式应该是HASH算法之后的形式,就是把一个任意长度的字节串变换成一定长的十六进制数字串
简单数据通信身份验证,安全访问认证
注:
常见32位,和16位,注意大小写
比较
对强行攻击的安全性:
最显著和最重要的区别是SHA-1摘要比MD5摘要长32 位。使用强行技术,产生任何一个报文使其摘要等于给定报摘要的难度对MD5是2^128数量级的操作,而对SHA-1则是2^160数量级的操作。这样,SHA-1对强行攻击有更大的强度。
速度:
在相同的硬件上,SHA-1的运行速度比MD5慢。
对称加密
思路