第2章古典码学

上传人:仙*** 文档编号:46525499 上传时间:2021-12-13 格式:PPT 页数:37 大小:292.50KB
收藏 版权申诉 举报 下载
第2章古典码学_第1页
第1页 / 共37页
第2章古典码学_第2页
第2页 / 共37页
第2章古典码学_第3页
第3页 / 共37页
资源描述:

《第2章古典码学》由会员分享,可在线阅读,更多相关《第2章古典码学(37页珍藏版)》请在装配图网上搜索。

1、第2章 古典密码学2.1古典密码学体制2.1.1定义和分类 一个密码系统(一个密码系统(Cryptosystem)是一个五元组)是一个五元组(P,C,K,E,D)满足条件:满足条件:(1)P是可能明文的有限集;(明文空间)是可能明文的有限集;(明文空间)(2)C是可能密文的有限集;(密文空间)是可能密文的有限集;(密文空间)(3)K是一切可能密钥构成的有限集;(密钥空间)是一切可能密钥构成的有限集;(密钥空间)(4)任意)任意 ,有一个加密算法有一个加密算法 和相应的解密和相应的解密算法算法 ,使得,使得 和和 分别为加密、分别为加密、解密函数,满足解密函数,满足 。 Kk EekDdkCPe

2、k:PCdk:Pxxxedkk,)(这里xxAlice加密解密密钥源安全信道窃听者OscarkyBob实用密码体系每个加密函数和每个解密函数应当能有效地被计算。 即使看到密文串y,窃听者Oscar确定所用的密钥k或明文串x是不可行的。已知密文串y的情况下试图计算密钥k的过程称为密码分析密码分析(Cryptanalysis)。 古典密码学分类 代换(Substitution)密码和置换(Permutation)密码 2.1.2 代换密码 将明文字母表抽象地表示为一个整数集 。在加密时通常将明文消息划分成长为L的消息单元,称为明文组,以m表示,如 。 m也称作L报文,它可以看作是定义在 上的随机变

3、量 这时明文空间 。密文字母表抽象表示成整数集 。密文单元或组为 。c是定义在 上的随机变量。密文空间 。一般地,明文和密文由同一字母表构成。代换密码可以看作是从 到 的映射。L1时,称作单字母代换,也称作流密码(Stream cipher)。L1时,称作多字母代换,亦称分组密码(Block cipher)。 1, 1 , 0qZq10 ,),(110LlZqmmmmmlLLqZ10 ,),(110LlZmmmmmLZZZZqlLqqqLq个LqZP 1, 1 , 0qZq10 ,)(,(110LlZcLccccqlL个)LqZLqZC LqZLqZ1. 单表代换密码单表代换密码 单表代换密码

4、是对明文的所有字母都用一个固定的明文字母表到密文字母表的映射,即 。令明文 ,则相应地密文为 。 qqZZf:10mmm )()()(1010mfmfccmec 几类简单的单表代换密码 移位密码(Shift Cipher)设 定义 且 ,250,26kZKCP对26mod)(kxxek26,26mod)(Zyxkyydk例例21 恺撒(Caesar)密码是k3的情况。即通过简单的向右移动源字母表3个字母则形成如下代换字母表 若明文为: please confirm receipt则密文为:SOHDVE FRQILUP UHFHLSW :abcdefghijklm:DEFGHIJKLMNOPno

5、pqrstuvwxyzQRSTUVWXYZABC 安全性分析 移位密码是极不安全的(mod26),因为它可被穷举密钥搜索所分析:仅有26个可能的密钥,尝试每一个可能的加密规则,直到一个有意义的明文串被获得。平均地说,一个明文在尝试26/213解密规则后将显现出来。 替换密码 设 ,密钥空间K由所有可能的26个符号0,1,.,25的置换组成。对每一个置换 ,定义 则 ,其中 的逆置换。 26ZCP)()(xxe)()(1yyd是1 例例2.2 密钥句子为:the message was transmitted an hour ago 。源字母表为: a b c d e f g h i j k l

6、 m n o p q r s t u v w x y z 代换字母表为:THEMSAGWRNIDOUBCFJKLPQVXYZ明文:please confirm receipt 密文:CDSTKS EBUARJO JSESRCL 安全性分析 替换密码的密钥是由26个字母的置换组成。这些置换的数目是26!,超过,一个非常大的数。这样即使对现代计算机来说,穷举密钥搜索也是不可行的。然而,以后我们会看到,替换密码容易被其他的分析方法所破译。 仿射密码 设 ,且 对 ,定义 且 26ZCP1)26,gcd(:),(2626aZZbaKKbak),(26mod)(baxxe26mod)()(1byaydk

7、),(26Zyx例例2.3 假定 , ,加密函数为 ,则相应的解密函数为 ,其中所有的运算都是在 中。容易验证 。 加密明文hot。 首先转化这三个字母分别为数字7,14和19。然后加密密文串为AGX。 )3 , 7(k1526mod7137)(xxek1915)3(15)(yyydk26Zxxxxdxedkkk194519)37(15)37()();26(mod6230333191477GXA 多表代换密码 多表代换密码是以一系列(两个以上)代换表依次对明文消息的字母进行代换的加密方法。 令明文字母表为 , 为代换序列,明文字母序列 ,则相应的密文字母序列为 。qZ),(21fff 21xx

8、x )()()()(2211xfxfxfxeck 若f是非周期的无限序列,则相应的密码称为非周期多表代换密码。这类密码,对每个明文字母都采用不同的代换表(或密钥)进行加密,称作一次一密密码(One-time pad cipher),这是一种理论上唯一不可破的密码 。 有名的多表代换密码有Vigenre、Beaufort、Running-Key、Vernam和转轮机(Rotor machine)等密码。 Vigenre密码密码 设m是某固定的正整数,定义 ,对一个密钥 ,我们定义 且 所有的运算都在 中。 mZKCP)(26),(21mkkkk),(),(221121mmmkkxkxkxxxxe

9、),(),(221121mmmkkykykyyyyd26Z例例 2.4 设m6,且密钥字是CIPHER,这相应于密钥。假定明文串是 this cryptosystem is not secure 首先将明文串转化为数字串,按6个一组分段,然后模26“加”上密钥字得:相应的密文串将是:VPXZGIAXIVWPUBTTMJPWIZITWZT解密过程与加密过程类似,不同的只是进行模26减,而不是模26加。 86252315211747158217218871915222182301747158224181419152491219191211747158218812419181982582215174

10、715822418191413192522158241720 多字母代换密码(Polygram substitution cipher)Hill 密码密码 设m是某个固定的正整数, ,又设 ;对任意 ,定义 , 则 。 其中所有的运算都是在 中进行。 mZCP)(2626ZmmK可逆阵,Kk xkxek)(1)( ykydk26Z 例例 2.5 假定密钥是,则。现在我们加密明文july分为两个明文组(9,20)(相应于ju)和(11,24)(相应于ly)。计算如下: 因此,july的加密是DELW。 )4 , 3()14072,6099(73811)20, 9( 2.1.3置换密码(Permu

11、tation Cipher) 设m是某个固定的整数。 ,且由所有 的置换组成。对一个密钥 (即一个置换),定义 , 其中, 。 mZCP)(26m, 2 , 1),(),()()2()1(21mmxxxxxxe),(),()()2()1(21111mmyyyyyyd的逆置换是1例例 2.6 假定m6,密钥是以下置换 : ; 则逆置换 为: 。 给出明文 shesellsseashellsbytheseashore. 首先把明文分为6个字母一组: shesel lsseas hellsb ythese ashore . 每六个字母按重排,得密文: EESLSHSALSESLSHBLEHSYEET

12、HRAEOS 用 类似地解密。 24615365432114251636543211 安全性分析 Hill密码解密等价于用逆置换 的置换密码解密。 122 古典密码体制分析 Kerckhoff假设:攻击方知道所用的密码系统。 简单的单表代换密码,如移位密码,仅统计标出最高频度字母再与明文字母表字母对应决定出移位量,就差不多得到正确解了。也很容易用穷举密钥搜索来破译。 一般的仿射密码,多考虑几个密文字母统计表与明文字母统计表的匹配关系也不难解出。 结论:一个密码系统是安全的一个必要条件是密钥空间必须足够大,使得穷举密钥搜索破译是不可行的。 唯密文攻击法分析单表和多表代换密码是可行的。 但用唯密文

13、攻击法分析多字母代换密码如Hill密码是比较困难的。分析多字母代换多用已知明文攻击法。 2.2.1 单表代换密码分析 例例 2.7 假设从仿射密码获得的密文为:FMXVEDKAPHFERBNDKRXRSREFMORUDSDKDVSHVUFEDKAPRKDLYEVLRHHRH 仅有57个密文字母,但足够分析仿射密码。最高频的密文字母是:R(8次),D(6次),E,H,K(各五次),F,S,V(各四次)。开始,我们可以假定R是e的加密且D是t的加密,因为e和t分别是两个最常见的字母。数值化后,我们有 。回忆加密函数 。所以得到两个含两个未知量的线性方程组: 表表2.3 26个英文字母的概率分布个英

14、文字母的概率分布字母概率字母概率A0.082N0.067B0.015O0.075C0.028P0.019D0.043Q0.001E0.127R0.060F0.022S0.063G0.020T0.091H0.061U0.028I0.070V0.010J0.002W0.023K0.008X0.001L0.040Y0.020M0.024Z0.0013)19(17)4(kkee且baxxek)(319174baba 这个系统有唯一的解 。但这是一个非法的密钥,因为 。所以我们假设有误。 我们下一个猜想可能是R是e的加密,E是t的加密。得 ,又是不可能的。继续假定R是e的加密且K是t的加密。这产生了 ,

15、至少是一个合法的密钥。剩下的事是计算相应于k(3,5)的解密函数,然后解密密文看是否得到了有意义的英文串。容易证明这是一个有效的密钥。 最后的密文是: algorithms are quite general definitions of arithmetic processes )(19, 626Zba12)26,gcd(a8a5, 3ba2.2.2 多表代换密码分析 分析Vigenre密码的方法: Kasiski测试法 若用给定的m个密钥表周期地对明文字母加密,则当明文中有两个相同字母组在明文序列中间隔的字母数为m的倍数时,这两个明文字母组对应的密文字母组必相同。但反过来,若密文中出现两个

16、相同的字母组,它们所对应的明文字母组未必相同,但相同的可能性很大。如果我们将密文中相同的字母组找出来,并对其相同字母数综合研究,找出它们的相同字母数的最大公因子,就有可能提取出有关密钥字的长度m的信息。 例子: 明文:REQUESTS ADDITIONAL TEST 密钥:TELEXTEL EXTELEXTEL EXTE密钥:CAVKTBLT EUQWSWJGEA LTBL一个给定密文包含下列重复的序列,且有距离:因为3是出现最频繁的因子,所以密文的周期最有可能是3。 字母序列距离PQA150=252 3RET42=723FRT10=25ROPY81=34DER57=193RUN117=133

17、2 重合指数法(Coincidence Index) 设一门语言由n个字母构成,每个字母发生的概率为 ,则重合指数是指其中两个随机元素相同的概率,记为 。 判断文本是用单表还是用多表代换加密。 提供对两个不同密文的洞察力 。 nipi1niipCI12niiiLLxxCI1) 1(/ ) 1( Chi 测试测试 比较两个频率分布 ,决定是否同样或不同的代换被采用 简化多表代换为单表代换 niiiqp1例:明文:EXECUTE THESE COMMANDS密钥:RADIORA DIORA DIORADIO密文:VXHKIKE WPSJE FWADAQLG VKJDOVVRVKTETYFULVDJ

18、R0A9D12I17O23RVKJDAXEEADHWFQIKPWLOISAG 例例2.8 在相距很短的时间间隔内我们收到了两段密文: 密文1:k o o m m a c o m o q e g l x x m q c c k u e y f c u ry l y l i g z s x c z v b c k m y o p n p o g d g i a zt x d d i a k n v o m x h i e m r d e z v x b m z r n lz a y q i q x g k k k p n e v h o v v b k k t c s s e pk g d h x

19、 y v j m r d k b c j u e f m a k n t d r x b ie m r d p r r j b x f q n e m x d r l b c j h p z t v vi x y e t n i i a w d r g n o m r z r r e i k i o x r us x c r e t v密文 2:z a o z y g y u k n d w p i o u o r i y r h h b z x r ce a y v x u v r x k c m a x s t x s e p b r x c s 1 r uk v b x t g z u

20、g g d w h x m x c s x b i k t n s l r jz h b x m s p u n g z r g k u d x n a u f c m r z x j ry w y m i (1) 假定两段文本的确是用同样方式加密的。 (2)采用Kasiski测试 确认是用多表代换加密(3)转化多表代换的密文为某个单个的单表代换加密的密文 (4)用一单表代换密码的解密方法解密这段文本 0421. 0)(1CCI0445. 0)(2CCI2.2.3 对Hill密码的已知明文分析 例例 2.9 明文friday是用Hill 密码加密的,m=2,得到密文POCFKU。 则有 , , 。 从最初两个明文对,我们得到矩阵方程 ,容易计算 , 所以 。 可用第三个明密文对验证。 )16,15()17, 5(ke)5, 2()3, 8(ke)20,10()24, 0(kek36175521615152193617513819752161515219k小结 (1)本章简要介绍了几种有代表性的古典密码体制及对这些体制的一些破译方法,用来说明设计和分析密码的基本方法。 (2)代换和置换方法是增强密码安全性的两个基本手段。 (3)详细的叙述Kasiski测试法、重合指数法和Chi测试法的具体操作。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!