当前位置:文档之家› 第三章 古典密码

第三章 古典密码


密码学的起源和发展-ii 密码学的起源和发展
• 1949年之前: 古典密码(classical cryptography) 密码学还不是科学,而是艺术 出现一些密码算法和加密设备 密码算法的基本手段 (substitution & permutation)出现,针对的是字符 简单的密码分析手段出现
命 题
矩阵 A 模 m 可逆 ⇔ | A | 与 m 无公共素 因子
−1 −1 *
模 m逆矩阵 A (mod m) =| A| (mod m) ⋅ A (mod m) 例 子
1 2 A= od , | A|= 3 ,| A|−1 (m 26) = 9 0 3
3 − 2 1 8 A (mod 26) = 9⋅ = 0 1 0 9
• 明文:POLYBIUS • 密文:3534315412244543
example-iV
• Caesar Cipher, c. 50 B.C. A B C D E F G …… X Y Z D E F G H I J …… A B C 明文:Caesar cipher is a shift substitution 密文:FDHVDU FLSKHU LV D VKLIW VXEVWLWXWLRQ
密码学的起源和发展-v 密码学的起源和发展
• 1976年以后: 对称密钥密码算法进一步发展 1977年DES正式成为标准 80年代出现“过渡性”的“post DES”算 法,如IDEA,RCx,CAST等 90年代对称密钥密码进一步成熟 Rijndael,RC6, MARS, Twofish, Serpent等出现 2001年Rijndael成为DES的替代者
密码学的起源和发展-iv 密码学的起源和发展
• 1976年以后: 1976年Diffie & Hellman的“New Directions in Cryptography”提出了不 对称密钥密码 1977年Rivest,Shamir & Adleman提出了 RSA公钥算法 90年代逐步出现椭圆曲线等其他公钥算法 公钥密码使得发送端和接收端无密钥传 输的保密通信成为可能!
第三章 古典密码
密码学的起源和发展 三个阶段: • 1949年之前 密码学是一门艺术 • 1949~1975年 密码学成为科学 • 1976年以后 密码学的新方向——公钥密码学
古典密码
虽然用近代密码学的观点来看,许多 虽然用近代密码学的观点来看, 古典密码是很不安全的,或者说是极易 古典密码是很不安全的, 破译的。但是我们不能忘记古典密码在 破译的。 历史上发挥的巨大作用。 历史上发挥的巨大作用。 另外,编制古典密码的基本方法对于 另外, 编制近代密码仍然有效。 编制近代密码仍然有效。
Example -V
• Nomenclator 代码本 c.1400 字母、符号、单词、短语 代码 代码 字母、符号、单词、短 语
应用:World War II
Example –Con’t
• 网格加密法:中国
– 例:密文:
王先生: 来信收悉,你的盛情难以报答。我已在昨天抵 达广州。秋雨连绵,每天需备伞一把。大约本月 中旬即可返回,再谈。 弟:李明 2001年11月7日
Smith,J.L.,The Design of Lucifer, A Cryptographic Device for Data Communication, 1971 Smith,J.L.,…,An Expremental Application of Cryptogrphy to a remotely Accessed Data System, Aug.1972 Feistel,H.,Cryptography and Computer Privacy, May 1973
1 8 A (mod26) = 0 9
−1
左乘密文向量即可求得明文向Fra bibliotek结 论
使用Hill密码时的加密矩阵应该模 26 可逆
使用Mathematica
In[1]:= a = {{1, 2}, {0, 3}}; MatrixForm[a] Out[1]//MatrixForm= 1 2 0 3 In[2]:= deta = Mod[Det[a], 26] Out[2]= 3 In[3]:= inva = Inverse[a]; MatrixForm[inva] 2 Out[3]//MatrixForm= 1 −
3
4 5 6
7
8
9 10 11 12 13
N O P Q R S T U V W X Y Z 14 15 16 17 18 19 20 21 22 23 24 25 0
★ 选择一个加密矩阵 A —
二阶正整数值的矩阵 . 例如 值,得到一组二维向量{ i} α
★ 通过加密矩阵得到 {βi },而 βi
−1
一个简单实例
明 文:Our marshal was shot 分 组: ou rm ar sh al wa ss ho tt 对应向量
1518 1 19 1 2319 8 20 211318 8 12 1 1915 20
• Spartan Scytale, c. 500 B.C. 斯巴达人用于加解密的一种军事设备 发送者把一条羊皮螺旋形地缠在一个圆柱 形棒上 思想:置换(permutation)
example-ii
example-iii
• Polybius’ Checkerboard , 205~123 B.C. 1 A F L Q V 2 B G M R W 3 C H N S X 4 D IJ O T Y 5 E K P U Z 1 2 3 4 5
Zm ={0,1,2,⋯, m−1 称为模m的剩余集 }
设 a , b 为两个整数,
+ a − b(m m) od × + a(m m) − b(m m)(m m) = od od od ×
21 15 3 19 7 23 11 5 17 25
怎样求模 m 倒数
即解方程
ax =1 (m m) od
定义 Euler 函数: 设 m 为一自然数,Zm中与m 互素的数的个 数称为m 的Euler 函数,记为Φ (m) Euler 定理 对任意整数 k, m, 若k, m互素,则
k
故所求 x为
C. D. Shannon:
采用混淆、扩散和乘积的方法来设计密码 采用混淆、 混淆:使密文和明文、 混淆:使密文和明文、密钥之间的关系复杂化 扩散: 扩散:将每一位明文和密钥的影响扩大到尽可 能多的密文位中。 能多的密文位中。 乘积和迭代: 乘积和迭代:多种加密方法混合使用 对一个加密函数多次迭代
φ (m)
≡1 (m m) od
x = aΦ(m)−1(mod m)
a 矩阵模 m 可逆 设 A = (aij )n×n 为 n 阶方阵, ij ∈Zm, 若存在 B = (bij )n×n , bij ∈Zm, 使得 AB = E(modm) ,称 B 为 A 的模 m逆矩 阵,记作 B = A−1(mod m)
密文向量
5 1811 9 25 255128 1113 2 2410 3 5198
密 文 解 密
ek rm kb ix yj yc ee ls hh 只要将解密矩阵 量,从而查出明文
• 网格加密法:中国
– 例:密文:
王先生: 来信收悉,你的盛情难以报答。我已在昨天抵 达广州。秋雨连绵,每天需备伞一把。大约本月 中旬即可返回,再谈。 弟:李明 2001年11月7日
明文:情报在雨伞把中。
• 兽栏法:
– 明文:System – 密文:
: : : :
.
密文字母表:
A D G B E H C F I J. K. M. P. N. Q. .L .O .R S: V: Y: T: W: Z: :U :X :.
0 3 1 3
Mathematica 2.2.lnk
In[4]:= adja = deta inva Out[4]//MatrixForm=
3 −2 0 1
In[5]:=ideta = 9 Out[5]= 9
Mathematica 2.2.lnk
In[6]:=inva1 = Mod[ideta adja, 26]; MatrixForm[inva1] Out[6]//MatrixForm=
密码学的起源和发展-iii 密码学的起源和发展
• 1949~1975年: 计算机使得基于复杂计算的密码成为可能 1949年Shannon的“The Communication Theory of Secret Systems” 1967年David Kahn的《The Codebreakers》 1971-73年IBM Watson实验室的Horst Feistel 等的几篇技术报告
1 8 0 9
In[7]:= b = {{5, 18, 11, 9, 25, 25, 5, 12, 8}, {11, 13, 2, 24, 10, 3, 5, 19, 8}}; c = Mod[inva1.b, 26]; MatrixForm[c] Out[7]//MatrixForm=
1 2 A= 0 3
★ 将明文字母依次按每两个字母一组查出其表
= Aαi (m 26) od
★ 查向量βi 的字母表值,即得到密文 ★ 利用加密矩阵的逆矩阵,由密文得到明文
αi = A βi
−1
关于模运算 (mon26)
模 m 等价 设 a , b为两个整数, 若 a − b = km, k ∈Z 记作 a = b(modm) 称 a 模 m 等价于b, 剩余集 运算律
相关主题