课本:《网络安全基础》
对称加密原理
对称加密模型
- 对称加密:单钥
- 加密算法和解密算法同密钥
- 数学表示:
C=E(K,M),M=D(K,C)
C密文,M明文,K私钥,E加密算法,D解密算法 - 安全要求:
- 强安全的加密算法+只有发送方和接收方才知道的私钥
- 加密算法是公开的
- 存在一个安全通道分发私钥
密码体制分类
明文转换密文的操作类型
- 替换密码
- 换位密码
- 乘积密码(多级替换+换位)
使用的密钥数
- 对称、单钥、秘密密钥或者传统加密
- 不对称、双钥或者公钥加密
明文处理方式
- 分组密码
- 流密码:连续处理
密码分析
密码分析攻击
唯密文攻击
- 加密算法
- 要解密的密文
已知明文攻击
- 加密算法
- 要解密的密文
- 用密钥生成明文-密文对
选择明文攻击
- 加密算法
- 要解密的密文
- 破译者选定明文消息,以及使用密钥产生的对应密文
选择密文攻击
- 加密算法
- 要解密的密文
- 破译者选定密文,以及使用密钥产生的对应解密明文
选择文本攻击
- 加密算法
- 要解密的密文
- 破译者选定明文消息,以及使用密钥产生的对应密文
- 破译者选定密文,以及使用密钥产生的对应解密明文
穷举搜索攻击
简单尝试每一个密钥
密码安全
无条件安全
- 无论花多少时间,无论有多少已知信息,都不能唯一确定密文所对应的明文
- 一次一密可以保证无条件安全。
计算安全
- 破译密文的代价超出被加密信息的价值
- 破译密文的时间超出信息的有效生命期
古典密码
替换密码
将明文每一个元素(比特或字母)映射到另外一个元素
凯撒密码
加密算法:c = E(3, m) = m+3 (mod 26)
解密算法:m = D(3, c) = c - 3 (mod 26)
移位密码
加密算法:c = E(k, m) = m+k (mod 26)
解密算法:m = D(k, c) = c - k (mod 26)
维吉尼亚密码
多表替换

轮转机
复杂多变的多表替换密码系统
l3个圆筒的轮转机系统有26^3^=17576个不同的替换字母表。
换位密码
栅栏密码
对角线顺序写入明文,行顺序读出作为密文
行变化密码
把消息一行一行写成矩形块,按列读出,但是把列次序打乱,列的读取次序就是密钥
分组密码
分组密码
将被加密明文划分成一个一个的分组,输入n比特明文分组,输出n比特密文分组。若映射可逆,具有2^n^!种替换可能性。
分组密码安全分析
若n较小时:为古典替换密码,易受频度分析法攻击
若n较大时:映射本身构成密钥,密钥长度定义为n×2^n^比特。
实际应用中不大可能传输或保存如此多的密钥。
Feistel密码结构

要素:分组大小,密钥大小,迭代次数,子密钥产生算法,轮函数,快速软件加密/解密,容易分析
数据加密标准(DES)
明文分组长度为 64-bit ,密钥长度为56-bit,在基于Feistel网络的基础上,采用16轮迭代,从原始56-bit密钥产生16组子密钥,每一轮迭代使用一个子密钥。

三重DES
AES
