第二讲 古典密码
古典密码
密码学的主要任务
- 加密——密码编码
- 解密——密码分析
密码学要保障的几个性质
- 机密性
- 数据完整性
- 鉴别
- 抗抵赖性
保密通信机制
- 明文——(密钥)加密——密文
- 密文——(密钥)解密——明文
符号
序号 | 含义 | 表示符号 | 空间符号 |
---|---|---|---|
1 | 明文 | m | P |
2 | 密文 | c | C |
3 | 密钥 | k | K |
4 | 加密 | Enc | |
5 | 解密 | Dec |
密码体制的分类及特点
根据密码算法所用的密钥数量
分为:
- 对称密码体制
- 非堆成密码体制
根据对明文信息的处理方式
分为:
- 分组密码
- 序列密码(流密码)
根据是否能进行可逆的加密变换
- 单向函数变换体制
- 双向变换密码体制
单表替代密码
一般单表替代密码
例:
置换对应关系如下:
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
q | w | e | r | t | y | u | i | o | p | a | s | d | f | g | h | j | k | l | z | x | c | v | b | n | m |
移位密码
P = C = K = { 0 ,1 ,2……25 }
加密: c = Enc k(m)= m + k (mod 26)
解密: m = Dec k (c)= c - k (mod 26)
仿射密码
P = C = Z26{ 1, 2, ……25 }
K = { (k0,k1) | k0,k1属于Z26,gcd(k,26)= 1 }
加密: c = Enc k (m) = k1m + k0 (mod 26)
解密: m = Dec k (c)= k1的逆(c - k0) (mod 26)
密钥短语密码
选用一个英文短语或者单词串作为密钥,去掉其中重复的字母得到一个无重复字母的字符串。然后将字母表中其他字母依次写于此字母串后,就可以构造出一个字母替代表。如密钥为key时,替代表如表所示:
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
k | e | y | a | b | c | d | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | z |
多表替代密码
目的:使用从明文字母到密文字母的多个映射来隐藏单字母出现的频率分布。
使用了两个或两个以上的替代表。比如使用5个简单替代表的替代密码,明文的第一个字母用第一个替代表,第二个字母用第二个替代表,第三个字母用第三个替代表,以此类推,循环使用这五张替代表。
维吉尼亚密码
在加解密时把英文字母映射为0~25的数字在进行运算。
存在参数n,加解密时按n个字母为一组进行变换
密钥k=(k1,k2,k3,…,kn),明文m=(m1,m2,m3,…,mn),密文(c1,c2,c3,…,cn)
加密时:ci = (mi + ki)(mod 26)
希尔密码
把明文、密文、密钥看作是矩阵m、c、k
加密时,明文矩阵 m 左乘 k
解密时,密文矩阵 c 左乘 k的逆
一次一密密码
密钥随机生成且只使用一次。
加密:先将明文编码为01序列,再用随机生成的由01序列组成的密钥,对明文按位异或。
解密:将密文与密钥按位异或
Playfair密码
playfair密码是一种著名的双字母单表替代密码。
选择一个密钥,先把密钥中的重复字母去除重复的部分,然后填入一个5*5矩阵,填完字母后,把字母表中的剩余字母依次填入,构成最终的替代矩阵。
明文中的字母两两为一组,按照以下规则进行替换得到密文
例:
置换密码
置换密码又称为换位密码。只改变明文信息中各元素的相对位置。可以理解为打乱明文中字符的顺序。
如:倒序加密密码
明文:this cryptosystem is not secure
密文:eruc esto nsim etsy sotp yrcs iht
周期置换密码
明文按照定长为n分组,按照置换规则进行置换
列置换密码
将明文按行填入一个列宽固定的表格或者矩阵中,然后按照置换规则对列的排序进行置换得到密文。
例:
转轮机密码
通过机械设备实现了单表替代和多表替代等过程,加速了加解密过程。
具体过程略。