古典密码与破译.
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
按照甲方与乙方的约定,他们之间的密文通信 采用 Hill2 密码,密钥为二阶矩阵
且汉语拼音的 26 个字母与 0~25 之间的整数建立一一 对应的关系,称之为字母的表值,具体的表值见表 1.问这段密文的原文是什么?表1明文字母的表值
AB CDE F GHI J KL M
1 2 3 4 5 6 7 8 9 10 11 12 13
古典密码与破译
一、问题背景和实验目的
保密通讯在军事、政治、经济斗争和竞争中的重 要性是不言而喻的.他采用的一种方式是:将原来的信 息(称为明文) 经过加密,变成密文之后发送出去,使敌 方即使得到密文也读不懂,而合法的接收者收到密文之 后却可以按照预先约定好的方法加以解密,再翻译成明 文.而敌方却要千方百计从密文破译出明文来.一方如 何编制密码使之不易被破译,另一方则要找到其弱点加 以破译,这就构成了密码学的主要内容。
定义1 对于一个元素属于集合Gm的n阶方阵A,若 存在一个元素属于Gm的方阵B,使得
A B=B A=E(mod m) 则称A为模m可逆,B为A的模m的逆矩阵,记为
B= A 1(mod)。 定义2 对Gm的一个整数x,存在Gm的一个整数y,
使得xy=1(mod m),则称y为x的乘法逆(或
者称为倒数),记y= (xm1od m)。
借助线性代数的一些运算可以求得密钥这段密文的明文为 DONGNANDAXUEBAINIANXIAOQINGJINIAN。
function y=invmod(a,m)%a可以是数字或矩阵,m为模 D=det(a);%求a的行列式 if gcd(D,m)~=1%gcd用于求最大公因子 disp('Error!'); else for i=1:m-1 if mod(i*D,26)==1%求数D的模m的逆 break; end; end; invD=i; y=mod(D*inv(a)*invD,m); end
明文字母的表值,构成一个二维列向量
4)A乘以 ,得一新的 2 维列向量 A ,由 的两个分量
反查字母表值得到的两个字母即为密文字母.
以上 4 步即为 Hill2 密码的加密过程. 解密过程,即为上述过程的逆过程.
例如 明文为 SHUXUEJIANMOJINGSAI , 加密矩阵为A= 10 32 。
0
8
9
将译出的明文依据汉语拼音写出,经组合得到 SHUXUEJIANMOYUJISUANJIYINGYONGFUXIUZHUANYE
问题(2)属于破译问题。前面的加密与解密过程类似于二维向 量空间进行线性变换及其逆变换。每个明文向量是一个Gm 上的二维向量,乘以加密矩阵后,仍为Gm上的一个二维向量。
密文为
IX QT EO BA CP QS BA BU UC AA 在查字母表时利用了模运算概念 关于模运算有如下运算律
a1
a2
(mod
m)
a1 (mod
m)
a
2
(mod
m)(mod
m)
*
*
模运算意义下的矩阵逆概念
从密码学的发展来看,密码可分为古典密 码 (即以字符为基本加密单元的密码),以及现 代密码(即以信息块为基本加密单元的密码).这 里我们将介绍古典密码的加密和破译原理.
二.Hill2 密码的两个实际问题:
实际问题(甲):甲方收到与之有秘密通信往来的 乙方的一个密文信息,密文内容:
W K VAC PEAO C I X G W I Z U R O Q WABA LO H D K C EAF C LW W C V LE M I M C C
三. Hill2 密码的数学模型
一般的加密过程是这样的:
甲方 明文
加密器
密文
乙方 明文
解密器
普通信道
其中 “普通信道→解密器”这个环节容易被敌方截获并加以分析.
在这个过程中,运用的数学手段是矩阵运算,加密过程的具体步 骤如下:
1) 根据明文字母的表值,将明文信息用数字表示,设明文信息 只需要 26 个拼音大写字母 A—Z(也可以不止 26 个,如还有小写 字母、数字、标点符号等),通信双方给出 26 个字母表值(见表 1)
2) 选择一个二阶可逆整数方阵A,称为 Hill2 密码的加密矩阵,它 是这个加密体制的“密钥”(是加密的关键,仅通信双方掌握).问 题(甲)已给出了这个二阶矩阵.
3) 将明文字母依次逐对分组.Hill2 密码的加密矩阵为二阶矩 阵,则明文字母每 2 个一组(可以推广至 Hilln 密码,则每 n 个明 文字母为一组).若最后一组仅有一个字母,则补充一个没有实际 意义的哑字母,这样使每一组都由 2 个明文字母组成.查出每个
A=[1,2;0,3] deta=mod(det(A),26) inva=inv(A) adja=deta*inva ideta=9; inva1=mod(ideta*adja,26) B=[5,18,11,9,25,25,5,12,8;11,13,2,24,10,3,5,19
,8]; C=mod(inva1*B,26)
可以证明,如果x与m无公共素数因子,则x有唯 一的模m倒数 。
: 据此我们不加证明地给出如下命题
命题 元素属于Gm的方阵A模m可逆的充要条件是: m和detA没有公因子。易见,所选加密矩阵必 须符合模A可逆的条件。
对于问题1
加密矩阵 A=
27
0
18 9
(mod
26)
wk.baidu.com
1
N O P Q R S T U VWX Y Z
14 15 16 17 18 19 20 21 22 23 24 25 0
实际问题(乙):甲方截获了一段密文: M O FAX J EABAU C R S X J LU Y H QAT C
ZHWBCSCP 经分析这段密文是用 Hill2 密码编译的,且这段密 文的字母 U C R S 依次代表字母T A C O,问能否破 译这段密文的内容?
且汉语拼音的 26 个字母与 0~25 之间的整数建立一一 对应的关系,称之为字母的表值,具体的表值见表 1.问这段密文的原文是什么?表1明文字母的表值
AB CDE F GHI J KL M
1 2 3 4 5 6 7 8 9 10 11 12 13
古典密码与破译
一、问题背景和实验目的
保密通讯在军事、政治、经济斗争和竞争中的重 要性是不言而喻的.他采用的一种方式是:将原来的信 息(称为明文) 经过加密,变成密文之后发送出去,使敌 方即使得到密文也读不懂,而合法的接收者收到密文之 后却可以按照预先约定好的方法加以解密,再翻译成明 文.而敌方却要千方百计从密文破译出明文来.一方如 何编制密码使之不易被破译,另一方则要找到其弱点加 以破译,这就构成了密码学的主要内容。
定义1 对于一个元素属于集合Gm的n阶方阵A,若 存在一个元素属于Gm的方阵B,使得
A B=B A=E(mod m) 则称A为模m可逆,B为A的模m的逆矩阵,记为
B= A 1(mod)。 定义2 对Gm的一个整数x,存在Gm的一个整数y,
使得xy=1(mod m),则称y为x的乘法逆(或
者称为倒数),记y= (xm1od m)。
借助线性代数的一些运算可以求得密钥这段密文的明文为 DONGNANDAXUEBAINIANXIAOQINGJINIAN。
function y=invmod(a,m)%a可以是数字或矩阵,m为模 D=det(a);%求a的行列式 if gcd(D,m)~=1%gcd用于求最大公因子 disp('Error!'); else for i=1:m-1 if mod(i*D,26)==1%求数D的模m的逆 break; end; end; invD=i; y=mod(D*inv(a)*invD,m); end
明文字母的表值,构成一个二维列向量
4)A乘以 ,得一新的 2 维列向量 A ,由 的两个分量
反查字母表值得到的两个字母即为密文字母.
以上 4 步即为 Hill2 密码的加密过程. 解密过程,即为上述过程的逆过程.
例如 明文为 SHUXUEJIANMOJINGSAI , 加密矩阵为A= 10 32 。
0
8
9
将译出的明文依据汉语拼音写出,经组合得到 SHUXUEJIANMOYUJISUANJIYINGYONGFUXIUZHUANYE
问题(2)属于破译问题。前面的加密与解密过程类似于二维向 量空间进行线性变换及其逆变换。每个明文向量是一个Gm 上的二维向量,乘以加密矩阵后,仍为Gm上的一个二维向量。
密文为
IX QT EO BA CP QS BA BU UC AA 在查字母表时利用了模运算概念 关于模运算有如下运算律
a1
a2
(mod
m)
a1 (mod
m)
a
2
(mod
m)(mod
m)
*
*
模运算意义下的矩阵逆概念
从密码学的发展来看,密码可分为古典密 码 (即以字符为基本加密单元的密码),以及现 代密码(即以信息块为基本加密单元的密码).这 里我们将介绍古典密码的加密和破译原理.
二.Hill2 密码的两个实际问题:
实际问题(甲):甲方收到与之有秘密通信往来的 乙方的一个密文信息,密文内容:
W K VAC PEAO C I X G W I Z U R O Q WABA LO H D K C EAF C LW W C V LE M I M C C
三. Hill2 密码的数学模型
一般的加密过程是这样的:
甲方 明文
加密器
密文
乙方 明文
解密器
普通信道
其中 “普通信道→解密器”这个环节容易被敌方截获并加以分析.
在这个过程中,运用的数学手段是矩阵运算,加密过程的具体步 骤如下:
1) 根据明文字母的表值,将明文信息用数字表示,设明文信息 只需要 26 个拼音大写字母 A—Z(也可以不止 26 个,如还有小写 字母、数字、标点符号等),通信双方给出 26 个字母表值(见表 1)
2) 选择一个二阶可逆整数方阵A,称为 Hill2 密码的加密矩阵,它 是这个加密体制的“密钥”(是加密的关键,仅通信双方掌握).问 题(甲)已给出了这个二阶矩阵.
3) 将明文字母依次逐对分组.Hill2 密码的加密矩阵为二阶矩 阵,则明文字母每 2 个一组(可以推广至 Hilln 密码,则每 n 个明 文字母为一组).若最后一组仅有一个字母,则补充一个没有实际 意义的哑字母,这样使每一组都由 2 个明文字母组成.查出每个
A=[1,2;0,3] deta=mod(det(A),26) inva=inv(A) adja=deta*inva ideta=9; inva1=mod(ideta*adja,26) B=[5,18,11,9,25,25,5,12,8;11,13,2,24,10,3,5,19
,8]; C=mod(inva1*B,26)
可以证明,如果x与m无公共素数因子,则x有唯 一的模m倒数 。
: 据此我们不加证明地给出如下命题
命题 元素属于Gm的方阵A模m可逆的充要条件是: m和detA没有公因子。易见,所选加密矩阵必 须符合模A可逆的条件。
对于问题1
加密矩阵 A=
27
0
18 9
(mod
26)
wk.baidu.com
1
N O P Q R S T U VWX Y Z
14 15 16 17 18 19 20 21 22 23 24 25 0
实际问题(乙):甲方截获了一段密文: M O FAX J EABAU C R S X J LU Y H QAT C
ZHWBCSCP 经分析这段密文是用 Hill2 密码编译的,且这段密 文的字母 U C R S 依次代表字母T A C O,问能否破 译这段密文的内容?