安全算法-笔记-djf
——《我的第一本算法书》
1 数据被窃取的四种方式
名称 | 描述 | 解决方案 |
---|---|---|
窃听 | 传输过程中监听 | 数据加密 |
假冒 | 假装自己是消息的发送者/接收者 | 数据加密&数字签名 |
篡改 | 拦截下来,修改后,发送给下家 | 数据加密&数字签名 |
事后否认 | 发完信息之后,说不是自己发的 | 数字签名 |
2 共享密钥/公开密钥/混合加密
名称 | 特点 | 优点 | 缺点 |
---|---|---|---|
共享密钥 | - 加密解密同一个密钥 | - 实现简单、处理速度快 - 对算法要求不高 | - 需要很多密钥 - 共享密钥会被中途拦截 |
公开密钥 | - 加密用公开密钥,解密用私有密钥 - 由接收者产生此两个密钥 | - 更安全 - 减少了密钥数量 | - 加密解密耗时长 - 通过中途替换公开密钥来窃听数据 |
混合加密 | - 对共享密钥进行加密 | - 在安全性和处理速度上都有优势 | —— |
3 交换密钥
1、算法特点
- 不可拆分:因为是多对一,所以无法还原。
- 顺序无关:PAB = PBA
2、关键公式
(离散对数问题:)P是一个大素数;G(生成元)是任意数。则有:
(
G
x
m
o
d
P
)
y
m
o
d
P
=
(
G
y
m
o
d
P
)
x
m
o
d
P
=
G
x
y
m
o
d
P
(G^x mod P)^y mod P = (G^y mod P)^x mod P = G^{xy} mod P
(GxmodP)ymodP=(GymodP)xmodP=GxymodP
3、解释图
- 概念过程如下:
- 具体过程如下: