第02章-1-密码学理论基础_第1页
第02章-1-密码学理论基础_第2页
第02章-1-密码学理论基础_第3页
第02章-1-密码学理论基础_第4页
第02章-1-密码学理论基础_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2讲

密码学基础案例:莫尔斯电码里的爱情

早已被新科技所取代的莫尔斯密码,却在中国的互联网世界里演绎了一段费尽周折的爱情猜谜传奇。一男子向一女子表白,女子却给了一段莫尔斯密码,以及很少的提示,并表示,破译这个密码,才答应和他约会。男子死活不得求解,又在百度贴吧里将密码贴出以求助网友。电码如下:“****-/*----/----*/****-/****-/*----/---**/*----/****-/*----/-****/***--/****-/*----/----*/**---/-****/**---/**---/***--/--***/****-/”

“她唯一给我的提示就是这个是5层加密的密码,也就是说要破解5层密码才是答案。最终语言是英语。

”网友贴出了莫尔斯密码对照表,然后发现相应密码对应的数字组合和英文字母组合分别是:“4194418141634192622374”、“daiddahadafcdaibfbbcgd”网友“片羿天使”将莫尔斯密码对应的数字“4194418141634192622374”转换成了手机键盘字母,以41为例,它对应的就是传统手机键盘上的“4”的第一个字母,“94”则是“9”的第4个字母。这样片羿天使得到了第二步的答案:“GZGTGOGXNCS”。片羿天使说“因为QWE的格式是被世人所认可的,也就有可能成为密码的码表。码表QWE=ABC依次类推。”按照这样的次序,上面的来自于手机键盘的字母,就转换到了第三步答案:“OTOEOIOUYVL”。案例:莫尔斯电码里的爱情

在第四步中,片羿天使用了包括凯撒、乘法等等方法,对第三步几乎可以看出来的答案进行了进一步的解码,最后发现只有栅栏密码才能读得通。片羿天使将这组字母分成了“OTOEOI”和“OUYVL”两排,然后对插重组得到第四步的字母排列:“OOTUOYEVOLI”。第五步于是变得最为简单起来,那便是将“OOTUOYEVOLI”倒序排列,即“ILOVEYOUTOO”。案例:莫尔斯电码里的爱情

1栅栏密码所谓栅栏密码,就是把要加密的明文分成N个一组,然后把每组的第1个字连起来,形成一段无规律的话。不过栅栏密码本身有一个潜规则,就是组成栅栏的字母一般不会太多。(一般不超过30个,也就是一、两句话)此密码一般适用于较短的密码,原理是字母的错位。

[例:iiaundysoitssnyaintt]操作步骤如下:thislittlechildisfunny(原句)

thislittlechildisfunny(去掉空格)tiltlcidsunhsitehlifny(上下拆开)

tiltlcidsunhsitehlifny(合并)破译时只要按照相反的步骤来就行了。当用中文的汉语拼音做栅栏密码时十分有趣,可以选择用声母做前排,韵母做后排。例如:zhonghuarenmingongheguo(原句)

zhonghuarenmingongheguo(去掉空格)zhhrmghgonguaeninongeuo(声母韵母)zhinongghonguahreengmuo(上下或左右拆开)zhhrmghgonguaeninongeuozhinongghonguahreengmuo(合并)2栏栅栏密码解法一般比较常见的是2栏的栅栏密码。比如明文:THEREISACIPHER去掉空格后变为:THEREISACIPHER两个一组,得到:THEREISACIPHER先取出第一个字母:TEESCPE再取出第二个字母:HRIAIHR连在一起就是:TEESCPEHRIAIHR还原为所需密码。而解密的时候,我们先把密文从中间分开,变为两行:TEESCPEHRIAIHR再按上下上下的顺序组合起来:THEREISACIPHER分出空格,就可以得到原文了:THEREISACIPHER多栏栅栏密码解法是所有密码都分为两栏,比如:明文:THEREISACIPHER七个一组:THEREISACIPHER抽取字母:TAHCEIRPEHIESR组合得到密码:TAHCEIRPEHIESR那么这时候就无法再按照2栏的方法来解了1分析解码这样,我们可以通过分析密码的字母数来解出密码...比如:TAHCEIRPEHIESR一共有14个字母,可能是2栏或者7栏...尝试2栏...失败尝试7栏...成功2替换密码替代密码是指先建立一个替换表,加密时将需要加密的明文依次通过查表,替换为相应的字符,明文字符被逐个替换后,生成无任何意义的字符串,即密文,替代密码的密钥就是其替换表。根据密码算法加解密时使用替换表多少的不同,替代密码又可分为单表替代密码和多表替代密码。例;ZJRZJRNOBR,WRHRANWBCAOXRUOJUR,DOWBCIBANNJNJHBAUBA

