当前位置:文档之家› Hill密码的加密论文(内含matlab程序代码)

Hill密码的加密论文(内含matlab程序代码)

Hill密码的加密论文(内含matlab程序代码)
Hill密码的加密论文(内含matlab程序代码)

Hill密码的加密,解密与破译

摘要

对于问题1.1:本文采用

Hill密码通信,对明文进行加密。利用已知的密钥矩阵,

2

首先,将密文转化为对应表值数字。其次,对密文的数字转化为矩阵。最后,对明文解密。

对于问题1.2:本文给出一组明文和密文,二者满足构成密钥的条件,通过求解的到密钥,并进行问题1.1的解题过程破译这段密文。

Hill密码矩阵A,并求出该矩阵的值是否与26互素,加以对于问题2.1:本文给出

4

判断。若互素则能成为密钥,否则不能构成密钥。

对于问题2.2:利用问题2.1所给的密码矩阵A,按照问题1.1的解题思路,将得到的密文解密。

Hill密码的密文和其对应的明文,通过检验二者是否对于问题2.3:本文给出一段

4

满足构成密钥的条件,若满足解的密钥,并写出求解过程;若不满足加以说明。

对于问题3:本文给出明文频数最高的字母TH和HE,及密文频数最高的字母RH和NI。两两组合得到两组“密钥”,并检验它们是否满足构成密钥的条件,若满足则解除密钥。

Hill密对于问题4:本文给出频数最高的相邻明文字母KE和相邻密文字母LK,采用

2

码通信,利用所给字母与其他字母组合,构造2×2的矩阵,并检验是否满足构成密钥的条件,加以排除得到所要的密钥。若有满足条件的矩阵,破译所给密文。

Hill密码通信,根据26个字母搭配出2×2的所有矩阵,利对于问题5:本文采用

2

用矩阵的值与26互质,加以排除不符合条件的矩阵,并求出满足条件的密钥,破译该段密文,再利用密文是否通顺加以排除,得到所要的明文和密钥。

关键字密钥 mod(26)逆 mod(26)倒数

一、Hill2密码的数学模型的主要符号说明

w Hill密钥的维数

A 密钥矩阵

S 明文

Y 密文

m 所用的表值编号

YW 哑文

二、Hill2密码的数学模型

密码是一种传统的密码体制加密过程的具体步骤如下:

Hill

2

(1)、根据明文字母的表值将明文信息用数字表示,设明文信息只需要26个拼音字母A~Z(也可能不止26个,如还有数字、标点符号等),通信双方给出这26个字母表值(见表10.1明文字母的表值)。

(2)、选择一个二阶可逆整数方阵A,称为Hill

密码的加密矩阵,它是这个加密体

2

制的“密钥”(是加密的关键,仅通讯双方掌握)。问题(1)已给出了这个二阶矩阵。

(3)、将明文字母依次逐对分组。Hill

密码的加密矩阵为二阶矩阵,则明文字母2

2

