密码技术专题(二)——古典密码体制
- 格式:doc
- 大小:41.00 KB
- 文档页数:6
第2章 古典密码体制1.当k=5,b=3时,用仿射密码加密这些字符:WO SHI XUESHENG解:加密公式:c=e(p)=5p+3(mod26)首先转化把这些字母转换成数字:22,14,18,7,8,23,20,4,18,7,4,13,6然后加密;)26(mod 716231215232514171215219)26(mod 3333333333333613471842023871814225⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡+⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡H Q X M P X Z O R M P V G 所以,加密后为:GV PMR OZXPMXQH 。
2.使用Vigenere 方案,给出密文:ZICVTWQNGRZGVTWAVZHCQYGLMGJ ,找出对应下列明文的密钥:Wearediscoveredsaveyourself 。
解:明文:W e a r e d i s c o v e r e d s a v e y o u r s e l f 密文:Z IC VTWQNGR ZGVTWAVZH CQ YGLMGJ将字幕转化成数字,再计算。
结果密钥为:3 4 2 4 15 19 8 21 43.分析Vigenere 密码体制的安全性,并编程实现Vigenere 密码算法。
解:Vigenere 密码的强度在于对每个明文字母有多个密文字母对应,因此该字母的频率信息是模糊的。
实际上,维吉尼亚(Vigenere )密码是一种多表加密算法,在密文的不同位置出现的字符通常不是以同样的方式加密的,但它是一种周期密码,如果两个同样的字符出现的间隔固定,并且为密钥长度的倍数,则它们将以同样的方法进行加密。
1、古典密码体制简单代替密码(simple substitution cipher),又称单表密码(monoalphabetic cipher):明文的相同字符用相应的一个密文字符代替多表密码(ployalphabetic cipher):明文中的相同字符映射到密文空间的字符不唯一,有多个。
单表代替是密码学中最基础的一种加密方式。
在加密时用一张自制字母表上的字母来代替明文上的字母(比如说A——Z,B——D)来达到加密。
移位密码也属于单表代替,只不过比较有规律,相当于集体向前或向后。
这种加密方法最容易被破解。
破解方法为统计法。
在英语中,最常用的字母为E,所以在密文中代替E 的字母出现的频率也最高,由此便可破解。
一般单表替代密码算法特点:▲密钥空间K很大,|K|=26!=4×1026 ,破译者穷举搜索计算不可行,1微秒试一个密钥,遍历全部密钥需要1013 年。
▲移位密码体制是替换密码体制的一个特例,它仅含26个置换做为密钥空间。
密钥π不便记忆。
▲针对一般替换密码密钥π不便记忆的问题,又衍生出了各种形式单表替代密码。
多表代替密码:由多个简单的代替密码构成,例如,可能有5个被使用的不同的简单代替密码,单独的一个字符用来改变明文的每个字符的位置。
多表替代密码的特点是使用了两个或两个以上的替代表。
著名的维吉尼亚密码和Hill密码等均是多表替代密码。
2、对称密码体制分组密码的一般设计原理•分组密码是将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为n的组(可看成长度为n的矢量),每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列,•DES的操作模式是什么?上述5种操作模式均可。
•AES的操作模式是什么?在AES的实际应用中,经常会选择CBC和CTR模式。
更多的是选择CTR。
密码技术专题(二)—古典密码体制∙1、密码体制的概念o明文信源o密文o密钥与加密运算o密码体制∙2、古典密码体制的发展o古典加密方法o代替密码o换位密码o转轮密码∙3、几种典型的古典密码体制o CAESAR体制o双字的Playfair体制o维吉尼亚体制o Hill体制我们已经知道,一个密码体制由明文信源、密文、密钥与加密运算这四个基本要素构成,下面我们将进一步给出它们的数学模型。
1、明文信源直观地讲,明文信源就是明文字母表或者明文字母。
比如所有的英文字母、全部的中文字符就是典型的明文字母表。
准确一点,明文信源还应当包含明文字母的概率分布。
如果用X表示明文字母表,则它的元素x∈X则就是明文字母。
在明文字母表中,不同的明文字母出现的频率往往是不同的,比如在26个英文字母中,一般来说字母“e”的频率最高;而在汉字中,可能是“的”字频率最高。
所以,一个明文信源记为S=[X,p(x)],其中X为明文字母表,p(x)为明文字母x∈X 出现的概率,而且p(x)满足如下条件:对任何x∈X,p(x)≥0,且∑p(x)=1。
2、密文密文由密文字母表Y和密文字母y∈Y组成,密文字母表一般是指密文可能使用的全部字母的集合,而y∈Y是它的元素。
密文字母表可以与明文字母表相同,也可以不同。
3、密钥与加密运算密钥用来从密码体制的一组加密运算中选择一个加密运算(或者称为加密步),密钥允许你按照以前制定的规则改变加密,比如每天,或每份报之后,或者每个字符之后。
通常,密钥的组织和编排须利于它们允许通过简单的规则产生单独的加密步。
加密方法的组合复杂度取决于在此方法下密钥的数量。
如果用K表示密钥空间,也就是选择加密步的参数集合,k∈K则称为一个密钥。
加密步就是明文字母表X到密文字母表Y的一个映射:E:X→Y,对每个x∈X。
由于加密步并不是单一的,而是一族运算,因此我们就可以记为Ek=Ek(x),其中x∈X,k∈K。
除特殊的编码方法外,如多名码或多音码,对于每个k∈K,Ek(x)都是X到Y的1-1映射。
通常要求用户对密钥的选择是随机的,而且密钥的选择与明文无关。
这样密钥的使用概率p(k),k∈K与明文的出现概率就是互相独立的。
4、密码体制在明确了密码体制的几个组成要素的数学模型后,我们就可以给出一个密码体制的数学模型。
我们定义S={X,Y,K,p(x,k),Ek(x), x∈X,k∈K}为一个密码体制。
实际上从运算的角度讲,密码体制包含加密系统和解密系统两部分。
如果一个密码体制设计完成,则相应的明文、密文、密钥之间的关系也就随之确定,用概率方法表示为:对任何x∈X,k∈K,y∈E(X),p(x,y,k)=p(x,k)=p(x)p(k)。
密码技术的应用一直伴随着人类文化的发展,其古老甚至原始的方法奠定了现代密码学的基础。
使用密码的目标就是使一份消息或记录对非授权的人是不可理解的。
可能有人认为这很容易,但你必须考虑原定的接收方是否能解读消息。
如果接收方是没有经验的,随便写个便条他也可能很长时间无法读懂。
因此不一定要求加密和解密方法特别复杂,它必须适应使用它的人员的智力、知识及环境。
下面我们介绍古典密体制发展演化的过程。
1、古典加密方法最为人们所熟悉的古典加密方法,莫过于隐写术。
它通常将秘密消息隐藏于其它消息中,使真正的秘密通过一份无伤大雅的消息发送出去。
隐写术分为两种,语言隐写术和技术隐写术。
技术方面的隐写比较容易想象:比如不可见的墨水,洋葱法和牛奶法也被证明是普遍且有效的方法(只要在背面加热或紫外线照射即可复现)。
语言隐写术与密码编码学关系比较密切,它主要提供两种类型的方法:符号码和公开代码。
符号码是以可见的方式,如手写体字或图形,隐藏秘密的书写。
在书或报纸上标记所选择的字母,比如用点或短划线,这比上述方法更容易被人怀疑,除非使用显隐墨水,但此方法易于实现。
一种变形的应用是降低所关心的字母,使其水平位置略低于其它字母,但这种降低几乎让人觉察不到。
一份秘密的信件或伪装的消息要通过公开信道传送,需要双方事前的约定,也就是需要一种公开代码。
这可能是保密技术的最古老形式,公开文献中经常可以看到。
东方和远东的商人和赌徒在这方面有独到之处,他们非常熟练地掌握了手势和表情的应用。
在美国的纸牌骗子中较为盛行的方法有:手拿一支烟或用手挠一下头,表示所持的牌不错;一只手放在胸前并且跷起大拇指,意思是“我将赢得这局,有人愿意跟我吗?”右手手掌朝下放在桌子上,表示“是”,手握成拳头表示“不”。
特定行业或社会阶层经常使用的语言,往往被称为行话。
一些乞丐、流浪汉及地痞流氓使用的语言还被称为黑话,它们是这些社会群体的护身符。
其实也是利用了伪装,伪装的秘密因此也称为专门隐语。
黑社会犯罪团伙使用的语言特别具有隐语的特性,法语中黑话有很多例子,其中有的现在还成了通俗用法。
比如rossignol (夜茑)表示“万能钥匙”,最早始于1460年;mouche(飞行)表示“告密者”,等等。
公开代码的第二种类型就是利用虚码和漏格进行隐藏:隐藏消息的规则比较常见的有:“某个特定字符后的第几个字符”,比如空格后的下一个字母(“家庭代码”,二战中在参战士兵中广为流传,但引起了审查机关的极大不满);更好一点的还有空格后的第三个字母,或者标点符号后的第三个字母。
漏格方法可以追溯到卡达诺(Cardano,1550年)时代,这是一种容易掌握的方法,但不足之处是双方需要相同的漏格,特别是战场上的士兵,使用时不太方便。
2、代替密码代替密码就是将明文字母表中的每个字符替换为密文字母表中的字符。
这里对应密文字母可能是一个,也可能是多个。
接收者对密文进行逆向替换即可得到明文。
代替密码有五种表现形式:单表代替即简单代替密码或者称为单字母代替,明文字母表中的一个字符对应密文字母表中的一个字符。
这是所有加密中最简单的方法。
多名码代替就是将明文字母表中的字符映射为密文字母表中的多个字符。
多名码简单代替早在1401年就由DuchyMantua公司使用。
在英文中,元音字母出现频率最高,降低对应密文字母出现频率的一种方法就是使用多名码,如e可能被密文5、13或25替代。
多音码代替就是将多个明文字符代替为一个密文字符。
比如将字母“i” 和“j”对应为“K”,“v”和“w”代替为“L”最古老的这种多字母加密始见于1563年由波他的《密写评价》(De furtiois literarum notis)一书。
多表代替即由多个简单代替组成,也就是使用了两个或两个以上的代替表。
比如使用有5个简单代替表的代替密码,明文的第一个字母用第一个代替表,第二个字母用第二个表,第三个字母用第三个表,以此类推,循环使用这五张代替表。
多表代替密码由莱昂.巴蒂斯塔于1568年发明,著名的维吉尼亚密码和博福特密码均是多表代替密码。
密本密本不同于代替表,一个密本可能是由大量代表字、片语、音节和字母这些明文单元和数字密本组组成。
如1563-baggage,1673-bomb,2675-catch,2784-custom,3645-decide to,4728-from then on等等。
在某种意义上,密本就是一个庞大的代替表,其基本的明文单位是单词和片语,字母和音节主要用来拼出密本中没有的单词。
实际使用中,密本和代替表的区别还是比较明显的,代替表是按照规则的明文长度进行操作的,而密本是按照可变长度的明文组进行操作的。
密本的最早出现在1400年左右,后来大多应用于商业领域。
二战中盟军的商船密本,美国外交系统使用的GRAY密本就是典型的例子。
3、换位密码在换位密码中,明文字符集保持不变,只是字母的顺序被打乱了。
比如简单的纵行换位,就是将明文按照固定的宽度写在一张图表纸上,然后按照垂直方向读取密文。
这种加密方法也可以按下面的方式解释:明文分成长为m个元素的块,每块按照n来排列。
这意味着一个重复且宽度为m的单字母的多表加密过程,即分块换位是整体单元的换位。
简单的换位可用纸笔容易实现,而且比分块换位出错的机会少。
尽管它跑遍整个明文,但它并不比整体单元换位提供更多的密码安全。
在第二次大世界中,德军曾一度使用一种被称为bchi的双重纵行换位密码,而且作为陆军和海军的应急密码,只不过密钥字每天变换,并且在陆军团以下单位使用。
此时英国人早就能解读消息了,两个不同的密钥字甚至三重纵行换位的使用也无济于事。
4、转轮密码随着电动打字机的使用,电动密码机开始在保密通信中大显身手。
在第二次世界大战中,转轮密码机的使用相当普遍。
它主要利用机械运动和简单电子线路,有一个键盘和若干转轮,实际上它是维吉尼亚密码的一种实现。
每个转轮由绝缘的圆形胶板组成,胶板正反两面边缘线上有金属凸块,每个金属凸块上标有字母,字母的位置相互对齐。
胶板正反两面的字母用金属连线接通,形成一个置换运算。
不同的转轮固定在一个同心轴上,它们可以独立自由转动,每个转轮可选取一定的转动速度。
例如,一个转轮可能被导线连通以完成用F代替A,用U代替B,用L代替C等等。
为了防止密码分析,有的转轮密码机还在每个转轮上设定不同的位置号,使得转轮的位置、转轮的数量、转轮上的齿轮结合起来,增大机器的周期。
最著名的转轮密码机是德国人舍尔比乌斯设计的恩尼格马机和瑞典人哈格林设计的哈格林密码机(美国军方称为M-209)。
德国人使用的恩尼格马机共有5个转轮,可选择3个使用。
转轮机中设计的一块插板及一个反射轮,可对一个明文字母操作两次。
另一个特点是转轮的由齿轮控制,以形成不规则进位。
波兰的密码研究人员最早破译了德国的恩尼格马,并将方法提供给了英国人。
M-209是二战中美军的主要加密设备,它是一种齿数可变的齿轮装置,有六个密钥轮,一个印字轮。
在一次特定的加密作业中,有多少个齿,代替表就推移多少个位置,并用这个代替表加密。
该设备的各个部件互相作用,产生一串互不相关的长周期密钥。
1、CAESAR体制CAESAR体制是一种单表加性密码体制,其明文字母表、密文字母表和密钥字母表相同,比如英文字母表。
加密步可由如下简单的式子表示:y=x+k,其中x∈X,y∈Y,k∈K。
最简单的一种就是第一个明文字母由其右边的第三个字母代替,由D代替,B由E代替,…,Y,由B代替,Z由C代替。
广义的CAESAR体制引入两个密钥参数,加密步变为y=k1x+k2,其中x∈X,y∈Y,k1,k2∈K。
2、双字的Playfair体制1854年,查尔斯.惠斯通(Charles Wheatstone)发明了一种特殊的双叶双码代替密码,他的朋友莱昂.普莱弗尔(Lyon Playfair)将其推荐给政府和军界的高层人士。
这种体制的首次使用是在克里米亚战争期间,正式报道的使用是在Boer 战争中,其名称也就以Playfair命名。
军队很看重它的一点就是此方法既不需要表也不需要器械,易作为战地密码。