其破译步骤为:1.根据被译文段的格式、断句、字符的长短、字符的种类数目来判断密码的语言,这也是破译所有密码所必不可少的第一环节。一般中文的密码以2-5个字符居多,而英文则不会超过15个,下文讨论英文密码。

2.数出字符使用的频率并纪录,根据字符的频率可以大致做出判断。在英文中以字母e出现的最多,其次依次是aoidhnrstuycfglmwbkpqxz。

3.英文中以单词the出现的次数最多。可以根据这个原理察看是否有重复多次的三个字母组合的词,便基本可以判断t、h、e这三个字母了。

4.接下来便可以将t、h、e三个字母带入,观察哪些词可以猜测出来,比如已知t.ee(未知字母用.表示)就可以判断.为r了,因为常用的词汇中,只有tree满足结构。

以此方法反复带入并不断检验前面的推理,很快就能够解决整个密码。

注意:此种密码通常用各种符号来代替英文字母,达到混淆的目的。

ZJRZJRNOBR,WRHRANWBCAOXRUOJUR,DOWBCIBANNJNJHBAUBA因为每个单词不超过6个字母,所以能够初步判断是汉语(中文汉语拼音最多是6个字母)。

可以看出,密文虽短,但其中出现了多次重复单词:ZJR、WBC、NJ

字母在单词中的位置都相对固定,十分符合汉语的特点,所以基本就能够确定是汉语了。

短文中出现得最多的字母R(共7次)。它都是出现在单词的最后一个字母的位置上。汉语拼音中能作为最后一个字母的、常用的有哪些呢?

a、e、i、o、u、n、g

看“UR”这个词,由于n和g通常不能出现在两个字母的词中,所以首先把n和g排除了。

因此R只可能是a、e、i、o、u中的一个以此类推,我们把出现在末尾的字母的所有可能性都找出来:

R:a、e、i、o、u(末尾(排除一切不能出现在末尾的字母))

N:g、n(开头和末尾)

C:a、e、i、o、u、g、n(末尾)

O:a、e、i、o、u(中间和末尾)

J:a、e、i、o、u(中间和末尾)

A:n(开头、中间、末尾都有)

因此判断A就是n,所以N就是g

整理一下ZJRZJRgOBR,WRHRngWBCnOXRUOJUR,DOWBCIBnggJgJHBnUrng*g*这个词想到什么?很明显是gege(哥哥)嘛。所以J是eZeRZeRgOBR,WRHRngWBCnOXRUOeUR,DOWBCIBnggegeHBnUrn哥哥都有了,“*e**e*”会是什么?很明显是meimei(妹妹)。

已知的替换meimeigOBi,WiHingWBCnOXiUOeUi,DOWBCIBnggegeHBnUin

剩下看O,i、e已经名花有主了,O只能是a、o、u这三个中的一个。

“nO”O不能是o

“UOe”O不能是a

所以O只能是u

meimeiguBi,WiHingWBCnuXiUueUi,DuWBCIBnggegeHBnUin

继续解出来的就是:meimeiguai,yidingyaonulixuexi,buyaoranggegedanxin

3恺撒密码Caesar'scode它是一种代换密码。据说凯撒是率先使用加密函的古代将领之一,因此这种加密方法被称为恺撒密码。凯撒密码作为一种最为古老的对称加密体制,在古罗马的时候都已经很流行。基本思想是:通过把字母移动一定的位数来实现加密和解密。明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推X将变成A,Y变成B,Z变成C。由此可见,位数就是凯撒密码加密和解密的密钥。凯撒密表ABCDEFGHIJKLMNOPQRSTUVWXYZ

ZYXWVUTSRQPONMLKJIHGFEDCBA也可以将原代码推后几个字母

比如Howareyou?这句话推后1个字母后就是Ipxbsfzpv?而推后2个就是Jqyctgaqw?

判断原代码究竟推后了几位,可以利用字符使用频率最多的是E的原则来判断

4维吉尼亚密码Vigenèrecipher

这种密码首先引入了密钥的概念。看似复杂,但实际上就是恺撒密码的延展。将26个恺撒密表合成一个,根据密钥来决定用哪一行的密表来进行替换。以此来对抗字频统计。密钥为man,原文为Iamrich.(见下表)则原文中的I对应的密文为M行(第一个密码为M的那行)的U,A对应A行的A,M对应N行的Z,R对应M行的D……以此类推。历史上以维吉尼亚密表为基础又演变出很多种加密方法,其基本元素无非是密表与密钥,并一直沿用到二战以后的初级电子密码机上。

ABCDEFGHIJKLMNOPQRSTUVWXYZ

BCDEFGHIJKLMNOPQRSTUVWXYZA

CDEFGHIJKLMNOPQRSTUVWXYZAB

DEFGHIJKLMNOPQRSTUVWXYZABC

EFGHIJKLMNOPQRSTUVWXYZAABC

FGHIJKLMNOPQRSTUVWXYZAABCD

GHIJKLMNOPQRSTUVWXYZAABCDE

HIJKLMNOPQRSTUVWXYZAABCDEF

IJKLMNOPQRSTUVWXYZAABCDEFG

JKLMNOPQRSTUVWXYZABCDEFGHI

KLMNOPQRSTUVWXYZABCDEFGHIJ

LMNOPQRSTUVWXYZABCDEFGHIJK

MNOPQRSTUVWXYZABCDEFGHIJKL

NOPQRSTUVWXYZABCDEFGHIJKLM

OPQRSTUVWXYZABCDEFGHIJKLMN

PQRSTUVWXYZABCDEFGHIJKLMNO

QRSTUVWXYZABCDEFGHIJKLMNOP

RSTUVWXYZABCDEFGHIJKLMNOPQ

STUVWXYZABCDEFGHIJKLMNOPQR

TUVWXYZABCDEFGHIJKLMNOPQRS

UVWXYZABCDEFGHIJKLMNOPQRST

VWXYZABCDEFGHIJKLMNOPQRSTU

WXYZABCDEFGHIJKLMNOPQRSTUV

XYZABCDEFGHIJKLMNOPQRSTUVW

YZABCDEFGHIJKLMNOPQRSTUVWX

ZABCDEFGHIJKLMNOPQRSTUVWXY密码方阵5字母组合例:Iamastude.Nthowaboutyou?]

这种密码乍一看不知所云,只要有一定的语言水平就能推理出来。

例如这句话:Todayisanicedayletusplayingoutside.

乍一看像是罗马音,先组合:Todayisanicedayletusplayingoutside.

再整理:Todayisaniceday.Letusplayingoutside.密码学的发展历史(1)自人类社会出现战争便产生了密码

Phaistos圆盘,一种直径约为160mm的Cretan-Mnoan粘土圆盘,始于公元前17世纪。表面有明显字间空格的字母,至今还没有破解。JuliusCaesar发明了凯撒密码密码学的发展历史(2)1834年,伦敦大学的实验物理学教授惠斯顿发明了电机,这是通信向机械化、电气化跃进的开始,也为密码通信采用在线加密技术提供了前提条件。1920年,美国电报电话公司的弗纳姆发明了弗纳姆密码。其原理是利用电传打字机的五单位码与密钥字母进行模2相加。密码学的发展历史(3)两次世界大战大大促进了密码学的发展。二战中美国陆军和海军使用的条形密码设备M-138-T4。根据1914年ParkerHitt的提议而设计。25个可选取的纸条按照预先编排的顺序编号和使用,主要用于低级的军事通信。Kryha密码机大约在1926年由AlexandervoKryha发明。这是一个多表加密设备,密钥长度为442,周期固定。一个由数量不等的齿的轮子引导密文轮不规则运动。密码学的发展历史(4)两次世界大战大大促进了密码学的发展。转轮密码机ENIGMA,由ArthurScherbius于1919年发明,面板前有灯泡和插接板;4轮ENIGMA在1942年装备德国海军,英国从1942年2月到12月都没能解读德国潜艇的信号。英国的TYPEX打字密码机,是德国3轮ENIGMA的改进型密码机。它在英国通信中使用广泛,且在破译密钥后帮助破解德国信号。密码学的发展历史(5)1949年香农发表了一篇题为《保密系统的通信理论》的著名论文,该文首先将信息论引入了密码,从而把已有数千年历史的密码学推向了科学的轨道,奠定了密码学的理论基础。1976年,美国密码学家W.Diffie和M.Hellman在一篇题为《密码学的新方向》一文中提出了一个崭新的思想,不仅加密算法本身可以公开,甚至加密用的密钥也可以公开。1977年美国国家标准局颁布了数据加密标准DES2001年11月26日,正式颁布AES为美国国家标准。2.2

基本概念什么是密码学密码学是关于加密和解密变换的一门科学,是保护数据和信息的有力武器。密码是什么?密码就是变换。(信息代码变换、数据电平变换)变换是什么?变换是一种算法实现过程。谁来做变换?变换可以由硬件和软件实现。(人、器件部件、计算机)2.2

基本概念什么是密码学密码学是研究密码系统或通信安全的一门学科,分为密码编码学和密码分析学。密码编码学是使得消息保密的学科密码分析学实际要研究加密消息破译的学科Shannon模型X,明文(plain-text):作为加密输入的原始信息。Y,密文(cipher-text):对明文变换的结果。E,加密(encrypt):是一组含有参数的变换。D,解密(decrypt):加密的逆变换。Z,密钥(key):是参与加密解密变换的参数。密码系统(Cryptosystem)定义:(密码体制)它是一个五元组(P,C,K,E,D)满足条件:(1)P是可能明文的有限集;(明文空间)(2)C是可能密文的有限集;(密文空间)(3)K是一切可能密钥构成的有限集;(密钥空间)*(4)任意,有一个加密算法和相应的解密算法,使得和分别为加密解密函 数,满足。密码体制的分类几种不同的分类标准按操作方式进行分类操作方式:是明文变换成密文的方法。替代操作、置换操作、复合操作。按照使用密钥的数量进行分类对称密钥(单密钥)。公开密钥(双密钥)。按照对明文的处理方法进行分类流密码。分组密码。按加解密采用的密钥不同按密码出现的时间不同古典密码现代密码密码学(Cryptology)(Symmetriccipher)(Asymmetriccipher)分组密码流密码公钥密码按加密的方式对称密码非对称密码(Classicalcipher)(Moderncipher)(Blockcipher)(Streamcipher)(Public-Keycipher)密码系统的分类(2)根据明文和密文的处理方式分类分组密码体制(BlockCipher)

设M为明文,分组密码将M划分为一系列明文块Mi,通常每块包含若干字符,并且对每一块Mi都用同一个密钥Ke进行加密。M=(M1,M2,…,Mn),C=(C1,C2,

…,Cn,),其中Ci=E(Mi,Ke),i=1,2…,n。序列密码体制(StreamCipher)将明文和密钥都划分为位(bit)或字符的序列,并且对明文序列中的每一位或字符都用密钥序列中对应的分量来加密。M=(M1,M2,…,Mn),Ke=(ke1,ke2,…,ken),C=(C1,C2,…,Cn),其中Ci=E(mi,kei),i=1,2,…,n。密码系统的分类(3)根据加密算法是否变化分类设E为加密算法,K0,K1,…,Kn,为密钥,M0,M1,…,Mn为明文,C为密文固定算法密码体制C0=E(M0,K0),C1=E(M1,K1),...,Cn=E(Mn,Kn)变化算法密码体制C0=E1(M0,K0),C1=E2(M1,K1),...,Cn=En(Mn,Kn)密码分析

截收者在不知道解密密钥及通信者所采用的加密体制的细节条件下,对密文进行分析,试图获取机密信息。研究分析解密规律的科学称作密码分析学。密码分析在外交、军事、公安、商业等方面都具有重要作用,也是研究历史、考古、古语言学和古乐理论的重要手段之一。密码分析

密码设计和密码分析是共生的、又是互逆的,两者密切有关但追求的目标相反。两者解决问题的途径有很大差别

密码设计是利用数学来构造密码密码分析除了依靠数学、工程背景、语言学等知识外,还要靠经验、统计、测试、眼力、直觉判断能力……,有时还靠点运气。密码分析方法—分析法

确定性分析法

利用一个或几个已知量(比如,已知密文或明文-密文对)用数学关系式表示出所求未知量(如密钥等)。已知量和未知量的关系视加密和解密算法而定,寻求这种关系是确定性分析法的关键步骤。

统计分析法

利用明文的已知统计规律进行破译的方法。密码破译者对截收的密文进行统计分析,总结出其间的统计规律,并与明文的统计规律进行对照比较,从中提取出明文和密文之间的对应或变换信息。密码分析方法--穷举破译法