密码,则每n个明文字母为一组)。若最后一组只有一个字母,个一组(可以推广至Hill

n

则补充一个没有实际意义的哑字母,这样使每一组都由2个明文字母组成。查出每个明文字母的表值,构成一个二维列向量α。

(4)、A乘以α,得一新的2维列向量β=Aα,由的两个分量反查字母表值得到的两个字母即为密文字母。以上4步即为Hill

密码的加密过程。解密过程,即为上述

2

过程的逆过程。

1、实际问题:

1.1、问题陈述

甲方收到与之有秘密通信往来的乙方的一个密文信息,密文内容:

W O W U Y S B A C P G Z S A V C O V K P E W C P A D K P P A B U J C Q L Y X Q E Z A A C P P

按照甲方与乙方的约定,他们之间的密文通信采用2Hill 密码,密钥为二阶矩阵

1203A ??= ???,且汉语拼音的26个字母与0-25之间的整数建立一一对应的关系,称之为

字母的表值,具体的表值见表1,问这段密文的原文是什么? 1.2、问题分析: 首先给出如下定义:

定义 1:设A 为定义在集合m Z 上的 n 阶方阵,若存在一个定义在m Z 上的方阵B ,使得

(mod 26)AB BA E ==

则称A 模 m 可逆,B 为A 的 模 m 逆矩阵,记为

1(mod )B A m -=

定义 2:设m a Z ∈,若存在m b Z ∈使得 1ab =,则称b 为 a 的 模m 倒数 或乘法逆,记作 1(mod )b a m -=。

由于所有加密与解密过程都是在模26意义下进行的,所以要对一段明文进行加密,

必须使得密钥矩阵满足A 与26是互素的。

根据程序画出流程如图如下:

输入“A ”密钥 “密文”,“m ”(所选表值)

“w ”(维数)

判断密文长度 是否能被w 整

将密文转化为表 值所对应的数据

用哑 文补 充使 其被 w 整 除

Yes

No

判断A 是否在 mod26下可逆

加密

输出

结束

Yes

No

1.3程序运行结果:

>>Y =’WOWUYSBACPGZSA VCOVKPEWCPADKPPABUJCQL YXQEZAACPP’; >> m=1; >> A=[1 2;0 3]; >> YW='XYZ';

>> S=jie_mi2(Y ,A,YW,m) S =

MEIGUOJIANGZAITAIPINGYANGJINXINGHAIDIHESHIYANN >> Y=jia_mi2(S,A,YW,m) Y=

WOWUYSBACPGZSA VCOVKPEWCPADKPPABUJCQL YXQEZAACPP 2.1、问题陈述

甲方截获了一段密文:O J W P I S W A Z U X A U U I S E A B A U C R S I P L B H A A M M L P J J O T E N H 经分析这段密文是用2Hill 密码编译的,且这段密码的字母UCRS 一次代表字母TACO ,问能否破译这段密文的内容? 2.2、问题分析

根据题意明文与密文存在一一对应关系:

设a c A b d ??= ???

,26,,,a b c d Z ∈且存在:

T C U R A A O C

S ????

= ? ?????

经过查表得到:

2032118115319a c b d ??????= ??? ???????

所以,用穷举法得到满足上述等式的密钥矩阵,再进一步判断A 是否与26互素,若互素则可以求出在26意义下的模倒数。 模倒数表如下:

表1

a

1 3 5 7 9 11 15 17 19 21 23 25 1a -

1

9

21

15

3

19

7

23

11

5

17

25

显然,由上式所确定的密钥矩阵A 是惟一的,通过

1

1*(mod 26)(mod 26)A A A --=?

求解出模26意义下的密钥逆矩阵1A -进行解密。 2.3、程序运算结果 >> a='TACO'; >> b='UCRS'; >> m=1;

>> A=qiujie_miyao(a,b,m) A =

1 1 0 3

>> Y='OJWPISWAZUXAUUISEABAUCRSIPLBHAAMMLPJJOTENH'; >> YW2='XYZ'; >> S=jie_mi2(Y ,A,YW,m) S =

CLINTONISGOINGTOVISITACOUNTRYINMIDDLEEASTT

二、实验任务

问题1 1.1、问题陈述

在问题(2)中,若已知密文的前4个字母OJWP 分别代表TACO ,问能否将此密文破译?

不能,因为解得的密钥的行列式与26不互素,不能得到对应的模26逆矩阵。求解密钥矩阵流程图如下

1.2、运行结果

>> a='TACO';

>> b='OJWP';

>> m=1;

>> A=qiujie_miyao(a,b,m)

A =

16 7

24 24

>> D=det(A)

D =

216

>> n=gcd(D,26)

n =

2 输入“ming_wen”,”mi_wen”,”w”, “w”,m为对应的表值,w为对维数

判断密钥矩阵行

列式是否为1

Yes

输出

结束

N

问题二

利用

2

Hill密码体制的原理,根据给定的26个英文字母的乱序表值(见表2),设计

与建立

4

Hill密码体制的加密,解密与破译框图并建立必要的计算机程序,设英文26个

字母以下面的乱序表与

26

Z中的整数对应:

表2

A B C D E F G H I J K L M

5 23 2 20 10 15 8 4 18 25 0 1

6 13

N O P Q R S T U V W X Y Z

7 3 1 19 6 12 24 21 17 14 22 11 9 2.1.1、问题陈述

8695

69510

5849

106114

A

??

?

?

=

?

?

??

,验证矩阵A能否作为

4

Hill密码体制的加密矩阵,用框图画

出你的验算过程,并编写相应的计算机程序。

2.1.2、问题分析

A可用作密钥,因为其行列式值为-1,与26互素。

2.1.3、运行结果

编程计算得A的模26逆矩阵如下:

>> A =invmod(A)

A =

23 20 5 1

2 11 18 1

2 20 6 25

25 2 22 25

det(A)

|A| =

-1.0000

2.2.1、问题陈述

设明文为

HILLCRYPTOGRAPHICSYSTEMISTRADIT I ONAL.

利用上面的表值与加密矩阵给明文加密,并将得到的密文解密。画出加密与解密过程的框图并编写相应的计算机程序。

框图如下:

2.2.2、运行结果

>> A=[8 6 9 5;6 9 5 10;5 8 4 9;10 6 11 4];

>> YW='Z';

>> m=2;

>> w=4;

>> S='HILLCRYPTOGRAPHICSYSTEMISTRADITIONAL';

>> Y=jia_mi2(S,A,YW,m,w)

Y =KEGTKPNJKYXRLAOLMZTPVYTUNHZSCEGDZRPZ

>> S=jie_mi2(Y,A,YW,m,w)

S =HILLCRYPTOGRAPHICSYSTEMISTRADITIONAL

2.3.1、问题陈述

Hill密码的密文为:JCOWZLVBDVL E QMXC,对应的明文已知在上述给定表值下的一段

4

为DELAYOPERATIONSU,能否确定对应的加密矩阵?给出你的判断过程。

能。

2.3.2、运行结果

>> a='DELAYOPERATIONSU';

>> b='JCOWZLVBDVLEQMXC';

>> m=2;

>> w=4;

>> A=qiujie_miyao(a,b,m,w)

A =

8 6 9 5

6 9 5 10

5 8 4 9

10 6 11 4

问题3

3.1、问题重述

设已知一份为

Hill密码体系,其中出现频数最高的双字母是RH和NI,而在明文语

2

言中,出现频数最高的双字母为TH和HE。由这些信息按表3给出的表值能得到什么样的加密矩阵?

表3

A B C D E F G H I J JK L M

0 1 2 3 4 5 6 7 8 9 10 11 12

N O P Q R S T U V W X Y Z

13 14 15 16 17 18 19 20 21 22 23 24 25 3.2、问题分析

不能,因为两组组合解得的两个矩阵的行列式值都不与26互素,不能得到对应的模26逆矩阵。

3.3、运行结果

>> a='THHE';

>> b='RHNI';

>> m=3;

>> w=2;

>> A=qiujie_miyao(a,b,m,w)

A =

3 2

4 24 2

5 >> D=gcd(det(A),26) D = 1 >> b='NIRH';

>> A=qiujie_miyao(a,b,m,w) >> b='NIRH';

A=qiujie_miyao(a,b,m,w) A =

11 24 9 25 >> D=gcd(det(A),26) D = 1 问题4 4.1、问题重述

如下的密文据表1以Hill 2加密,密文为

VIKYNOTCLKYRJQETIRECVUZLNOJTUYDIMHRCFITQ

已获知其中相邻字母LK 表示字母KE ,试破译这份密文。 4.2、问题分析

通过密文‘LK ’对应的明文‘KE ’得出:

115K E α????==????????,1211L K β????

==????????

且存在1112511A ????=????????,其中a c A b d ??

=????为密钥。 所以,求得的A 必满足:

11512

11511a c b d +=??

+=?

4.3、运行结果

>> b='LK';

>> Y='VIKYNOTCLKYRJQETIRECVUZLNOJTUYDIMHRCFITQ'; >> m=1;

>> SJ=po_yi04(Y ,a,b,m) 问题5 5.1、问题重述

找出元素属于26Z 的所有可能的2Hill 密码加密矩阵。若截获了如下一段密文

UTCQCVFOYQUVMGMGULFOEYHDUHOPEASWXTIFBAMWT

且已知它是根据表1按2Hill 密码体制加密的,你能否将其解密? 5.2、问题分析

能,将密文通过所有可能密钥进行解密,对结果进行筛选,进行人工分析即可得出结果。

%%%%%%%%%%%%%%%%%%%%加密程序%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function mi_wen=ja_mi(A,ming_wen,m,w)

%‘A’为解密矩阵,‘m’为选取参考表值类型,‘w’维数

n=length(ming_wen);

switch m%将密文转换相应的数字

case 1

ming_wen=zimu_to_shuzi1(ming_wen);

case 2

ming_wen=zimu_to_shuzi2(ming_wen);

case 3

ming_wen=zimu_to_shuzi3 (ming_wen);

end

Z=[];

if mod(n,w)==0

S=ming_wen;

else

for i=1:w-mod(n,w)%判断密文长度是否能被w整除

Z(i)=ming_wen(n);

S=[ming_wen,Z];

end

end

ming_wen=S;

n=length(ming_wen);

H=zeros(w,n/w);

for i=1:n/w

H(:,i)=ming_wen(i*w-w+1:i*w);

end

mi_wen=mod(A*H,26);

C=[];

for i=1:n/w

C=[C,mi_wen(:,i)'];

end

mi_wen=C;

switch m%将密文转换相应的数字

case 1

mi_wen=shuzi_to_zimu1(mi_wen);

case 2

mi_wen=shuzi_to_zimu2(mi_wen);

case 3

mi_wen=shuzi_to_zimu3(mi_wen);

end

mi_wen=char(mi_wen);

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%解密程序%%%%%%%%%%%%%%%%% function ming_wen=jie_mi(A,mi_wen,m,w)

%解密

%‘A’为解密矩阵,‘m’为选取参考表值类型,‘w’维数

n=length(mi_wen);

switch m

case 1

mi_wen=zimu_to_shuzi1(mi_wen);%将密文转换相应的数字

case 2

mi_wen=zimu_to_shuzi2(mi_wen);%将密文转换相应的数字

case 3

mi_wen=zimu_to_shuzi3(mi_wen);%将密文转换相应的数字

end

Z=[];

if mod(n,w)==0

S=mi_wen;

else

for i=1:w-mod(n,w)%判断密文长度是否能被w整除

Z(i)=mi_wen(n);

S=[mi_wen,Z];

end

end

mi_wen=S;

n=length(mi_wen);

H=zeros(w,n/w);

for i=1:n/w

H(:,i)=mi_wen(i*w-w+1:i*w);

end

B=invmod(A);

B=mod(B,26);

ming_wen=mod(B*H,26);

C=[];

for i=1:n/w

C=[C,ming_wen(:,i)'];

end

ming_wen=C;

switch m

ming_wen=shuzi_to_zimu1(ming_wen);%将密文转换相应的数字

case 2

ming_wen=shuzi_to_zimu2(ming_wen);%将密文转换相应的数字

case 3

ming_wen=shuzi_to_zimu3(ming_wen);%将密文转换相应的数字

end

ming_wen=char(ming_wen);

end

%%%%%%%%%%%%%%%%%%密钥求解%%%%%%%%%%%%%%%%%%%%%%

function A=miyao_qiujie(a,b,m,w)

%求解密钥矩阵

%a为明文,b为密文,m为所选表值,w为密钥矩阵维数

switch m

case 1

a=zimu_to_shuzi1(a);

b=zimu_to_shuzi1(b);

case 2

a=zimu_to_shuzi2(a);

b=zimu_to_shuzi2(b);

case 3

a=zimu_to_shuzi3(a);

b=zimu_to_shuzi3(b);

end

switch w

case 2%二维密钥

ac=[];

bd=[];

for i=0:25

for j=0:25

if

mod(i*a(1)+j*a(2),26)==b(1)&mod(i*a(3)+j*a(4),26)==b(3)

ac=[i,j];

end

if mod(i*a(1)+j*a(2),26)==b(2)&mod(i*a(3)+j*a(4),26)==b(4) bd=[i,j];

end

end

end

A=[ac;bd];

case 3%三维密钥

abc=[];

ghi=[];

for i=0:25

for j=0:25

for k=0:25

if

mod(i*a(1)+j*a(2)+k*a(3),26)==b(1)&mod(i*a(4)+j*a(5)+k*a(6),26)==b(2)&mod(i*a(7)+j* a(8)+k*a(9),26)==b(3)

abc=[i,j,k];

end

if

mod(i*a(1)+j*a(2)+k*a(3),26)==b(4)&mod(i*a(4)+j*a(5)+k*a(6),26)==b(5)&mod(i*a(7)+j* a(8)+k*a(9),26)==b(6)

def=[i,j,k];

end

if

mod(i*a(1)+j*a(2)+k*a(3),26)==b(7)&mod(i*a(4)+j*a(5)+k*a(6),26)==b(8)&mod(i*a(7)+j* a(8)+k*a(9),26)==b(9)

ghi=[i,j,k];

end

end

end

end

A=[abc;def;ghi];

case 4%四维密钥

abcd=[];

efgh=[];

ijkl=[];

mnop=[];

for i=0:25

for j=0:25

for k=0:25

for l=0:25

if

mod(i*a(1)+j*a(2)+k*a(3)+l*a(4),26)==b(1)&mod(i*a(5)+j*a(6)+k*a(7)+l*a(8),26)==b(2) &mod(i*a(9)+j*a(10)+k*a(11)+l*a(12),26)==b(3)&mod(i*a(13)+j*a(14)+k*a(15)+l*a(16),2 6)==b(4)

abcd=[i,j,k,l];

end

if

mod(i*a(1)+j*a(2)+k*a(3)+l*a(4),26)==b(5)&mod(i*a(5)+j*a(6)+k*a(7)+l*a(8),26)==b(6) &mod(i*a(9)+j*a(10)+k*a(11)+l*a(12),26)==b(7)&mod(i*a(13)+j*a(14)+k*a(15)+l*a(16),2 6)==b(8)

efgh=[i,j,k,l];

end

if

mod(i*a(1)+j*a(2)+k*a(3)+l*a(4),26)==b(9)&mod(i*a(5)+j*a(6)+k*a(7)+l*a(8),26)==b(10 )&mod(i*a(9)+j*a(10)+k*a(11)+l*a(12),26)==b(11)&mod(i*a(13)+j*a(14)+k*a(15)+l*a(16) ,26)==b(12)

ijkl=[i,j,k,l];

end

if

mod(i*a(1)+j*a(2)+k*a(3)+l*a(4),26)==b(13)&mod(i*a(5)+j*a(6)+k*a(7)+l*a(8),26)==b(1 4)&mod(i*a(9)+j*a(10)+k*a(11)+l*a(12),26)==b(15)&mod(i*a(13)+j*a(14)+k*a(15)+l*a(16 ),26)==b(16)

mnop=[i,j,k,l];

end

end

end

end

A=[abcd;efgh;ijkl;mnop];

end

end

A;

End

%%%%%%%%%%%%%%%%%%%%%%%密钥求逆%%%%%%%%%%%%%%%%%%%%%%%%%

function Y=invmod(A)

D=det(A);

D=round(D);

if gcd(D,26)~=1

disp('Error!');

else

for i=1:25

if mod(i*D,26)==1

break;

end;

end;

invD=i;

Y=mod(D*inv(A)*invD,26);

end

Y=round(Y);

%%%%%%%%%%%%%%%%%%%%%破译密文%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function ming_wen=po_yi04(mi_wen,m)

a='KE';

b='LK';

AS=miyao_qiujie04(a,b);

n=length(AS);

ming_wen=[];

w=2;

for i=1:n

C=jie_mi(AS(:,:,i),mi_wen,m,w);

ming_wen=[ming_wen;C];

end

ming_wen=abs(ming_wen);

dlmwrite('data.txt',ming_wen,'newline','PC'); end

(完整版)北邮版《现代密码学》习题答案.doc

《现代密码学习题》答案 第一章 1、1949 年,( A )发表题为《保密系统的通信理论》的文章,为密码系统建立了理 论基础,从此密码学成了一门科学。 A、Shannon B 、Diffie C、Hellman D 、Shamir 2、一个密码系统至少由明文、密文、加密算法、解密算法和密钥 5 部分组成,而其安全性是由( D)决定的。 A、加密算法 B、解密算法 C、加解密算法 D、密钥 3、计算和估计出破译密码系统的计算量下限,利用已有的最好方法破译它的所需要 的代价超出了破译者的破译能力(如时间、空间、资金等资源),那么该密码系统的安全性是( B )。 A 无条件安全 B计算安全 C可证明安全 D实际安全 4、根据密码分析者所掌握的分析资料的不通,密码分析一般可分为 4 类:唯密文攻击、已知明文攻击、选择明文攻击、选择密文攻击,其中破译难度最大的是( D )。 A、唯密文攻击 B 、已知明文攻击 C 、选择明文攻击D、选择密文攻击 5、1976 年,和在密码学的新方向一文中提出了公开密钥密码的思想, 从而开创了现代密码学的新领域。 6、密码学的发展过程中,两个质的飞跃分别指1949年香农发表的保密系统的通

信理论和公钥密码思想。 7、密码学是研究信息寄信息系统安全的科学,密码学又分为密码编码学和密码分析学。 8、一个保密系统一般是明文、密文、密钥、加密算法、解密算法5部分组成的。 对9、密码体制是指实现加密和解密功能的密码方案,从使用密钥策略上,可分为 称和非对称。 10、对称密码体制又称为秘密密钥密码体制,它包括分组密码和序列密码。 第二章 1、字母频率分析法对( B )算法最有效。 A、置换密码 B 、单表代换密码C、多表代换密码D、序列密码 2、(D)算法抵抗频率分析攻击能力最强,而对已知明文攻击最弱。 A 仿射密码 B维吉利亚密码C轮转密码 D希尔密码 3、重合指数法对( C)算法的破解最有效。 A 置换密码 B单表代换密码C多表代换密码 D序列密码 4、维吉利亚密码是古典密码体制比较有代表性的一种密码,其密码体制采用的是 (C )。

希尔密码的破解

希尔密码(Hill Cipher)简介: 希尔密码是基于矩阵的线性变换, 希尔密码相对于前面介绍的移位密码以及放射密码而言, 其最大的好处就是隐藏了字符的频率信息, 使得传统的通过字频来破译密文的方法失效. 安全性: 希尔密码不是足够安全的, 如今已被证实, 关于希尔密码的破解不在本文范围内, 有兴趣的朋友可以研读相关书籍以了解相关破译方法. 希尔密码所需要掌握的前置知识: 1) 线性代数基础知识. 2) 初等数论基础知识. 坦白来说, 大部分密码学都要用到线性代数以及初等数论中的知识, 所以我希望大家可以自行找来相关书籍完成基础知识的学习, 所以关于什么是矩阵,什么是单位矩阵我不打算细讲. 在希尔密码中, 具体的话, 会涉及到矩阵的运算, 及其初等变化等. 约定: 1) 希尔密码常使用Z26字母表, 在此贴中, 我们也以Z26最为字母表进行讲解.在附带源码中有两种字母表选择. 2) 大家都知道最小的质数是2, 1 既不是质数也不是合数. 在此我们定义1对任何质数的模逆为其本身. 因为对于任意质数n, 有: 1*1 % n = 1 的. 也应该是很好理解的. 相关概念: 线性代数中的逆矩阵: 在线性代数中, 大家都知道,对于一个n阶矩阵 M , 如果存在一个n阶矩阵 N ,使得 M * N = E (其中: E为n阶单位矩阵), 则称矩阵 N 为矩阵 M 的逆矩阵, 并记为 M^-1. 比如 2阶矩阵 M = [3,6] , 则很容易得知其逆矩阵 :

