当前位置:文档之家› Hill密码的加密与解密_矩阵

Hill密码的加密与解密_矩阵


加密过程 将明文变换成另一种不能被非授权者所
加密变换 将明文变为密文的变换
解密变换 将密文变为明文的变换
密 钥
加密变换所使用的参数
简单的加密解密过程模型
发送者 明文 加密器 密文
普 通 信 道
接收者
明文
解密器
窃听、干扰
HILL2密码
明文分组(两个一组),按组转换成密文
同一字母在不同组中所对应密码不同
21 18 (mod 26) 15 19 18 (mod 26) 3 21 3 19 25 16 7 3
1
20 3 21 18 1 17 A (mod26) 1 15 3 19 0 9
Mathematica: Eulerphi[m]
k
故所求 x为
( m)
1 (mod m)
x a ( m )1 (mod m)
aij Z m , 矩阵模 m 可逆 设 A aij nn 为 n 阶方阵, 若存在 B bij nn , bij Z m , 使得 AB E (mod m) ,称 B 为 A 的模 m逆矩 阵,记作 B A1 (mod m)
15 18 1 19 1 23 19 8 20 21 13 18 8 12 1 19 15 20
HILL2密码的破译

关键是求得加密矩阵的逆—解密矩阵 只要分析出两个明文向量(线性无关)与 相应的密文向量

若有 b1
a1 b3 a3 A A b2 a2 b4 a4
R 18 2 A 2 S 19
3 C 其中 2 15 O
20 3 21 18 A 1 15 3 19
计算A-1 21 18 det 1 2 (mod 26) 345(mod 26) 7 3 19
a –1(mod26) 1
21 15 3 19 7 23 11 5 17 25
怎样求模 m 倒数
即解方程
ax 1 (mod m)
定义 Euler 函数:
设 m 为一自然数,Zm中与m 互素的数的个 数称为m 的Euler 函数,记为 (m) 可借助软件 Euler 定理 对任意整数 k, m, 若k, m互素,则
i A i
1
关于模运算 (mon26)
模 m 等价 设 a , b为两个整数, 若 a b km, k Z 记作 a b(mod m) 称 a 模 m 等价于b, 剩余集
Zm {0,1, 2, , m 1} 称为模m的剩余集
设 a , b 为两个整数,
a b (mod m) a (mod m) b(mod m) (mod m)

b1 b3 a1 A b2 b4 a2
b1 A b2 b3 a1 b4 a2
a3 a4
a3 a4
1
一个破译例子
甲方截获了一段密文:OJWPISWAZUXAU
UISEABAUCRSIPLBHAAMMLPJJOTENH
HILL2密码的加密与解密
★ 假设要加密的明文是由26个字母所构成 ★ 将每个明文字母与 0 – 25 的一个数字建立
1–1对应关系,称为明文字母的表值
字母 A B C D E F G H 表值 字母
I
J
K L M
1 2
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
1 2 A 0 3
加 密: 左乘加密矩阵 直接结果
57 44 37 35 25 25 57 38 60 63 39 54 24 36 3 57 45 60
一个简单实例
明 文:Our marshal was shot
补充哑字母
分 组: ou rm ar sh al wa ss ho tt
对应向量
15 18 1 19 1 23 19 8 20 21 13 18 8 12 1 19 15 20
0 3 1 3
In[4]:= adja = deta inva Out[4]//MatrixForm=
3 2 0 1
In[5]:=ideta = 9
Out[5]= 9 In[6]:=inva1 = Mod[ideta adja, 26]; MatrixForm[inva1] Out[6]//MatrixForm=
明文:Clinton is going to visit a country in Middle East
实验任务
必做题 教材P 92-93 第1 , 2 , 3题
选做题 教材P 93 第 4题
密文:Kh lv wkh uxohu ri dqflhqw Urpd
明文:He is the ruler of ancient Roma
主要缺陷:字母出现频率不变
密码学名词
明 文 需要采用某种方法对其进行变换来隐蔽 它所载荷的信息或字符串 理解的隐蔽信息的消息或字符串的过程 密 文 明文经过加密过程的变换所得的消息或 字符串
数学实验
Hill 密码的加密、 解密与破译
上海交通大学
数学系
即使埃斯库罗斯被人们遗忘,阿 基米德仍会被人们记住,因为即使语 言文字会消亡,数学概念也不会消亡。 — G.H.Hardy 现代数学家象其他从事科学的人 们那样,在应用他们的原理方面化费 的心血比在了解这些原理方面多得多。 — G.B.Berkeley
1
1
破 译 密文向量
15 23 9 0 24 21 9 5 2 21 10 16 19 21 1 2119 1 1 3 18 9 12 8 1 13 12 10 15 5 8 19 16 2 1 13 13 16 10 20 14 8
密码的故事
战争和和平时期的间谍战
吕贝卡的故事-007的故事
基度山伯爵 (大仲马)
舞蹈人形
Conan Doyle 创作的歇洛克.福尔摩斯
这段符号的译文为 AM HERE ABE SLANE .
密码学 — Cryptography
源于希腊文字:秘密+书写,古老神秘的学科
目的
将信息传递给己方的接收者 防止敌方知道信息的内容 谁最先使用密码? Julius Caesar (恺撒)
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=
★ 选择一个加密矩阵 A —
二阶正整数值的矩阵Байду номын сангаас. 例如
1 2 A 0 3
★ 将明文字母依次按每两个字母一组查出其表
值,得到一组二维向量{ i }
★ 通过加密矩阵得到 { i },而 i
A i (mod 26)
★ 查向量i 的字母表值,即得到密文 ★ 利用加密矩阵的逆矩阵,由密文得到明文
明文向量 3 9 20 14 19 15 14 20 22 19 12 14 15 9 7 9 7 15 9 9
20 3 21 20 25 14 9 4 5 1 20 1 15 14 18 9 13 4 12 5 19 20
运算律
模 m 倒数
设 a Z m,若存在 b Z m 使得
ab 1(mod m),称 a 有模 m 倒数 1 b a (mod m) 记作
命 题
整数 a有模 m 倒数的充要条件为
a 与 m 无公共素因子
模 26 倒数表 a 1 3 9 5 7 9 11 15 17 19 21 23 25
密文向量
5 18 11 9 25 25 5 12 8 1113 2 24 10 3 5 19 8
密 文
ek rm kb ix yj yc ee ls hh
解 密
只要将解密矩阵
量,从而查出明文
左乘密文向量即可求得明文向
1 8 A (mod 26) 0 9
1
结 论
使用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
命 题
矩阵 A 模 m 可逆 | A | 与 m 无公共素 因子
1 1 *
模 m逆矩阵 A (mod m) | A | (mod m) A (mod m) 例 子
1 A 0
1
相关主题