对截收的密报依次用各种可解的密钥试译,直到得到有意义的明文;一般来说,要获取成功必须尝试所有可能密钥的一半。

或在不变密钥下,对所有可能的明文加密直到得到与截获密报一致为止,此法又称为完全试凑法(Completetrial-and-errorMethod)。只要有足够多的计算时间和存储容量,原则上穷举法总是可以成功的。但实际中,任何一种能保障安全要求的实用密码都会设计得使这一方法在实际上是不可行的。柯克霍夫斯(Kerckhoffs)假设假定:密码分析者知道对方所使用的密码系统包括明文的统计特性、加密体制(操作方式、处理方法和加/解密算法)、密钥空间及其统计特性。不知道密钥。密码体制的安全性仅应依赖于对密钥的保密,而不应依赖于对算法的保密。只有在假设攻击者对密码算法有充分的研究,并且拥有足够的计算资源的情况下仍然安全的密码才是安全的密码系统。一切秘密寓于密钥之中

密码分析密码分析:从密文推导出明文或密钥。密码分析:常用的方法有以下4类:惟密文攻击(cybertextonlyattack):密码分析者有一个或更多的用同一个密钥加密的密文,通过对这些截获的密文进行分析得出明文或密钥已知明文攻击(knownplaintextattack):除要破译的密文外,密码分析者有一些明文和用同一密钥加密这些明文所对应的密文。选择明文攻击(chosenplaintextattack):密码分析者可得到所需要的任何明文所对应的密文,这些密文与要破译的密文是用同一个密钥加密得来的选择密文攻击(chosenciphertextattack):密码分析者可得到所需要的任何密文所对应的明文,解密这些密文所使用的密钥与要破译的密文的密钥是相同的密码分析

密码系统一个好的密码系统应满足:系统理论上安全,或计算上安全;系统的保密性是依赖于密钥的,而不是依赖于对加密体制或算法的保密;加密和解密算法适用于密钥空间中的所有元素;系统既易于实现又便于使用。加密的功能保密性:基本功能,使非授权者无法知道消息的内容。鉴别:消息的接收者应该能够确认消息的来源。完整性:消息的接收者应该能够验证消息在传输过程中没有被改变。不可否认性:发送方不能否认已发送的消息。古典加密技术从古到今有无数种加密方法,但归类起来,古代主要是代替密码、置换密码以及两者的结合。代替密码简单代替密码多码代替密码多字母代替密码多表代替密码置换密码:换位密码传统密码及其破译Scytale密码和恺撒密码最先有意识的使用一些技术的方法来加密信息的可能是公元前500年的古希腊人。他们使用的是一根叫scytale的棍子。送信人先绕棍子卷一张纸条,然后把要写的信息打纵写在上面,接着打开纸送给收信人。如果不知道棍子的粗细是不可能解密里面的内容的,如下图所示。公元前50年,著名的恺撒大帝发明了一种密码叫做恺撒密码。在恺撒密码中,每个字母都与其后第三位的字母对应,然后进行替换。如果到了字母表的末尾,就回到开始,如此形成一个循环。当时罗马的军队就用恺撒密码进行通信。恺撒密码明文字母表:ABCDEFG…XYZ恺撒密码密文字母表:DEFGHIJ…ABC26个字符代表字母表的26个字母,从一般意义上说,也可以使用其它字符表,一一对应的数字也不一定要是3,可以选其它数字。Caesar密码乘数密码算法加密函数取形式为e(x)=ax(mod26),

a∈Z26

要求唯一解的充要条件是gcd(a,26)=1

该算法描述为:

设P=C=Z26,K={a∈Z26|gcd(a,26)=1},对k=a∈K,

定义ek(x)=ax(mod26)和dk(y)=a-1(y)(mod26),x,y∈Z26例子:a=9,ABCDEFGHIJKLMNOPQRSTUVWXYZAJSBKTCLUDMVENWFOXGPYHQZIR

明文密文

cipher=>SUFLKX乘数密码分析对于乘数密码,当且仅当a与26互素时,加密变换才是一一映射的,因此a的选择有11种:

a=3,5,7,9,11,15,17,19,21,23,25可能尝试的密钥只有11个栅栏密码所谓栅栏密码,就是把要加密的明文分成N个一组,然后把每组的第i个字连起来,形成一段无规律的话。就是组成栅栏的字母一般不会太多。(一般不超过30个)一般比较常见的是2栏的栅栏密码。比如明文:THEREISACIPHER去掉空格后变为:THEREISACIPHER两个一组,得到:THEREISACIPHER先取出第一个字母:TEESCPE再取出第二个字母:HRIAIHR连在一起就是:TEESCPEHRIAIHR解密的时候,我们先把密文从中间分开,变为两行:

TEESCPE

HRIAIHR再按上下上下的顺序组合起来:

THEREISACIPHER分出空格,就可以得到原文了:

THEREISACIPHER栅栏密码仿射密码仿射密码是一种替换密码。它是一个字母对一个字母的。它的加密函数是

,其中

a和m互质。

m是字母的数目。解密函数为:例设k=(7,3),注意到7-1(mod26)=15,加密函数是ek(x)=7x+3,相应的解密函数是dk(y)=15(y-3)=15y-19,易见dk(ek(x)=dk(7x+3)=15(7x+3)-19=x+45-19=x(mod26)

若加密明文:hot,首先转换字母h,o,t成为数字7,14,19,然后加密:解密:希尔密码希尔密码(HillPassword)是运用基本矩阵论原理的多字母代换密码,由LesterS.Hill在1929年发明。每个字母当作26进制数字:A=0,B=1,C=2...一串字母当成n维向量,跟一个n×n的矩阵相乘,再将得出的结果模26。注意用作加密的矩阵(即密匙)是可逆的,否则就不可能译码。只有矩阵的行列式和26互质,才是可逆的。其中所有的运算都是在中进行。例假定密钥K是,则K-1=。现在我们加密明文july分为两个明文组(9,20)(相应于ju)和(11,24)(相应于ly)。计算如下:因此,july的加密是DELW。同理,可使用K-1进行解密。Vigenère密码构成明文:每个字符惟一对应一个0~25间的数字。密钥:一个字符串,其中每个字符同明文一样对应一个数字,代表位移值,如a表示位移0,b表示位移1,c表示位移2,......)。加密过程:将明文数字串依据密钥长度分段,并逐一与密钥数字串相加(模26),得到密文数字串;最后,将密文数字串转换为字母串。例

设m=6,且密钥字是k=CIPHER,这相应于密钥。假定明文串是thiscryptosystemisnotsecure

首先将明文串转化为数字串,按6个一组分段,然后模26“加”上密钥字得:相应的密文串将是: VPXZGIAXIVWPUBTTMJPWIZITWZT解密过程与加密过程类似,不同的只是进行模26减,而不是模26加。

置换密码在简单的纵行置换密码中,把明文按列写入,按行读出,而密钥事实上由两方面信息组成:行宽、列高,读出顺序默认从左到右。一个简单纵行置换密码比如:明文:computergraphicsmaybeslow,按照列宽10个字符的方式写出为:computergraphicsmaybeslow可以得到密文:caeopsmhlpioucwtsemragyrb,下面是一个由密钥确定读出顺序的例子:如果再加上密钥:密钥: 4 3125 6 7明文: a t t a c k p o s t p o n e d u n t i l t w o a m x y z按照密钥大小的顺利,按照列的字符得到密文:TTNAAPTMTSUOAODWCOIXPETZ。置换密码例

假定m=6,密钥是以下置换:;则逆置换为:。给出明文

shesellsseashellsbytheseashore.

首先把明文分为6个字母一组:

shesellsseashellsbytheseashore.

每六个字母按重排,得密文:

EESLSHSALSESLSHBLEHSYEETHRAEOS

用类似地解密。置换密码置换密码是Hill密码的特例。Playfair密码Playfair在1854年发明了Playfair密码。Playfair依据一个5*5的正方形组成的密码表来编写,密码表里排列有25个字母。如果一种语言字母超过25个,可以去掉使用频率最少的一个。如,法语一般去掉w或k,德语则是把i和j合起来当成一个字母看待。英语中z使用最少,可以去掉它。

C I P H E R A B D F G K L M N O Q S T U V W X Y Z加密规则是按成对字母加密,规则为“相同对中的字母加分隔符(如x),同行取右边,同列取下边,其他取交叉”。明文:balloon单词中的ll为相同字符,所以分组为:balxloon明文:he,h和e在矩阵中同一行,都取右边的字符,密文为:EC明文:dm,d和m在矩阵中同一列,都取下面的字符,密文为:MT明文:kt

温馨提示

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

评论

0/150

提交评论