[2,7] M^-1 = [7/9, -2/3] [-2/9, 1/3] . 关于这个逆矩阵是如何计算出的, 通常的有两种方法: 一是使用伴随矩阵, 通过计算行列式得到. 所用公式为: M^-1 = M^* / D . (其中M^*为M的伴随矩阵, D为M的行列式的值) 二是通过增广矩阵, 在M右侧附加一个n阶单位矩阵, 再通过初等变换将增广矩阵的左侧变换为一个n阶单位矩阵, 这时右 侧便是所求的逆矩阵. 打住!! 我们到此先打住! 我们返回到希尔密码. 希尔密码原理: 加密者在对明文加密前会选择一个加密秘匙, 这个秘匙最终会以一个m矩阵的形式参与到加密算法中的. 在加密者选定了加密秘匙后, m便得到了确定, 这时,加密者将明文按m个字母一组的形式分成多组, 最后一组不足m个字母的按特定的方式补齐. 这样就形成了很多组由m个字母组成的单个向量, 然后 对每一个m阶向量, 我们用它去乘以确定好了的秘匙. 如下为其中的一个分组A向量加密后变为B向量的过程: [A1,A2,A3 ... Am] * M = [B1,B2,B3 ... Bm] . 我们将所有相乘后的向量连在一起, 便得到了密文. 这便是希尔密码的加密.

