密码学.docx
- 文档编号:6712586
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:14
- 大小:31.68KB
密码学.docx
《密码学.docx》由会员分享,可在线阅读,更多相关《密码学.docx(14页珍藏版)》请在冰豆网上搜索。
密码学
密码学
(第二讲)
古典密码古典密码
张焕国
武汉大学计算机学院
目
录
1,密码学的基本概念密码学的基本概念古典密码2,古典密码3,数据加密标准(DES),数据加密标准(DES)4,高级数据加密标准(AES)高级数据加密标准(AES)5,中国商用密码(SMS4),中国商用密码(SMS4)6,分组密码的应用技术7,序列密码8,习题课:
复习对称密码9,公开密钥密码
(1),公开密钥密码(1
目
录
10,公开密钥密码(210,公开密钥密码
(2)11,数字签名(111,数字签名
(1)12,数字签名(212,数字签名
(2)13,HASH函数13,HASH函数14,14,认证15,15,密钥管理16,PKI技术16,PKI技术17,习题课:
复习公钥密码17,习题课:
复习公钥密码18,总复习/18,总复习/检查:
综合实验
一,古典密码一,古典密码
虽然用近代密码学的观点来看,许多古典密码是很不安全的,或者说是极易破译的.但是我们不能忘记古典密码在破译的.但是我们不能忘记古典密码在历史上发挥的巨大作用.历史上发挥的巨大作用.另外,编制古典密码的基本方法对于另外,编制古典密码的基本方法对于编制近代密码仍然有效.编制近代密码仍然有效
一,古典密码一,古典密码
C.D.Shannon:
采用混淆,扩散和乘积的方法来设计密码混淆:
使密文和明文,密钥之间的关系复杂化扩散:
将每一位明文和密钥的影响扩大到尽可能多的密文位中.乘积和迭代:
多种加密方法混合使用对一个加密函数多次迭代
古典密码编码方法:
置换,代替,加法
一,古典密码一,古典密码
1,置换密码
把明文中的字母重新排列,字母本身不变,但其位置改变了,这样编成的密码称为置换密码.
最简单的置换密码是把明文中的字母顺序倒过来,最简单的置换密码是把明文中的字母顺序倒过来,然后截成固定长度的字母组作为密文.然后截成固定长度的字母组作为密文.明文:
明晨5点发动反攻.明文:
明晨5点发动反攻.MINGCHENWUDIANFADONGFANGONG密文:
GNOGN密文:
GNOGNAFGNODAFNAIDUWNEHCGNIM
一,古典密码一,古典密码
把明文按某一顺序排成一个矩阵,然后按另一顺序选出矩阵中的字母以形成密文,最后截成固定长度的字母组作为密文.
例如:
明文:
MING明文:
MINGCHENWUDIANFADONGFANGONG矩阵:
MINGCH矩阵:
MINGCH选出顺序:
按列ENWUDIANFADO改变矩阵大小和取出序列NGFANG可得到不同的密码ONG密文:
MEANO密文:
MEANOINNGNNWFFGGUAACDDNHIOG
一,古典密码一,古典密码
理论上:
①,置换密码的加密钥是置换矩阵p,解密钥是置换矩阵p-1.
P=123a1a2a3……nan
②,置换密码经不起已知明文攻击.
一,古典密码一,古典密码
2,代替密码
首先构造一个或多个密文字母表,首先构造一个或多个密文字母表,然后用密文字母表中的字母或字母组来代替明文字母或字母组,各字母或字母组的相对位置不变,或字母组,各字母或字母组的相对位置不变,但其本身改变了.但其本身改变了.这样编成的密码称为代替密码.
①单表代替密码②多表代替密码③多名代替密码
一,古典密码一,古典密码
⑴.单表代替密码
只使用一个密文字母表,只使用一个密文字母表,并且用密文字母表中的一个字母来代替明文字母表中的一个字母.个字母来代替明文字母表中的一个字母.明文字母表:
A={a0,a1,...,an-1}...,密文字母表:
B密文字母表:
B={b0,b1,...,bn-1}...,定义一个由A定义一个由A到B的映射:
f:
A→B的映射:
ff(ai)=bi设明文:
M设明文:
M=(m0,m1,...,mn-1),...,则密文:
C=(f(m0),f(m1),...,f(mn-1)).则密文:
C),...,f(m)).简单代替密码的密钥就是映射函数f简单代替密码的密钥就是映射函数f或密文字母表B.
一,古典密码一,古典密码
⑴单表代替密码
①,加法密码A和B是有n个字母的字母表.定义一个由A到B的映射:
f:
A→B定义一个由A的映射:
f:
A→B
f(ai)=bi=ajj=i+kmodn加法密码是用明文字母在字母表中后面第k个字母来代替.K=3时是著名的凯撒密码.
一,古典密码一,古典密码
⑴单表代替密码
②,乘法密码A和B是有n个字母的字母表.定义一个由A到B的映射:
f:
A→B定义一个由A的映射:
f:
A→B
f(ai)=bi=ajj=ikmodn其中,(n,k)=1.其中,(n,k)=1.注意:
只有(n,k)=1,才能正确解密.只有(n,k)=1,
一,古典密码一,古典密码
⑴单表代替密码
③密钥词组代替密码:
随机选一个词语,去掉其中的重复字母,写到矩阵的第一行,从明文字母表中去掉这第一行的字母,其余字母顺序写入矩阵.然后按列取出字母构成密文字母表.
一,古典密码一,古典密码
举例:
密钥:
HONGYE选出顺序:
按列矩阵:
HONGYE选出顺序:
按列ABCDFIJKLMPQ改变密钥,矩阵大小RSTUVW和取出序列,得到不同的XZ密文字母表.密文字母表:
B={HAJRXOBKSZNCLTGDMUYFPVEIQW}
一,古典密码一,古典密码
⑵,多表代替密码
单表代替密码的安全性不高,一个原因是
一个明文字母只由一个密文字母代替.
构造多个密文字母表,在密钥的控制下用相应密文字母表中的一个字
母来代替明文字母表中的一个字母.一个明文母来代替明文字母表中的一个字母.一个明文字母有多种代替.
Vigenere密码:
著名的多表代替密码密码:
著名的多表代替密码
一,古典密码一,古典密码
Vigenre方阵Vigenre方阵
AB密C文H明文字母ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXYZBCDEFGHIJKLMNOPQRSTUVWXYZACDEFGHIJKLMNOPQRSTUVWXYZABHIJKLMNOPQRSTUVWXYZABCDEFG
字XXYZABCDEFGHIJKLMNOPQRSTUVW母YYZABCDEFGHIJKLMNOPQRSTUVWXZZABCDEFGHIJKLMNOPQRSTUVWXY
一,古典密码一,古典密码
Vigenre密码的代替规则是用明文字母在Vigenre方阵中的列和密钥字母在Vigenre方阵中的行的交
点处的字母来代替该明文字母.例如,点处的字母来代替该明文字母.例如,设明文字母为P,密钥字母为Y,则用字母N来代替明文字母P.
明文:
明文:
MINGCHENWUDIANFADONGFANGONG密钥:
密钥:
XINGCHUIPINGYEKUOYUEYONGDAJIANGLIU密文:
密文:
JQAMEOYVLCQOYRPURMHKDOAMRNP
解密就是利用Vigenre方阵进行反代替.方阵进行反代替.
一,古典密码一,古典密码
3,代数密码:
①Vernam密码Vernam密码
明文,密文,密钥都表示为二进制位:
M=m1,m2,…,mnK=k1,k2,…,knC=c1,c2,…,cn②加密:
c1=mi⊕ki,i=1,2,…,n解密:
m1=ci⊕ki,i=1,2,…,n③因为加解密算法是模2加,所以称为代数密码.因为加解密算法是模2④对合运算:
f=f-1,模2加运算是对合运算.对合运算:
密码算法是对和运算,则加密算法=解密算法,工程实现工作量减半.
⑤Vernam密码经不起已知明文攻击.Vernam密码经不起已知明文攻击.
一,古典密码一,古典密码
⑥如果密钥序列有重复,则Vernam密码是不安全如果密钥序列有重复,则Vernam密码是不安全的.一种极端情况:
一次一密⑦一种极端情况:
一次一密密钥是随机序列.密钥至少和明文一样长.一个密钥只用一次.⑧一次一密是绝对不可破译的,但它是不实用的.⑨一次一密给密码设计指出一个方向,人们用序列密码逼近一次一密.
二,古典密码的穷举分析
1,单表代替密码分析①加法密码因为f(ai)=bi=aj因为f(aj=i+kmodn
所以k=1,2,...,n-1,共n-1种可能,密钥空所以k=1,2,,n-1,共
间太小.以英文为例,只有25种密钥.间太小.以英文为例,只有25种密钥.经不起穷举攻击.
二,古典密码的穷举分析
1,单表代替密码分析②乘法密码因为f(ai)=bi=aj因为f(aj=ikmodn,且(k,n)=1.n,且(k,n)=1.所以k共有φ(n)种可能,密钥空间更小.所以k对于英文字母表,n=26,对于英文字母表,n=26,k=1,3,5,7,9,11,15,17,19,21,23,25取掉1,共11种,比加法密码更弱.取掉1,共11种,比加法密码更弱.经不起穷举攻击.
二,古典密码的穷举分析
1,单表代替密码分析③密钥词语代替密码因为密钥词语的选取是随机的,所以密文字母因为密钥词语的选取是随机的,所以密文字母表完全可能穷尽明文字母表的全排列.
以英文字母表为例,n=26,所以共有26!
种可以英文字母表为例,n=26,所以共有26!
种可能的密文字母表.26!
≈4×26!
≈4×1026用计算机也不可能穷举攻击.注意:
穷举不是攻击密钥词语代替密码的唯一注意:
穷举不是攻击密钥词语代替密码的唯一
方法.
三,古典密码的统计分析
2,密钥词组单表代替密码的统计分析任何自然语言都有自己的统计规律.如果密文中保留了明文的统计特征,就可用如果密文中保留了明文的统计特征,就可用统计方法攻击密码.由于单表代替密码只使用一个密文字母表,一个明文字母固定的用一个密文字母来代替,一个明文字母固定的用一个密文字母来代替,所以密文的统计规律与明文相同.所以密文的统计规律与明文相同.
因此,单表代替密码可用统计分析
攻破.
三,古典密码的统计分析
英语的统计规律每个单字母出现的频率稳定.最高频率字母E次高频率字母TAOINSHR中高频率字母DL低频率字母CUMWFGYPB最低频率字母VKJXQZ
三,古典密码的统计分析
英语的统计规律频率最高的双字母组:
THHEINERANREEDONESSTENATTONTHANDOUEANGASORTIISETITARTESEHIOF
三,古典密码的统计分析
英语的统计规律频率最高的三字母组:
THEINGANDHEREREENTTHAWASETHFORDHTHATSHEIONHISERSVER
其中THE的频率是ING的其中THE的频率是ING的3倍!
三,古典密码的统计分析
英语的统计规律英文单词以E,S,D,T为结尾的超过一半.英文单词以E英文单词以T,A,S,W为起始字母的约占一英文单词以T半.
还有其它统计规律!
还有其它统计规律!
教科书上有一个完整的统计分析例
子.
三,古典密码的统计分析
经得起统计分析是对近代密码的基本要求!
复习题
①已知置换如下:
123456P=351642明文=642135,密文=明文=642135,密文=密文=214365密文=214365,明文=②使加法密码算法称为对合运算的密钥k②使加法密码算法称为对合运算的密钥k称为对合密钥,以英文为例求出其对合密钥.
复习题
③已知一个加法密码的密文如下:
BEEAKFYDJXUQYHYJIQRYHTYJIQFBQDUYJIIKFUHCQD用穷举法求出明文.④以英文为例,用加法密码,取密钥常数k=7,对明文7,对明文INFORMATIONSECURITY,进行加密,求出密文.SECURITY,⑤证明,在置换密码中,置换p是对合的,当且仅当对任意证明,在置换密码中,置换p的i和j(i,j=1,2,3,…,n),若p(i)=j,则必有p(j)=i.j=1,2,3,…,n),p(i)=j,则必有p(j)=i⑥编程实现Vigenre密码.编程实现Vigenre密码.⑦分析仿射密码的安全性.
谢谢!
单字母替换密码及实例
通过把信息隐藏起来的这种秘密通信称为Staganography(隐文术),由希腊词Steganos(意为“覆盖”)和Graphein(意为“写”)派生而来。
从希罗多德以后2000多年,各种形式的隐文术被使用。
例如,中国古代将信息写在小块丝绸上,塞进一个小球里,再用蜡给封上,然后让信使吞下这个蜡球。
16世纪,意大利科学家乔瓦尼•波塔描述了如何将信息埋藏在一个煮熟的鸡蛋里:
他把少许明矾和一点醋混在一起制作成一种墨水,再用这种墨水将信息写在鸡蛋壳表面。
墨水溶液就会经蛋壳上的微孔渗透进去,在已凝固的鸡蛋白表面留下印记,这样只能剥去蛋壳后才能读取。
隐文术也包括用隐形墨水来写信息,早在公元一世纪普林尼就解释了体液如何用作隐形墨水。
用这种液体写的字干后即变得透明,但轻轻地加热就能把液体烤焦,从而字体就以棕色显现出来。
许多有机流体都有这样的性质,因为它们富含碳因而变得很容易被烤焦。
事实上,即使是现在间谍也很少知道在标准配备的隐形墨水用完之后还可以用自己的尿来临时代替。
隐文术的长久使用表明它确实起到了一定保密作用,但它也有一个根本的弱点。
如果信使被搜查,信息被发现,那么秘密通信的内容也立即暴露无遗。
一旦信息被截获,所有的安全性也就随之荡然无存。
一个严格的士兵会例行地搜查每一个过境人,包括刮一刮所有上蜡的刻写板,给所有空白纸张加加热,剥开煮熟的鸡蛋,剃光人们的头发等等,难免会有发现隐藏信息的时刻。
因此,在隐文术发展的同时,还有另一种方法也在演化,那就是Cryprography(密码术),从希腊词Kryptos(意为隐藏)派生而来。
密码术的目的不是隐藏密码本身,而是要隐藏它的意思,也就是一种和加密的过程。
为了使信息无法被外人理解,将信息按照事先在发送者和接收者之间规定好的某种特别规则打乱。
那么接受者可以将打乱的信息恢复原样,信息就可以被理解。
密码术的优势在于即使敌人截住了一条加密的信息,也无法读懂它。
不知道扰乱的规则,敌方将很难(也并非不可能)重现密文的原始含义。
虽然隐文术和密码术是各自独立的,但完全可以将一条信息既混乱又隐藏以取得一个最安全的效果。
例如,二战期间流行的微粒照片是一种隐文术。
德军在拉丁美洲的间谍将一页文件缩小在直径不到1毫米的微型照片上,看上去就是一个点,再将这个点状照片贴在看似无关紧要的一封信中的某个句号上面。
这种微型照片在1941年第一次被美国联邦调查局发现,紧接着美军就有所警觉,查看信中有无微弱的光点,它可能就是反滑的胶片反射出来的光。
从那以后,美军美军能读懂大多数被截住的微型照片的内容,除非德军间谍有所防范,在缩小之前,将照片中的信息混乱。
这样,密码术融进了隐文术中,美军即使有时截获了通信,但却无法获得关于德间谍活动的任何新的信息。
在秘密通讯的上述两种分支中,密码术是更加有效的,因为它能防止确切的信息落到敌军手中。
同样,密码术也会被分为两种,即易位和替换。
在易位中,组成信息的字母被简单地重排,形成互相颠倒的一组字母序列(我们暂称之为易位句)。
对于特别短的信息,例如一个单词,这种方法相对不可靠,因为只有有限的几种方法来重组这个句子。
以三个字母COW为例,仅有六种结果:
COW,OCW,CWO,OWC,WCO,WOC。
然而,随着字母逐渐增多,重组的可能结果也急剧膨胀,从而不可能再复原到原来的信息,除非知道具体混乱的规则。
例如有下面一条信息:
Forexample,considerthisshortsentence。
其中只含有35个字母,然而却有5×10的31次方种不同的排列结果。
如果一人每秒能检查一条,世界上所有的人日夜工作的话,那么宇宙泯灭轮回1000次,才能查完所有这些结果。
即使是很短的信息,地方拦截员要复原出其原意也是不切实际的,因而,字母的随机排列似乎提供了一种很高的安全性。
但也有个缺点。
易位虽然有效地形成一个极其难的易位句,但是,如果字母既不是按照某种韵律也不是按照其他什么逻辑而是随机地被混乱,那么复原一个易位句对于一个联络好的接收人或对于一个敌方拦截人员一样是不可能的。
为了使易位行之有效,字母的排列需要遵循一种直接的规律,当然这种规律实现只有发送信息的人和接受人共同知道,并对敌方是保密的。
例如,在学校里,学生有时用一种叫“栅栏”的易位方法来传递信息,信息中的字母被交替地写成上下两行,再将下面一行文字附加在上面一行的后面,从而形成一段加密后的信息。
例如:
THESECRETISTHYPRISONER;IFTHOULETITGO,THOUAREAPRISONERTOIT
TYERTSHPIOEITOLTTOHURARSNROT
HSCEITYRSNRFHUEIGTOATPIOETI
→THYSECRETISTHYPRISONERIFTHOULETITGOTHOUAREAPRISONERTOIT
接收者只需简单地将上述过程反过来记得到信息。
已有许多程序化的易位方法,包括三线栅栏密码,它是先将信息写成三行字母而不是两行,也可以选择再交换每一对字母,使第一和第二行字母交换位置,第三和第四交换位置,以此类推。
另一种易位形式第一次被做成了军用密码装置,那是斯巴达的一种装置,早在公元前五世纪就出现了。
这种外观是一根菱形木棍,外面缠绕着一条皮革或羊皮纸。
发送人先沿着木棍纵向在皮带上写上信息,然后再解开皮带,那么从皮带上就看到一些无意义的字母,信息已被混乱了,信使就可以带着这条皮带,如果再来点隐文术的手段,他可以将其伪装成腰带系在身上,而信息却写在反面。
复原信息时,接收者只需简单地把皮带绕在一根木棍上,其直径应和发送者使用的一般大。
公元前404年,斯巴达的莱桑德接见了一位满身血污、憔悴不堪的信使,他从波斯来,本来是五个人,现在只有他在艰难的旅途中存活下来。
这位信使把他的皮带递给莱桑德,莱桑德将皮带缠绕在密码装置上,得知波斯法拿巴兹正计划进攻斯巴达。
正是因为这个密码装置,莱桑德才有所准备,并进行了有力还击。
与易位并列的密码术是替换。
关于替换加密的最早描述出现在《爱经》中,这是由婆罗门学者写于公元四世纪的一篇文章,但根据手迹来看,可追溯到公元前四世纪。
《爱经》建议女人应学会64种技术,如做饭、穿衣、按摩和制备香水,还包括一些如咒语、象棋、装订和木工之类的不太常见的技术。
第45种是密文术。
其中介绍的一种方法就是先随机地将字母两两配对,然后将原始信息中的每一个字母用它的配对者来代替。
以罗马字母为例,我们可以进行如下配对:
ADHIKMORSUWYZ
VXBGJCQLNEFPT
那么,对于句子:
meetatmidnight,发送者将写成:
CUUZVZCGXSGIBZ。
这种形式的密文叫做替换密码,因为原文中的每一个字母都被换成一个不同的字母,所以可以作为易位的一种辅助方法。
在易位中字母不变,位置改变;替换中字母改变,位置不变。
将替换密码用于军事用途的第一个文件记载是凯撒著的《高卢记》。
凯撒描述了他如何将迷信送到正处在被围困、濒临投降的西塞罗。
其中罗马字母被替换成希腊字母使得敌人根本无法看懂信息。
关于这次奇妙的传送,凯撒是这样写的:
信使受到指示,如果他不能接近被围困的军营,他就将信件绑在一根矛上,然后将矛投到被围困的军营内。
可是掷出的矛碰巧插进了一个防塔里,连接两天没有被人发现,第三天一个士兵看见了,取下来交给西塞罗。
西塞罗看完之后在全军面前复述了这个信息,大家都倍受鼓舞。
凯撒频繁地使用密文,对此瓦莱利厄斯•普罗布斯做过详细地描述,但不幸失传了。
然而有幸的是苏托尼厄斯在公元二世纪写下《凯撒传》,书中对凯撒用过的其中一种替换密码作了详细的描写。
凯撒只是简后第三个字母代替。
密码学家通常将用来书写原始信息的有关字母称为明码字母表,这里简称明码表;而把用来替换明码字母的有关字母称为密码字母表,这里简称密码表。
当把明码表放在密码表的上面时,很明显密码字母表和明码字母表相比后移了3个位置。
因而这种形式的替换通常叫做凯撒移位密码,或简单说,凯撒密码。
这里我们可以给密码下一个定义:
一个密码是指任何形式的一种隐秘的替换,其中每个字母都被另一个字母或符号代替。
明码表abcdefghijklmnopqrstuvwxyz
密码表DEFGHIJKLMNOPQRSTUVWXYZABC
明文veni,vidi,vici
密文YHQL.YLGL.YLFL
尽管苏托尼厄斯仅提到三个位置的凯移位,但显然从1到25个位置的移位我们都可以使用,从而对每个字母我们都能构建25种不同的密码字母来代替它。
实际上,如果我们对移位不加限制,即允许密码字母表是明码字母表的任一种重排,那么我们能得到更大数目的密码字母表。
有超过4×10的27次方种这样的重组,因而存在有同样数目的密码字母表。
每个不同的密码都代表着一种加密方法,包括算法和密钥两元素,这两个元素描述了每种加密的精确细节。
在上述例子中,将信息中每个明码字母用密码字母来代替就代表一种算法,而密码字母表可以是明码字母表的任一种重排。
密钥则明确了某特定加密过程中所用的密码字母表。
一个敌人在研究一段被截获的信息时,或许能猜到其所用的算法,却无法得知其所用的特定密钥。
例如,他们可能深深地怀疑原始文件中的每一个字母都根据某种密码表被另一个不同的字母代替,但他们不可能知道哪个密码表被使用了。
加入密码表,即密钥,只是发送者和接收者之间严守的一个秘密,那么敌人就不能对截住的信息进行解密。
和算法相对立,密钥的重要性是密码术中永久的一项原则。
对此,1883年,荷兰语言学家奥古斯特在其所
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 密码学