文章目录
NISP-密码学
1.密码学发展历程
19世纪末——古典密码
20世纪初-1949——近代密码
1949-1976-香农——现代密码
1976-至今-W.Diffie和M.Hellman——公钥密码
2.古典密码
概述:保持了算法本身的保密,受算法限制
缺点:
- 不适合大规模的生产
- 不适合较大或者人员变动较大的组织
- 用户无法了解算法的安全性—(即用户不知道该密码是否已经泄露)
3.近代密码学
概述:即在古典密码学的基础上采用机电代替手工
4.现代密码学
概述:数据的安全基于密钥而不是算法的保密
5.公钥密码
概述:使得发送端和接收端无密钥的传输的保密通信
明文:未加密的消息
密文:加密后的消息
加密员:对明文进行加密操作的人员
截获:非授权方(可以是人或者程序)介入系统,窃听传输信息,导致信息泄露,破坏了信息的保密性。
手段:
加密:
解密:
密码算法从密钥的使用角度分为:
- 对称密码算法
- 非对称密码算法
(1).对称密码算法
概述:
- 加密密钥和解密密钥相同或实质上相同,即从一个易于推出另一个
- 例如:DES,AES,3DES,IDEA
- 密钥相对较短,一般采用128,192或者256比特
对称加密过程:
K=K1
对称加密优点:
- 效率高,算法简单,开销小
- 适合加密大量数据
- 明文长度与密文长度相等
对称加密缺点:
- 需以安全方式交换
- 密钥管理复杂
- 无法解决消息篡改和否认
(2).非对称算法
概述:
- 和对称算法相反(又叫“公钥密码算法”)
- 公钥:对方公开的密钥
- 私钥:必须保密的密钥
- 例如:RSA,ECC(椭圆曲线公钥密码算法),ELGamal
- 公钥加密,私钥解密;私钥加密,公钥解密。
- 密钥长度:512-2048位
非对称加密过程:
非对称加密优点:
- 密钥分发数目与参与者数目相同
- 安全
- 在有大量参与者的情况下,易于密钥的管理
- 支持数字签名和不可否认性
- 无需事先与对方建立联系,交换密钥
非对称加密的缺点:
- 速度慢,比同等强度的对称密码慢10倍甚至100倍
- 加密后,密文边长
(3).混合加密过程
6.哈希函数
概述:
- 接受一个消息输入,经过处理输出一个固定长度的哈希值
- 又叫(杂凑函数或者单向散列函数)
- 哈希值(散列值或者消息摘要)
- 防篡改
- 例子:MD5加密
- 哈希函数是将任意有限长度的比特串映射为固定长度的比特串
哈希函数应用过程:
- 如果哈希值Y和Y1匹配,则说明数据有效
- 如果哈希值Y和Y1不匹配,则说明数据无效,被篡改
(1).MD5算法
- 输入:任意长度消息
- 处理:以512位数据块为单位处理
- 输出:128位消息摘要
(2).SHA-1算法(安全哈希算法)
- 输入:最大长度为264位消息
- 处理:以512位数据块为单位处理
- 输出:160位消息摘要
(3).MD5算法和SHA-1算法比较
name | MD5 | SHA-1 |
---|---|---|
散列值长度 | 128bits | 160bits |
安全性 | 较低 | 高 |
速度 | 快 | 慢 |
7.数字签名
数字签名的过程:
- 如果哈希值匹配,说明该数据由私钥签名
- 否则,则说明数据被篡改或者伪造
概述:
- 数字签名指的是:附加在数据源上的数据,或者是对数据单元所做的密码变换,这种数据变换能使数据单元的接收者确认数据单元来源和完整性,从而防止抵赖
- 数字签名的应用可以保证可信性,不可重用性,数据完整性,不可伪造性,不可否认性
传统签名:
- 能与被签文件在物理上不可分割
- 签名者不能否认自己的签名
- 签名不能被伪造
- 容易被验证
数字签名:
- 能与所签文件绑定
- 签名者不能否认自己的签名
- 签名不能被伪造
- 容易被验证