《现代密码学》读书报告

《现代密码学》读书报告

目录 一、文献的背景意义、研究目的、核心思想 (3) 二、国内外相关研究进展 (5) 现代密码学的产生 (5) 近代密码学的发展 (6) 三、文献所提方法(或算法、方案)的主要步骤或过程 (7) 对称加密算法 (7) 公开密钥算法 (7) 四、文献所提方法的优缺点 (8) 对称加密算法的优点和缺点: (8) 五、文献所提方法与现有方法的功能与性能比较 (9) 对称算法与公钥算法的比较: (9) 六、文献所提方法的难点或关键点 (10) 七、阅读中遇到的主要障碍 (10) 八、阅读体会 (11) 九、参考文献 (11)

一、文献的背景意义、研究目的、核心思想 密码学(Cryptography)在希腊文用Kruptos(hidden)+graphein(to write)表达,现代准确的术语为“密码编制学”,简称“编密学”,与之相对的专门研究如何破解密码的学问称之为“密码分析学”。密码学是主要研究通信安全和保密的学科,他包括两个分支:密码编码学和密码分析学。密码编码学主要研究对信息进行变换,以保护信息在传递过程中不被敌方窃取、解读和利用的方法,而密码分析学则于密码编码学相反,它主要研究如何分析和破译密码。这两者之间既相互对立又相互促进。密码的基本思想是对机密信息进行伪装。一个密码系统完成如下伪装:加密者对需要进行伪装机密信息(明文)进行伪装进行变换(加密变换),得到另外一种看起来似乎与原有信息不相关的表示(密文),如果合法者(接收者)获得了伪装后的信息,那么他可以通过事先约定的密钥,从得到的信息中分析得到原有的机密信息(解密变换),而如果不合法的用户(密码分析者)试图从这种伪装后信息中分析得到原有的机密信息,那么,要么这种分析过程根本是不可能的,要么代价过于巨大,以至于无法进行。 “密码”一词对人们来说并不陌生,人们可以举出许多有关使用密码的例子。如保密通信设备中使用“密码”,个人在银行取款使用“密码”,在计算机登录和屏幕保护中使用“密码”,开启保险箱使用“密码”,儿童玩电子游戏中使用“密码”等等。这里指的是一种特定的暗号或口令字。现代的密码已经比古代有了长远的发展,并逐渐形成一门科学,吸引着越来越多的人们为之奋斗。 从专业上来讲,密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。依照这些法则,变明文为密文,称为加密变换;变密文为明文,称为脱密变换。密码在早期仅对文字或数码进行加、脱密变换,随着通信技术的发展,对语音、图像、数据等都可实施加、脱密变换。 为了研究密码所以就有了密码学。密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。 进行明密变换的法则,称为密码的体制。指示这种变换的参数,称为密钥。它们是密码编制的重要组成部分。密码体制的基本类型可以分为四种:错乱——按照规定的图形和线路,改变明文字母或数码等的位置成为密文;代替——用一

Hill密码的加密解密

【实验十】Hill密码的加密、解密与破译 一、实验目的 本实验主要涉及代数,利用模运算下的矩阵乘法、求逆矩阵、线性无关、线性空间与线性变换等概念和运算,学习Hill密码体制的加密、解密和破译过程 二、实验任务 任务五 找出元素属于Z26的所有可能的Hill2密码加密矩阵。若截获了如下一段密文:UTCQCVFOYQUVMGMGULFOLEYHDUHOPEASWXTIFBAMWT 且已知它是根据表10.1按Hill2密码体制加密的,你能否将其解密? 分析:对于第一问,找出元素属于Z26的所有可能的Hill2密码加密矩阵,我们只需要用枚举法即可。关键在于第二问的解密,根据我们编写的C++程序,共有约15万个可能的加密矩阵,也就对应着同等数量的可能明文。所以问题的重点就在于如何从这么多数量的明文中筛选出有意义的信息。 1、找出元素属于Z26的所有可能的Hill2密码加密矩阵 C++源代码(枚举加密矩阵部分): chain_mat* head=new chain_mat; //加密矩阵用链表储存 head->next=NULL; chain_mat* now=head; int n=0; for(int a=0;a<26;a++) for(int b=0;b<26;b++) for(int c=0;c<26;c++) for(int d=0;d<26;d++) { intdet=a*d-b*c; if(det%2!=0&&det%13!=0) //判断是否模26可逆 { chain_mat* newm=new chain_mat; newm->dat[0][0]=a; newm->dat[0][1]=b; newm->dat[1][0]=c; newm->dat[1][1]=d;

现代密码学期终考试试卷和答案

一.选择题 1、关于密码学的讨论中,下列(D )观点是不正确的。 A、密码学是研究与信息安全相关的方面如机密性、完整性、实体鉴别、抗否认等的综 合技术 B、密码学的两大分支是密码编码学和密码分析学 C、密码并不是提供安全的单一的手段,而是一组技术 D、密码学中存在一次一密的密码体制,它是绝对安全的 2、在以下古典密码体制中,属于置换密码的是(B)。 A、移位密码 B、倒序密码 C、仿射密码 D、PlayFair密码 3、一个完整的密码体制,不包括以下(?C?? )要素。 A、明文空间 B、密文空间 C、数字签名 D、密钥空间 4、关于DES算法,除了(C )以外,下列描述DES算法子密钥产生过程是正确的。 A、首先将DES 算法所接受的输入密钥K(64 位),去除奇偶校验位,得到56位密钥(即经过PC-1置换,得到56位密钥) B、在计算第i轮迭代所需的子密钥时,首先进行循环左移,循环左移的位数取决于i的值,这些经过循环移位的值作为下一次 循环左移的输入 C、在计算第i轮迭代所需的子密钥时,首先进行循环左移,每轮循环左移的位数都相同,这些经过循环移位的值作为下一次循 环左移的输入 D、然后将每轮循环移位后的值经PC-2置换,所得到的置换结果即为第i轮所需的子密钥Ki 5、2000年10月2日,NIST正式宣布将(B )候选算法作为高级数据加密标准,该算法是由两位比利时密码学者提出的。 A、MARS B、Rijndael C、Twofish D、Bluefish *6、根据所依据的数学难题,除了(A )以外,公钥密码体制可以分为以下几类。 A、模幂运算问题 B、大整数因子分解问题 C、离散对数问题 D、椭圆曲线离散对数问题 7、密码学中的杂凑函数(Hash函数)按照是否使用密钥分为两大类:带密钥的杂凑函数和不带密钥的杂凑函数,下面(C )是带密钥的杂凑函数。 A、MD4 B、SHA-1

Hill密码的加解密过程

