段云所信息安全概论第二章密码学概论Word格式.docx

上传人:b****3 文档编号:15697839 上传时间:2022-11-15 格式:DOCX 页数:14 大小:281.14KB
下载 相关 举报
段云所信息安全概论第二章密码学概论Word格式.docx_第1页
第1页 / 共14页
段云所信息安全概论第二章密码学概论Word格式.docx_第2页
第2页 / 共14页
段云所信息安全概论第二章密码学概论Word格式.docx_第3页
第3页 / 共14页
段云所信息安全概论第二章密码学概论Word格式.docx_第4页
第4页 / 共14页
段云所信息安全概论第二章密码学概论Word格式.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

段云所信息安全概论第二章密码学概论Word格式.docx

《段云所信息安全概论第二章密码学概论Word格式.docx》由会员分享,可在线阅读,更多相关《段云所信息安全概论第二章密码学概论Word格式.docx(14页珍藏版)》请在冰豆网上搜索。

段云所信息安全概论第二章密码学概论Word格式.docx

密码系统从原理上可分为两大类,即单密钥系统双密钥系统。

单密钥系统又称为对称密码系统和秘密密钥密码系统,单密钥系统的加密密钥和解密密钥相同,或实质上等同,即从一个易于得出另一个,如图2.1所示。

对明文的加密有两种形式,一种是对明文按字符逐位加密,称之为流密码或序列密码;

另一种是先对明文消息分组,再逐步加密,称之为分组密码。

双密钥系统又称为非对称密码体制和公开密钥密码体制。

双密钥体制有两个密钥,一个是公开的密钥,用K1表示,谁都可以使用;

另一个是私人密钥,用K2表示,只由采用此体制的人自己掌握。

从公开的密钥推不出私人密钥。

如图2.2所示。

双钥密码体制的主要特点

双钥密码体制的主要特点是将加密和解密密钥分开,从而实现任何人都可以给持有私人密钥的人发送秘密消息,即用公开的密钥K1加密消息,发送给持有相应私人密钥K2的人,只有持有私人密钥K2的人才能解密;

而用私人密钥K2加密的消息,任何人都可以用公开的密钥K1解密,此时说明消息来自持有私人密钥的人。

前者可以实现公共网络的保密通信,后者可以实现对消息进行数字签名。

2.2经典密码体制

经典密码体制采用手工或机械操作实现加解密,相对简单。

回顾和研究这些密码的原理和技术,对于理解、设计和分析现代密码仍然具有借鉴的价值。

经典密码大体上可分为三类:

单表代换密码、多表代换密码和多字母代换密码。

2.2.1单表代换密码

在经典密码体制中,最典型的就是替换密码,其原理可以用一个例子来说明:

将字母a,b,c,d,…,w,x,y,z的自然顺序保持不变,但使之与D,E,F,G,…,Z,A,B,C分别对应(即将字母表中的每个字母用其后的第三个字母进行循环替换)。

若明文为student,则对应的密文为VWXGHQW(此时密钥为3)。

这就是凯撒(Kaesar)密码,也称为移位代换密码。

凯撒密码仅有26个可能的密钥,非常的不安全。

如果允许字母表中的字母用任意字母进行替换,即上述密文能够是26个字母的任意排列,则将有26!

或多于4*1026种可能的密钥。

这样的密钥空间甚至对计算机来说穷举搜索密钥也是不现实的。

这里有一个由加密函数组成的“随机”函数置换:

解密函数是如下的一个逆置换:

作为一个练习,读者可以试着解密函数解密下列密文:

由于英文字母中各字母出现的频度早已有人进行过统计,所以根据字母频度表可以很容易对替换密码进行破译。

替换密码是对所有的明文字母都用一个固定的代换进行加密,因而称为单表代换密码。

为了抗击字母频度分析,随后产生了多表代换密码和多字母代换密码。

2.2.2多表代换密码

多表代换密码中最著名的一种密码称为维吉尼亚(Vegenere)密码。

这是一种以移位代换为基础的周期代换密码,m个移位代换表由m个字母组成的密钥字确定(这里假设密钥字中m个字母不同,如果有相同的,则代换的个数是密钥字中不同字母的个数)。

