举个最简单的例子,现在的很多网站都是通过HTTPS协议进行通信的,而支撑着HTTPS协议正常运行的正式密码学这一理论基础。
作为程序员,我们更有必要了解下密码学的一些基本理论及其背后的原理。
1
2
密钥交换模型
3
数字信封:一种数据结构,包含用对称密钥加密的密文和用公钥加密的该对称密钥。
数字信封——过程
公钥保护对称密钥,对称加密保护plaintext。
新的安全问题:发送端不知道自己收到的公钥是否被中途篡改了。即,不能确定公钥是不是真的属于接收端。
4
数字签名模型
数字签名:签名者使用私钥对待签名数据的杂凑值做密码运算得到的结果,该结果只能用签名者的公钥进行验证,用于确认待签名数据的完整性、签名者身份的真实性和签名行为的抗抵赖性。
5
数字证书
数字证书:也称公钥证书,由证书认证机构(CA)签名的包含公开密钥拥有者信息、公开密钥、签发者信息、有效期以及扩展信息的一种数据结构。按类别可分为个人证书、机构证书和设备证书,按用途可分为签名证书和加密证书。
6
杂凑函数
1、为一个给定的输出找到能映射到该输出的一个输入时计算上困难的。
2、为一个给定的输入找出能映射到同一个输出的另一个输入是计算上困难的。
3、要发现不同的输入映射到同一输出是计算上困难的。
注:杂凑运算一般不叫做加密。
M:消息。S:盐。H(M||S):加盐消息的杂凑值。
该协议可识别传输错误,但不能防止主动攻击。
不保护消息M的机密性。
7
消息认证算法MAC
M:消息。C:消息认证算法MAC。K:MAC的密钥。
该协议保护消息完整性。
8
关联数据的认证加密
扫描关注我们
原文始发于微信公众号(OPPO安珀实验室):密码基础概念(二)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论