Hill密码的加解密过程 1,在求Hill密码加解密过程前,先求出模26的倒数表 根据模26倒数的定义如果a与b互为倒数,则a*b-1一定是26的整数倍,故可以用mod 函数。 利用Matlab,编程如下: for i=1:25 for n=1:26 if rem((i*n-1),26)==0 disp([i;n]); end; end; end; 2,一段Hill2密码编译的密文 BKOPGATRHMMBFCSDJCCAUU已知 SDJC 代表 IJIA 破译这段密码的内容 根据Hill密码解题的步骤,先求一个2阶矩阵的逆矩阵,定义一个函数qiudao如下,Matlab 编程如下。 function f=qiudao(a,b,c,d) %矩阵的形式为[a,b;c,d] h=a*d-b*c; %求矩阵的行列式 for i=1:26 %求行列式的倒数 if rem(i*h,26)==1 break; end end f=mod(i*mod([d,-b;-c,a],26),26) %其中[d,-b;-c,a]为伴随矩阵 因为本题是已知密文求明文,故需先求出密钥在模26下的逆矩阵。题中已知四个明文字母和四个密文字母β=A*α,故=α*可以求得密钥的逆矩阵 主程序为:(在运行主程序之前,请先运行函数文件) for i=1:8 a=input('a=先输用来求密钥的明文对应的字母,再输入密文对应的字母,均为大写','s'); c(i)=abs(a)-64; end %将输入的字母转化为字母对应的数字,如A对应1 a=[c(1) c(3);c(2),c(4)]; %明文的四个字母组成的对应矩阵 b=[c(5),c(7);c(6),c(8)]; %密文的四个字母组成的矩阵 m=qiudao(c(5),c(7),c(6),c(8)); %求矩阵b的逆矩阵,调用函数qiudao A=mod(a*m,26) %A为密钥的逆矩阵 for j=1:22 b=input('输入密文','s') n(j)=abs(b)-64; end; for p=1:11;

现代密码学 学习心得

混合离散对数及安全认证 摘要:近二十年来,电子认证成为一个重要的研究领域。其第一个应用就是对数字文档进行数字签名,其后Chaum希望利用银行认证和用户的匿名性这一性质产生电子货币,于是他提出盲签名的概念。 对于所有的这些问题以及其他的在线认证,零知识证明理论成为一个非常强有力的工具。虽然其具有很高的安全性,却导致高负荷运算。最近发现信息不可分辨性是一个可以兼顾安全和效率的性质。 本文研究混合系数的离散对数问题,也即信息不可识别性。我们提供一种新的认证,这种认证比因式分解有更好的安全性,而且从证明者角度看来有更高的效率。我们也降低了对Schnorr方案变形的实际安全参数的Girault的证明的花销。最后,基于信息不可识别性,我们得到一个安全性与因式分解相同的盲签名。 1.概述 在密码学中,可证明为安全的方案是一直以来都在追求的一个重要目标。然而,效率一直就是一个难以实现的属性。即使在现在对于认证已经进行了广泛的研究,还是很少有方案能兼顾效率和安全性。其原因就是零知识协议的广泛应用。 身份识别:关于识别方案的第一篇理论性的论文就是关于零知识的,零知识理论使得不用泄漏关于消息的任何信息,就可以证明自己知道这个消息。然而这样一种能够抵抗主动攻击的属性,通常需要许多次迭代来得到较高的安全性,从而使得协议或者在计算方面,或者在通信量方面或者在两个方面效率都十分低下。最近,poupard和stern提出了一个比较高效的方案,其安全性等价于离散对数问题。然而,其约减的代价太高,使得其不适用于现实中的问题。 几年以前,fiege和shamir就定义了比零知识更弱的属性,即“信息隐藏”和“信息不可分辨”属性,它们对于安全的识别协议来说已经够用了。说它们比零知识更弱是指它们可能会泄漏秘密消息的某些信息,但是还不足以找到消息。具体一点来说,对于“信息隐藏”属性,如果一个攻击者能够通过一个一次主动攻击发现秘密消息,她不是通过与证明者的交互来发现它的。而对于“信息不可分辨”属性,则意味着在攻击者方面看来,证据所用的私钥是不受约束的。也就是说有许多的私钥对应于一个公钥,证据仅仅传递了有这样一个私钥被使用了这样一个信息,但是用的是哪个私钥,并没有在证据传递的信息中出现。下面,我们集中考虑后一种属性,它能够提供一种三次传递识别方案并且对抗主动攻击。Okamoto 描述了一些schnorr和guillou-quisquater识别方案的变种,是基于RSA假设和离散对数子群中的素数阶的。 随机oracle模型:最近几年,随机oracle模型极大的推动了研究的发展,它能够用来证明高效方案的安全性,为设计者提供了一个有价值的工具。这个模型中理想化了一些具体的密码学模型,例如哈希函数被假设为真正的随机函数,有助于给某些加密方案和数字签名等提供安全性的证据。尽管在最近的报告中对于随机oracle模型采取了谨慎的态度,但是它仍然被普遍认为非常的有效被广泛的应用着。例如,在这个模型中被证明安全的OAPE加密

Hill密码的加密论文(内含matlab程序代码)

Hill密码的加密,解密与破译 摘要 对于问题1.1:本文采用 Hill密码通信,对明文进行加密。利用已知的密钥矩阵, 2 首先,将密文转化为对应表值数字。其次,对密文的数字转化为矩阵。最后,对明文解密。 对于问题1.2:本文给出一组明文和密文,二者满足构成密钥的条件,通过求解的到密钥,并进行问题1.1的解题过程破译这段密文。 Hill密码矩阵A,并求出该矩阵的值是否与26互素,加以对于问题2.1:本文给出 4 判断。若互素则能成为密钥,否则不能构成密钥。 对于问题2.2:利用问题2.1所给的密码矩阵A,按照问题1.1的解题思路,将得到的密文解密。 Hill密码的密文和其对应的明文,通过检验二者是否对于问题2.3:本文给出一段 4 满足构成密钥的条件,若满足解的密钥,并写出求解过程;若不满足加以说明。 对于问题3:本文给出明文频数最高的字母TH和HE,及密文频数最高的字母RH和NI。两两组合得到两组“密钥”,并检验它们是否满足构成密钥的条件,若满足则解除密钥。 Hill密对于问题4:本文给出频数最高的相邻明文字母KE和相邻密文字母LK,采用 2 码通信,利用所给字母与其他字母组合,构造2×2的矩阵,并检验是否满足构成密钥的条件,加以排除得到所要的密钥。若有满足条件的矩阵,破译所给密文。 Hill密码通信,根据26个字母搭配出2×2的所有矩阵,利对于问题5:本文采用 2 用矩阵的值与26互质,加以排除不符合条件的矩阵,并求出满足条件的密钥,破译该段密文,再利用密文是否通顺加以排除,得到所要的明文和密钥。 关键字密钥 mod(26)逆 mod(26)倒数