如果密钥字为deceptive,明文wearediscoveredsaveyourself被加密为:

其中,密钥字母a,b,c…,y,z对应数字0,1,……,24,25。

密钥字母d对应数字3,因而明文字母w在密钥字母d的作用下下向后移位3,得到密文字母Z;

明文字母e在密钥字母e的作用下向后移位4得到密文字母i,以此类推。

解密时密文字母在密钥字母的作用下向前移位。

在维吉尼亚密码中,如果密钥字的长度是m,明文中的一个字母能够映成这m个可能的字母中的一个。

容易看出维吉尼亚密码中长度为m的可能密钥字的个数是26m,甚至对于一个较小的m值,密钥空间超过了1.1*107,这个空间已经足够阻止手工穷举密钥搜索。

为方便记忆,维吉尼亚密码的密钥字常常取英文中的一个单词、一个句子或一段文章。

因此,维吉尼亚密码的明文和密钥字母频率分布相同,任然能够使用统计技术进行分析。

要抗击这样的密码分析,只有选择与明文长度相同并且与之没有统计关系的密钥内容。

1918年美国电报电话公司的G.W.Vemam提出这样的密码系统:

明文英文字母编成5比特二元数字,称之为五单元波多代码(BaudotCode),选择随机二元数字流作为密钥,加密通过执行明文和密钥的逐步异或操作,产生密文,可以简单的表示为:

Ci=pi⊕ki

其中,pi表示明文的第i个二元数字,ki表示密钥的第i个二元数字,⊕表示异或操作。

解密仅需执行相同的逐步异或操作:

pi=Ci⊕ki

Vemam密码系统的密钥若不重复使用,就能得到一次一密密码。

若密钥有重复,尽管使用长密钥增加了密码分析的难度,但只要有了足够的密文,使用已知的或可能的明文序列,或二者结合也能够破译。

2.2.3多字母代换密码

前面介绍的密码都是以单个字母作为代换的对象,对多于一个字母进行代换,就是多字母代换密码。

它的优点是容易将字母的频度隐藏,从而抗击统计分析。

首先介绍Hill密码,它是数学家LesterHill于1929年研制的。

虽然这类密码由于加密操作复杂而未能广泛应用,但仍在很大程度上推进了经典密码学的研究。

Hill密码将明文分成m个字母一组的明文组,若最后一组不够m个字母就用字母不足,每组用m个密文字母代换,这种代换由m个线性方程决定,其中字母a,b,…,y,z分别用数字0,1,…,24,25表示。

C1=(k11p1+k12p2+……+k1mpm)mod26

C2=(k21p1+k22p2+……+k2mpm)mod26

……

C3=(km1p1+km2p2+……+kmmpm)mod26

若m=3,该系统可以描述如下:

C1=(k11p1+k12p2+k13p3)mod26

C2=(k21p1+k22p2+k23p3)mod26

C3=(k31p1+k32p2+k33p3)mod26

可用列向量和矩阵表示为

或C=KP

其中,C和P分别是密文和明文向量,K是密钥矩阵,操作要执行模26运算。

例如,用密钥

来加密明文july。

将明文分成两个组ju和ly,分别为(9,20)和(11,24),计算如下:

因此,july的加密结果为DELW。

为了解密,必须先计算密钥矩阵K的逆矩阵

然后计算

最后,得到正确的明文july。

当Hill密码的密钥矩阵为一置换矩阵时,相应的密码就是置换密码,也称为换位密码。

它对明文m长字母组中的字母位置重新排列,而不改变明文字母。

在置换密码系统中,使用字母比使用数字更方便,密钥使用置换而不使用矩阵。

如m=6,用密钥置换

对明文shesellsseashellsbytheseashore进行加密。

首先将明文分成6个字母长的明文组

shesel|lsseas|hellsb|ythese|ashore

然后将每个6字母长的明文组按密钥置换K重新排列如下:

EESLSH|SALSES|LSHBLE|HSYEET|HRAEOS

所以密文是EESLSHSALSESLSHBLHSYEETHRAEOS。

密文能利用密钥置换的逆置换

2.2.4转轮密码

使用密码机可以使前面介绍的密码系统更复杂、更安全,这些机器也可以加速密码系统的加/解密过程,同时提供大量可选择的密钥。

转轮密码是一组转轮或接线密码轮所组成的机器,用于实现长周期的多表代换密码,它是经典密码最杰出的代表,曾今被广泛应用于军事和外交保密通信。

最有名的的两类密码机是Enigma和Hagelin。

Enigma密码机由德国ArthurScherbius发明,在二次世界大战中,曾经装备于德军。

Hagelin密码机由瑞典BorisCaesarWilhelmHagelin发明,二次大战中,HagelinC-36曾今装备于法军;

HagelinC-40,即M-209转换机,曾经装备于美军,一直沿用到50年代。

另外,二次世界大战中,美国的SIGAMA和日本的RED和PURPLE都是转轮密码机。

2.3密码分析

 

对通信双方而言,通信的一方将信息加密后发送给另一方,是为了使攻击者即使得到密文也无法读懂。

对于攻击者来说,在不知道密钥的情况下,要想读懂密文,就要根据他的知识以及掌握的情报来进行密码分析。

密码分析是研究密钥未知的情况下恢复明文的科学。

通常假设攻击者知道正在使用的密码体制,当然,如果分析者不知道正在使用的密码体制,分析起来将更加困难。

成功的密码分析可能直接恢复明文或密钥,也可能找出保密系统的弱点来恢复明文或密钥。

根据攻击者具有的知识和掌握的情报,可以将密码分析分为以下几种类型:

(1)只有密文的攻击。

攻击者有一些密文,它们是使用同一加密算法和同一密钥加密的。

(2)已知明文的攻击。

攻击者不仅得到一些密文,而且能得到这些密文对应的明文。

(3)选择明文的攻击。

攻击者不仅得到一些密文和对应明文,而且能选择用于加密的明文。

(4)选择密文的攻击。

攻击者可以选择不同的密文来解密,并能得到解密后的明文。

在每种情况下,攻击者的目标是确定正在使用的密钥或待破译密文所对应的明文。

上述几种攻击方式是以强度递增排列的,只有密文的攻击是最容易防护的攻击。

然而,目前最常见的是已知明文和选择明文的攻击。

事实上,攻击者欲得到一些明、密文对或加密一些选择好的明文并不困难,攻击者可以知道很多信息具有标准的头部和尾部。

一般来说,密码系统应该经得起已知明文的攻击。

密码系统的安全依赖于破译该系统的困难程度。

如果破译一个密码系统的费用超过了被加密数据本身的价值,或者破译所需的时间超过了被加密数据所需保密的时间,或者由一个密码系统加密的数据少于破译该算法所需的数据量,就可以认为这个系统是安全的。

如果攻击者无论得到多少密文,都没有足够的信息去恢复明文,那么该密码系统就是无条件安全的。

在理论上,只有一次一密的系统才能真正实现这一点。

除此之外的系统都至少可以使用只有密文的攻击来破译。

设计密码系统必须至少满足下面的一个准则:

(1)破译该密码的成本超过被加密信息的价值;

(2)破译该密码的时间超过被加密信息的生命周期。

如果一个密码系统能够满足上述准则,就认为该系统在计算上是安全的。

然而困难之处就在于难以估计成功破译密码的努力有多大。

只能使设计的密码系统抗击已知的攻击,尤其要能抗击穷举密钥攻击,即强力攻击。

穷举密钥攻击方法是对截获的密文用所有可能的密钥解密,直到得到有意义的明文为止。

从理论上来说,除了一次一密密码系统,其它任何密码系统都可以用穷举密钥攻击法破解,但实际上,任何一个实用的密码设计都会使这一方法在计算上失去可行性。

密码分析方法可以分为确定性和统计性两类。

确定性分析法是利用若干已知数学关系式表示出所求的未知量,这种关系是从加密和解密算法得来的,统计分析法则是利用明文的已知统计

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1