一、Hill2密码的数学模型的主要符号说明 w Hill密钥的维数 A 密钥矩阵 S 明文 Y 密文 m 所用的表值编号 YW 哑文 二、Hill2密码的数学模型 密码是一种传统的密码体制加密过程的具体步骤如下: Hill 2 (1)、根据明文字母的表值将明文信息用数字表示,设明文信息只需要26个拼音字母A~Z(也可能不止26个,如还有数字、标点符号等),通信双方给出这26个字母表值(见表10.1明文字母的表值)。 (2)、选择一个二阶可逆整数方阵A,称为Hill 密码的加密矩阵,它是这个加密体 2 制的“密钥”(是加密的关键,仅通讯双方掌握)。问题(1)已给出了这个二阶矩阵。 (3)、将明文字母依次逐对分组。Hill 密码的加密矩阵为二阶矩阵,则明文字母2 2 密码,则每n个明文字母为一组)。若最后一组只有一个字母,个一组(可以推广至Hill n 则补充一个没有实际意义的哑字母,这样使每一组都由2个明文字母组成。查出每个明文字母的表值,构成一个二维列向量α。 (4)、A乘以α,得一新的2维列向量β=Aα,由的两个分量反查字母表值得到的两个字母即为密文字母。以上4步即为Hill 密码的加密过程。解密过程,即为上述 2 过程的逆过程。 1、实际问题: 1.1、问题陈述 甲方收到与之有秘密通信往来的乙方的一个密文信息,密文内容: W O W U Y S B A C P G Z S A V C O V K P E W C P A D K P P A B U J C Q L Y X Q E Z A A C P P

矩阵编制Hill密码

矩阵编制Hill密码 密码学在经济和军事方面起着极其重要的作用. 现代密码学涉及很多高深的数学知识. 这里无法展开介绍. 图29 保密通信的基本模型 密码学中将信息代码称为密码, 尚未转换成密码的文字信息称为明文, 由密码表示的信息称为密文. 从明文到密文的过程称为加密, 反之为解密. 1929年, 希尔(Hill)通过线性变换对待传输信息进行加密处理, 提出了在密码史上有重要地位的希尔加密算法. 下面我们略去一些实际应用中的细节, 只介绍最基本的思想. 【模型准备】若要发出信息action,现需要利用矩阵乘法给出加密方法和加密后得到的密文, 并给出相应的解密方法. 【模型假设】(1) 假定每个字母都对应一个非负整数, 空格和26个英文字母依次对应整数0~26(见下表). (2)假设将单词中从左到右, 每3个字母分为一组, 并将对应的3个整数排成3维的行向量, 加密后仍为3维的行向量, 其分量仍为整数. 【模型建立】设3维向量x为明文, 要选一个矩阵A使密文y= xA, 还要确保接收方能由y准确地解出x. 因此A必须是一个3阶可逆矩阵. 这样就可以由y = xA 得x = yA-1. 为了避免小数引起误差, 并且确保y也是整数向量, A和A-1的元素应该都是整数. 注意到, 当整数矩阵A的行列式= ±1时, A-1也是整数矩阵. 因此原问题转化为 (1) 把action翻译成两个行向量: x1, x2. (2) 构造一个行列式= ±1的整数矩阵A(当然不能取A = E). (3) 计算x1A和x2A. (4) 计算A-1.

【模型求解】(1) 由上述假设可见x1 = (1, 3, 20), x2 = (9, 15, 14). (2) 对3阶单位矩阵E = 100 010 001 ?? ? ? ?? 进行几次适当的初等变换(比如把某一行的 整数被加到另一行, 或交换某两行), 根据行列式的性质可知, 这样得到的矩阵A 的行列式为1或-1. 例如A = 110 211 322 ?? ? ? ?? , |A| = -1. (3) y1 =x1A = (1, 3, 20) 110 211 322 ?? ? ? ?? = (67, 44, 43), y2 =Ax2 = (9, 15, 14) 110 211 322 ?? ? ? ?? = (81, 52, 43). (4) 由(A, E) = 110100 211010 322001 ?? ? ? ?? ????→ 初等行变换 100021 010121 001111 - ?? ? - ? -- ?? 可得A-1= 021 121 111 - ?? ? - ? -- ?? . 这就是说, 接收方收到的密文是67, 44, 43, 81, 52, 43. 要还原成明文, 只要计算(67, 44, 43)A-1和(81, 52, 43)A-1,再对照表9“翻译”成单词即可. 【模型分析】如果要发送一个英文句子, 在不记标点符号的情况下, 我们仍然可以把句子(含空格)从左到右每3个字符分为一组(最后不足3个字母时用空格补上). 【模型检验】(67, 44, 43)A-1=(1, 3, 20), (81, 52, 43)A-1 = (9, 15, 14). 参考文献 杨威,高淑萍, 线性代数机算与应用指导,西安: 西安电子科技大学出版社, 2009. 页码: 98-102. Matlab实验题 按照上面的加密方法, 设密文为: 112, 76, 57, 51, 38, 18, 84, 49, 49, 68, 41, 32, 83, 55, 37, 70, 45, 25,问恢复为原来的信息是什么?

现代密码学课后答案第二版课件

现代密码学教程第二版 谷利泽郑世慧杨义先 欢迎私信指正,共同奉献 第一章 1.判断题 2.选择题 3.填空题 1.信息安全的主要目标是指机密性、完整性、可用性、认证性和不可否认性。 2.经典的信息安全三要素--机密性,完整性和可用性,是信息安全的核心原则。

3.根据对信息流造成的影响,可以把攻击分为5类中断、截取、篡改、伪造和重放,进一 步可概括为两类主动攻击和被动攻击。 4.1949年,香农发表《保密系统的通信理论》,为密码系统建立了理论基础,从此密码学 成为了一门学科。 5.密码学的发展大致经历了两个阶段:传统密码学和现代密码学。 6.1976年,W.Diffie和M.Hellman在《密码学的新方向》一文中提出了公开密钥密码的 思想,从而开创了现代密码学的新领域。 7.密码学的发展过程中,两个质的飞跃分别指 1949年香农发表的《保密系统的通信理 论》和 1978年,Rivest,Shamir和Adleman提出RSA公钥密码体制。 8.密码法规是社会信息化密码管理的依据。 第二章 1.判断题 答案×√×√√√√××

2.选择题 答案:DCAAC ADA

3.填空题 1.密码学是研究信息寄信息系统安全的科学,密码学又分为密码编码学和密码分 析学。 2.8、一个保密系统一般是明文、密文、密钥、加密算法、解密算法 5部分组成的。 3.9、密码体制是指实现加密和解密功能的密码方案,从使用密钥策略上,可分为对称和 非对称。 4.10、对称密码体制又称为秘密密钥密码体制,它包括分组密码和序列 密码。

第三章5.判断 6.选择题

现代密码学论文

现代密码学论文 院(系)名称理学院 专业班级计算131班学号130901027 学生姓名王云英

摘要 现代密码学研究信息从发端到收端的安全传输和安全存储,是研究“知己知彼”的一门科学。其核心是密码编码学和密码分析学。前者致力于建立难以被敌方或对手攻破的安全密码体制,即“知己”,后者则力图破译敌方或对手已有的密码体制,即“知彼”。人类有记载的通信密码始于公元前400年。1881年世界上的第一个电话保密专利出现。电报、无线电的发明使密码学成为通信领域中不可回避的研究课题。 现有的密码体制千千万万各不相同。但是它们都可以分为私钥密码体制(如DES密码)和公钥密码(如公开密钥密码)。前者的加密过程和脱密过程相同,而且所用的密钥也相同;后者,每个用户都有公开和秘密钥。现代密码学是一门迅速发展的应用科学。随着因特网的迅速普及,人们依靠它传送大量的信息,但是这些信息在网络上的传输都是公开的。因此,对于关系到个人利益的信息必须经过加密之后才可以在网上传送,这将离不开现代密码技术。PKI是一个用公钥概念与技术来实施和提供安全服务的具有普适性的安全基础设施。PKI公钥基础设施的主要任务是在开放环境中为开放性业务提供数字签名服务。

现代密码学的算法研究 密码算法主要分为对称密码算法和非对称密码算法两大类。对称加密算法指加密密钥和解密密钥相同,或知道密钥之一很容易推导得到另一个密钥。通常情况下,对称密钥加密算法的加\解密速度非常快,因此,这类算法适用于大批量数据的场合。这类算法又分为分组密码和流密码两大类。 1.1 分组密码 分组密码算法实际上就是密钥控制下,通过某个置换来实现对明文分组的加密变换。为了保证密码算法的安全强度,对密码算法的要求如下。 1.分组长度足够大:当分组长度较小时,分组密码类似于古典的代替密码,它仍然保留了明文的统计信息,这种统计信息将给攻击者留下可乘之机,攻击者可以有效地穷举明文空间,得到密码变换本身。 2.密钥量足够大:分组密码的密钥所确定密码变换只是所有置换中极小一部分。如果这一部分足够小,攻击者可以有效地穷举明文空间所确定所有的置换。这时,攻击者就可以对密文进行解密,以得到有意义的明文。 3.密码变换足够复杂:使攻击者除了穷举法以外,找不到其他快捷的破译方法。 分组密码的优点:明文信息良好的扩展性,对插入的敏感性,不需要密钥同步,较强的适用性,适合作为加密标准。 分组密码的缺点:加密速度慢,错误扩散和传播。 分组密码将定长的明文块转换成等长的密文,这一过程在秘钥的控制之下。使用逆向变换和同一密钥来实现解密。对于当前的许多分组密码,分组大小是 64 位,但这很可能会增加。明文消息通常要比特定的分组大小长得多,而且使用不同的技术或操作方式。 1.2流密码 流密码(也叫序列密码)的理论基础是一次一密算法,它是对称密码算法的一种,它的主要原理是:生成与明文信息流同样长度的随机密钥序列(如 Z=Z1Z2Z3…),使用此密钥流依次对明文(如X=X0X1X2...)进行加密,得到密文序列,解密变换是加密变换的逆过程。根据Shannon的研究,这样的算法可以达到完全保密的要求。但是,在现实生活中,生成完全随机的密钥序列是不可行的,因此只能生成一些类似随机的密钥序列,称之为伪随机序列。 流密码具有实现简单、便于硬件实施、加解密处理速度快、没有或只有有限的错误传播等特点,因此在实际应用中,特别是专用或机密机构中保持着优势,典型的应用领域包括无线通信、外交通信。如果序列密码所使用的是真正随机方式的、与消息流长度相同的密钥流,则此时的序列密码就是一次一密的密码体制。若能以一种方式产生一随机序列(密钥流),这一序列由密钥所确定,则利用这样的序列就可以进行加密,即将密钥、明文表示成连续的符号或二进制,对应地进行加密,加解密时一次处理明文中的一个或几个比特。 流密码研究内容集中在如下两方面: (1)衡量密钥流序列好坏的标准:通常,密钥序列的检验标准采用Golomb的3点随机性公设,除此之外,还需做进一步局部随机性检验,包括频率检验、序列

现代密码技术论文

湖南农业大学课程论文 学院:信息科学技术学院班级:网络一班 姓名:雷胜杰学号:201241842205 课程论文题目:现代密码技术发展及在密码安全中的应用课程名称:网络安全 评阅成绩: 评阅意见: 成绩评定教师签名: 日期:年月日

摘要:如何保证数据安全,是当前信息领域亟待解决的突出问题,作为数据安全的基础和核心,密码技术及应用是信息发展的重中之重。综合分析现代密码技术的发展,深入研究其在传统数据安全及云计算平台下的数据安全中发挥了巨大作用,为信息安全的持续发展奠定了基础。 关键词:数据安全现代密码技术防范建议 引言: 随着互联网的普及和信息网络建设的深入发展,信息安全的重要性也随之越来越显现出来。信息化的高速发展使得信息的获取,共享和传播更加方便,同时也增加了敏感信息泄密的风险。无论对于个人企业还是政府,计算机中最重要的是存储的数据,一旦丢失,将造成不可估量的损失。 2015年10月19日知名白帽子平台下午2时多突然发布公告,称接到一起惊人的数据泄密报告,网易的用户数据库疑似泄露,影响到网易163/126邮箱过亿数据,泄露信息包括用户名、MD5密码、密码密保信息、登录IP以及用户生日等,其中密码密保解开后测试大部分邮箱依旧还可登录。黑吧安全网官微随后又发文称,这次密码泄露似乎也不是改密码就能解决这么简单,因为还泄露了用户密码提示问题及答案,而且这个数据应该是用其他网站泄露的账号密码“撞库”也无法获取的,因此建议大家“改密码的同时也将密码提示答案进行更新修改”。 这些事件都充分说明了数据安全问题已经成为一个迫在眉睫的问题,而保障数据安全最基本的方式就是利用密码技术,对敏感数据进行加密处理针对该问题,本文结合现代密码技术的发展,探讨密码技术在安全防护中的应用。 一.现代密码技术的发展: 密码技术是信息安全技术的核心。密码学包括密码编码学和密码分析学。密码体制设计是密码编码学的主要内容,密码体制的破译是密码分析学的主要内容,密码编码技术和密码分析技术是相互依存,相互支持,密不可分的两个方面。现在世界各国对密码算法的研究和密码技术的发展都很重视,相对于古典密码学的算法保密性,现代密码技术的安全是基于密钥的保密性,算法是公开的。所以在过去的30多年中,各国科学家提出了一系列的密码算法。一个密码体制通常由5部分组成:明文信息空间M,密文信息空间C,密钥空间K,加密变换Ek:M →C,其中k属于K.目前的加密算法按照这种密码体制划分,即便分为两类:一是对称密钥密码体制;一类是非对称密钥密码体制. 1.对称密码 对称密码体制也称为私钥密码体制。在对称加密中,加密和解密采用相同的密钥。对称密码通常使用分组密码或序列密码来实现。 现代分组密码的研究始于20世纪70年代中期。美国数据加密标准DES算法的公布。分组密码将定长的明文块转换或等长的密文,这一过程在密钥的控制之下。使用逆向变换和同一密钥来实现解密。分组密码的运行模式有电码本模式,秘密反馈模式,密码分组链接模式,输出反馈模式,计数模式等。 现在主要的分组密码包括DES算法,IDEA算法等。 序列密码也称为流密码,序列密码加密过称就算用一个随机序列与明文序列叠加产生密文,用同一个随机序列与密文序列叠加产生明文。序列密码主要应用于军事和外交等机密部门,许多研究成果并为完全公开。目前,公开的序列密码算法主要有RC4,SEAL等。 2.非对称密码

现代密码与信息安全论文

现代密码与信息安全论文 浅 谈 现 代 密 码 与 信 息 安 全 院系: 班级: 姓名: 学号:

[摘要] 简单谈一下对现代密码学与信息安全的一个认识,和信息安全的防范。 [关键词] 发展基础知识作用安全防范 一、密码学的发展历程 密码学在公元前400多年就早已经产生了,正如《破译者》一书中所说“人类使用密码的历史几乎与使用文字的时间一样长”。密码学的起源的确要追溯到人类刚刚出现,并且尝试去学习如何通信的时候,为了确保他们的通信的机密,最先是有意识的使用一些简单的方法来加密信息,通过一些(密码)象形文字相互传达信息。接着由于文字的出现和使用,确保通信的机密性就成为一种艺术,古代发明了不少加密信息和传达信息的方法。例如我国古代的烽火就是一种传递军情的方法,再如古代的兵符就是用来传达信息的密令。就连闯荡江湖的侠士,都有秘密的黑道行话,更何况是那些不堪忍受压迫义士在秘密起义前进行地下联络的暗语,这都促进了密码学的发展。 事实上,密码学真正成为科学是在19世纪末和20世纪初期,由于军事、数学、通讯等相关技术的发展,特别是两次世界大战中对军事信息保密传递和破获敌方信息的需求,密码学得到了空前的发展,并广泛的用于军事情报部门的决策。例如在希特勒一上台时,德国就试验并使用了一种命名为“谜”的密码机,“谜”型机能产生220亿种不同的密钥组合,假如一个人日夜不停地工作,每分钟测试一种密钥的话,需要约4.2万年才能将所有的密钥可能组合试完,希特勒完全相信了这种密码机的安全性。然而,英国获知了“谜”型机的密码原理,完成了一部针对“谜”型机的绰号叫“炸弹”的密码破译机,每秒钟可处理2000个字符,它几乎可以破译截获德国的所有情报。后来又研制出一种每秒钟可处理5000个字符的“巨人”型密码破译机并投入使用,至此同盟国几乎掌握了德国纳

《现代密码学》教学大纲

《现代密码学》教学大纲 课程编号:CE6209 课程名称:现代密码学英文名称:Modern Cryptography 学分/学时:2/32 课程性质:学院选修 适用专业:网络工程(含卓越班) 建议开设学期:5 先修课程:离散数学、信息安全数学基础、概率论、C语言等 开课单位:网络与信息安全学院 一、课程的教学目标与任务 本课程是网络与信息安全学院网络工程专业的学院选修课。 本课程的目标是全面介绍现代密码学的基本概念、基础理论和基本核心部件;研究和分析密码算法和安全协议的设计原理和思想;了解现代密码学的理论分析方法及技术。通过本课程的学习使学生系统地掌握密码学的基本概念和原理,掌握密码技术应用的基本要求,了解现代密码学的发展方向和新兴密码技术;具备进行密码学理论研究的基础知识;具备在信息安全中分析和应用密码技术的能力。 本课程以理论教学为主,并在各个环节注意加强学生实践能力的培养。注重密码学部件的正确应用,实践环节将针对各种不安全的密码协议进行分析,理论和实践攻击。通过本课程的学习,学生将全面了解密码技术的正确应用,并在使用中规避不安全的密码协议设计,分析和评估不同场景下密码部件应用的安全性,跟踪前沿的密码技术、标准,能充分运用并掌握先进的密码设计原理、分析方法、应用场景,为学生从事网络安全相关工作打下坚实的基础。 二、课程具体内容及基本要求 (一)密码学基础(4学时) 主要包括密码学基本概念,用途和发展历史,介绍古典密码学的一些简单实际应用和初等密码分析技术,从信息论角度分析密码安全。 1. 基本要求 (1)保密学的基本概念; (2)密码体制分类;

(3)古典密码:掌握凯撒密码,维吉尼亚密码等古典密码的原理、实现、应用和攻击; (4)初等密码分析:掌握密码分析的初等方法; 2. 重点、难点 重点:古典密码的应用和安全性分析,离散概率的各种定义和分析方法。 难点:古典密码的安全性分析。 3. 作业及课外学习要求: (1)掌握单钥体制与双钥体制的区别以及双钥体制产生的原因; (2)掌握古典密码中代换密码的工作原理; (3)分析维吉尼亚密码,掌握初等密码分析方法的分类以及分析方法具体细节。 (二)单钥体制——分组密码(2学时) 主要包括分组密码的基本概念、组件;DES与Feistel结构;穷举搜索攻击,差分密码分析和线性密码分析;分组密码的运行模式。 1. 基本要求 (1)熟悉分组密码的基本概念、了解代换和置换等基本组件及分组密码发展现状; (2)熟悉DES算法和Feistel结构; (3)了解分组密码的攻击方法:线性攻击,差分攻击,穷举搜索等; (4)了解分组密码的四种运算模式:ECB,CBC,CFB,OFB; 2. 重点、难点 重点:Feistel结构;DES算法结构和S盒。 难点:Feistel网络结构。 3. 作业及课外学习要求: (1)完成课堂练习; (2)DES算法的编程实现。 (三)双钥密码体制(6学时) 主要包括公钥密码的基本概念和原理,包括单向函数、陷门函数、密码学困难问题、RSA密码体制、Rabin密码体制、ElGamal密码体制及相关安全性分析。 1. 基本要求 (1)掌握公钥密码的基本概念原理,包括单向函数、陷门函数; (2)掌握密码学困难问题的有关概念,包含大整数分解困难问题和离散对数困难问题; (3)掌握Diffle-Hellman密钥交换协议及其安全性分析。

希尔密码黄泉整理

【希尔密码】——加密和解密 首先了解一下希尔密码,它是一种矩阵乘法密码,包括替换密码。每个字母当做26进制数字,A=0,B=1,C=2... ...Z=25 前面很简单,接着一串字母当成N维向量,跟N*N的密钥矩阵相乘,最后结果MOD26. MOD(X,Y)就是算X除以Y的余数,MOD26就是此数除以26得到的余数。 一、加密 需要明文和矩阵密钥 这里假设明文为WANG,密钥为1 2 5 7 先把数字密钥1 2 5 7,在方格里排列: 2 7 1 5 然后把W ANG所对应的数字——A=0,B=1,C=2... ...Z=25 W A N G 220 13 6 带入密钥矩阵 |2 7| |1 5| 根据希尔密码加密算法的公式:XmodY得出密文: 先加密W A |2 7| |22| W=2*22+7*0=44 44mod26=18 根据A=0,B=1,C=2... ...Z=25 得出18 对应的字母是S |1 5| |0| A=1*22+5*0=22 22mod26=22 根据A=0,B=1,C=2... ...Z=25 得出22对应字母是W 接着N G 的加密 |2 7| |13| N=2*13+7*6=82 82mod26对应字母E |1 5| |6| G=1*13+5*6=43, 43mod26=17对应字母R 所以W ANG希尔加密后的密文为SWER

接下来是解密 希尔密码的逆矩阵算法公式为: |A B| =1/(AD-BC)* |D -B| |C D| |-C A| 继续用密文SWER来解明文 密钥矩阵|2 7| |1 5| AD-BC=2*5-1*7=3 (3*X)MOD26=1 则X=9(3*9=27,27-26=1) 那么|2 7| |1 5|逆矩阵为 9*| 5 -7| |-1 2| SWER的矩阵加密后为18,22 4,17 带入逆矩阵公式—— 9*|5 -7| | 18|S= 9*(5*18-7*22)=-576,-576mod26=22对应字母W |-1 2| |22|W=9*(-1*18+2*22)=234, 234mod26=0 对应字母A 由此,SW明文为W A 那ER就不仔细解了,结果为NG 另PS:密文若长,将其两两分开,若密文为奇数,多出一个字母,一般忽略或可以直接填充字母,写成两个进行加密。

现代密码学教程课后部分答案考试比用

第一章 1、1949年,(A )发表题为《保密系统的通信理论》的文章,为密码系统建立了理论基础,从此密码学成了一门科学。 A、Shannon B、Diffie C、Hellman D、Shamir 2、一个密码系统至少由明文、密文、加密算法、解密算法和密钥5部分组成,而其安全性是由(D)决定的。 A、加密算法 B、解密算法 C、加解密算法 D、密钥 3、计算和估计出破译密码系统的计算量下限,利用已有的最好方法破译它的所需要的代价超出了破译者的破译能力(如时间、空间、资金等资源),那么该密码系统的安全性是(B )。 A无条件安全B计算安全C可证明安全D实际安全 4、根据密码分析者所掌握的分析资料的不同,密码分析一般可分为4类:唯密文攻击、已知明文攻击、选择明文攻击、选择密文攻击,其中破译难度最大的是(D )。 A、唯密文攻击 B、已知明文攻击 C、选择明文攻击 D、选择密文攻击 5、1976年,W.Diffie和M.Hellman在密码学的新方向一文中提出了公开密钥密码的思想,从而开创了现代密码学的新领域。 6、密码学的发展过程中,两个质的飞跃分别指1949年香农发表的保密系统的通信理论和公钥密码思想。 7、密码学是研究信息及信息系统安全的科学,密码学又分为密码编码学和密码分析学。 8、一个保密系 统一般是明文、密文、密钥、加密算法、解密算法5部分组成的。 9、密码体制是指实现加密和解密功能的密码方案,从使用密钥策略上,可分为对称和非对称。 10、对称密码体制又称为秘密密钥密码体制,它包括分组密码和序列密码。 第二章 1、字母频率分析法对(B )算法最有效。 A、置换密码 B、单表代换密码 C、多表代换密码 D、序列密码 2、(D)算法抵抗频率分析攻击能力最强,而对已知明文攻击最弱。 A仿射密码B维吉利亚密码C轮转密码D希尔密码 3、重合指数法对(C)算法的破解最有效。 A置换密码B单表代换密码C多表代换密码D序列密码 4、维吉利亚密码是古典密码体制比较有代表性的一种密码,其密码体制采用的是(C )。 A置换密码B单表代换密码C多表代换密码D序列密码 5、在1949年香农发表《保密系统的通信理论》之前,密码学算法主要通过字符间的简单置换和代换实现,一般认为这些密码体制属于传统密码学范畴。 6、传统密码体制主要有两种,分别是指置换密码和代换密码。 7、置换密码又叫换位密码,最常见的置换密码有列置换和周期转置换密码。 8、代换是传统密码体制中最基本的处理技巧,按照一个明文字母是否总是被一个固定的字母代替进行划分,代换密码主要分为两类:单表代换和多表代换密码。 9、一个有6个转轮密码机是一个周期长度为26 的6次方的多表代替密码机械装置。 第四章 1、在( C )年,美国国家标准局把IBM的Tuchman-Meyer方案确定数据加密标准,即DES。 A、1949 B、1972 C、1977 D、2001 2、密码学历史上第一个广泛应用于商用数据保密的密码算法是(B )。 A、AES B、DES C、IDEA D、RC6 3、在DES算法中,如果给定初始密钥K,经子密钥产生的各个子密钥都相同,则称该密钥K为弱密钥,DES算法弱密钥的个数为(B )。

相关主题
文本预览
相关文档 最新文档