第2讲-密码学的基本概念和理论基础课件.ppt
《第2讲-密码学的基本概念和理论基础课件.ppt》由会员分享,可在线阅读,更多相关《第2讲-密码学的基本概念和理论基础课件.ppt(62页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2讲讲 密码学的基本概密码学的基本概念和理论基础念和理论基础 案例:莫尔斯电码里的爱情案例:莫尔斯电码里的爱情v早已被新科技所取代的莫尔斯密码,却在中国的互联网世界里演绎早已被新科技所取代的莫尔斯密码,却在中国的互联网世界里演绎了一段费尽周折的爱情猜谜传奇。了一段费尽周折的爱情猜谜传奇。v一男子向一女子表白,女子却给了一段莫尔斯密码,以及很少的提一男子向一女子表白,女子却给了一段莫尔斯密码,以及很少的提示,并表示,破译这个密码,才答应和他约会。男子死活不得求解,示,并表示,破译这个密码,才答应和他约会。男子死活不得求解,又在百度贴吧里将密码贴出以求助网友。又在百度贴吧里将密码贴出以求助网友
2、。v电码如下电码如下:“*-/*-/-*/*-/*-/*-/-*/*-/*-/*-/-*/*-/*-/*-/-*/*-/-*/*-/*-/*-/-*/*-/”v“她唯一给我的提示就是这个是她唯一给我的提示就是这个是5层加密的密码,也就是说要破解层加密的密码,也就是说要破解5层密码才是答案。最终语言是英语。层密码才是答案。最终语言是英语。”v网友贴出了莫尔斯密码对照表,然后发现相应密码对应的数字组合网友贴出了莫尔斯密码对照表,然后发现相应密码对应的数字组合和英文字母组合分别是:和英文字母组合分别是:“4194418141634192622374”、“daiddahadafcdaibfbbcgd”
3、网友网友“片羿天使片羿天使”将莫尔斯密码对应的数字将莫尔斯密码对应的数字“41 94 41 81 41 63 41 92 62 23 74”转换成了手机键盘字母转换成了手机键盘字母,以以41为例,它为例,它对应的就是传统手机键盘上的对应的就是传统手机键盘上的“4”的第一个字母,的第一个字母,“94”则是则是“9”的第的第4个字母。个字母。这样片羿天使得到了第二步的答案:这样片羿天使得到了第二步的答案:“G Z G T G O G X N C S”。片羿天使说片羿天使说“因为因为QWE的格式是被世人所认可的,也就有的格式是被世人所认可的,也就有可能成为密码的码表。码表可能成为密码的码表。码表QW
4、E=ABC依次类推。依次类推。”按照按照这样的次序,上面的来自于手机键盘的字母,就转换到了这样的次序,上面的来自于手机键盘的字母,就转换到了第三步答案:第三步答案:“O T O E O I O U Y V L”。案例:莫尔斯电码里的爱情案例:莫尔斯电码里的爱情在第四步中,片羿天使用了包括在第四步中,片羿天使用了包括凯撒凯撒、乘法乘法等等方法,对等等方法,对第三步几乎可以看出来的答案进行了进一步的解码,最后第三步几乎可以看出来的答案进行了进一步的解码,最后发现只有发现只有栅栏密码栅栏密码才能读得通。片羿天使将这组字母分成才能读得通。片羿天使将这组字母分成了了“O T O E O I”和和“O U
5、 Y V L”两排,然后对插重组得两排,然后对插重组得到第四步的字母排列:到第四步的字母排列:“OOTUOYEVOLI”。第五步于第五步于 是变得最为简单起来,那便是将是变得最为简单起来,那便是将“OOTUOYEVOLI”倒序排列,即倒序排列,即“I LOVE YOU TOO”。案例:莫尔斯电码里的爱情案例:莫尔斯电码里的爱情2.1 基本概念基本概念2.1.1 2.1.1 什么是密码学什么是密码学v密码学是研究密码系统或通信安全的一门学科,分为密码学是研究密码系统或通信安全的一门学科,分为密码编密码编码学码学和和密码分析学密码分析学。v密码编码学是使得消息保密的学科密码编码学是使得消息保密的学
6、科v密码分析学实际要研究加密消息破译的学科密码分析学实际要研究加密消息破译的学科密码学的发展历史密码学的发展历史 v第第1阶段阶段:1949年以前。年以前。v第第2阶段阶段:从:从1949年到年到1975年。年。标志:标志:1949年年Shannon发表的发表的保密系统的信息理论保密系统的信息理论一一文。文。v第第3阶段阶段:1976年至今。年至今。标志:标志:1976年年Diffie和和Hellman发表了发表了密码学新方向密码学新方向一文。一文。Shannon模型模型 vX,明文明文(plain-text):):作为加密输入的原始信息。作为加密输入的原始信息。vY,密文密文(cipher-
7、text):对明文变换的结果。):对明文变换的结果。vE,加密加密(encrypt):是一组含有参数的变换。):是一组含有参数的变换。vD,解密解密(decrypt):加密的逆变换。):加密的逆变换。vZ,密钥密钥(key):是参与加密解密变换的参数。):是参与加密解密变换的参数。密码系统(密码系统(Cryptosystem)v定义定义:(密码体制)密码体制)它是一个五元组(它是一个五元组(P,C,K,E,D)满足条件:满足条件:(1)P是可能明文的有限集;(明文空间)是可能明文的有限集;(明文空间)(2)C是可能密文的有限集;(密文空间)是可能密文的有限集;(密文空间)(3)K是一切可能密钥
8、构成的有限集;(密钥空间)是一切可能密钥构成的有限集;(密钥空间)*(4)任意)任意 ,有一个加密算法有一个加密算法 和相应的解密算法和相应的解密算法 ,使得,使得 和和 分别为加密解密函分别为加密解密函数,满足数,满足 。密码体制的分类密码体制的分类 v几种不同的分类标准几种不同的分类标准 按按操作方式操作方式进行分类进行分类操作方式:是明文变换成密文的方法。操作方式:是明文变换成密文的方法。v替代操作、置换操作、复合操作。替代操作、置换操作、复合操作。按照按照使用密钥的数量使用密钥的数量进行分类进行分类v对称密钥(单密钥)。对称密钥(单密钥)。v公开密钥(双密钥)。公开密钥(双密钥)。按照
9、按照对明文的处理方法对明文的处理方法进行分类进行分类v流密码。流密码。v分组密码。分组密码。柯克霍夫斯柯克霍夫斯(Kerckhoffs)假设假设 v假定:假定:密码分析者知道对方所使用的密码系统密码分析者知道对方所使用的密码系统包括明文的统计特性、加密体制(操作方式、处理方法包括明文的统计特性、加密体制(操作方式、处理方法和加和加/解密算法解密算法)、密钥空间及其统计特性。)、密钥空间及其统计特性。不知道密钥。不知道密钥。v密码体制的安全性仅应依赖于对密钥的保密,而不应依赖于密码体制的安全性仅应依赖于对密钥的保密,而不应依赖于对算法的保密。只有在假设攻击者对密码算法有充分的研究,对算法的保密。
10、只有在假设攻击者对密码算法有充分的研究,并且拥有足够的计算资源的情况下仍然安全的密码才是安全并且拥有足够的计算资源的情况下仍然安全的密码才是安全的密码系统。的密码系统。v一切秘密寓于密钥之中一切秘密寓于密钥之中 密码分析密码分析 v密码分析密码分析:从密文推导出明文或密钥:从密文推导出明文或密钥。v密码分析:常用的方法有以下密码分析:常用的方法有以下4类:类:惟密文攻击惟密文攻击(cybertext only attack):密码分析者有一):密码分析者有一个或更多的用同一个密钥加密的密文,通过对这些截获个或更多的用同一个密钥加密的密文,通过对这些截获的密文进行分析得出明文或密钥的密文进行分析
11、得出明文或密钥已知明文攻击已知明文攻击(knownplaintext attack):除要破译):除要破译的密文外,密码分析者有一些明文和用同一密钥加密这的密文外,密码分析者有一些明文和用同一密钥加密这些明文所对应的密文。些明文所对应的密文。选择明文攻击选择明文攻击(chosenplaintext attack):):密码分析密码分析者可得到所需要的任何明文所对应的密文,这些密文与者可得到所需要的任何明文所对应的密文,这些密文与要破译的密文是用同一个密钥加密得来的要破译的密文是用同一个密钥加密得来的选择密文攻击选择密文攻击(chosenciphertext attack):):密码分密码分析者
12、可得到所需要的任何密文所对应的明文,解密这些析者可得到所需要的任何密文所对应的明文,解密这些密文所使用的密钥与要破译的密文的密钥是相同的密文所使用的密钥与要破译的密文的密钥是相同的密码分析密码分析 密码系统密码系统 v一个好的密码系统应满足一个好的密码系统应满足:系统理论上安全,或计算上安全;系统理论上安全,或计算上安全;系统的保密性是依赖于密钥的,而不是依赖于对加密体系统的保密性是依赖于密钥的,而不是依赖于对加密体制或算法的保密;制或算法的保密;加密和解密算法适用于密钥空间中的所有元素;加密和解密算法适用于密钥空间中的所有元素;系统既易于实现又便于使用。系统既易于实现又便于使用。加密的功能加
13、密的功能v保密性保密性:基本功能,使非授权者无法知道消息的内容。:基本功能,使非授权者无法知道消息的内容。v鉴别鉴别:消息的接收者应该能够确认消息的来源。:消息的接收者应该能够确认消息的来源。v完整性完整性:消息的接收者应该能够验证消息在传输过程中没有:消息的接收者应该能够验证消息在传输过程中没有被改变。被改变。v不可否认性不可否认性:发送方不能否认已发送的消息。:发送方不能否认已发送的消息。古典加密技术古典加密技术从古到今有无数种加密方法,但归类起来,古代主要是代替密从古到今有无数种加密方法,但归类起来,古代主要是代替密码、置换密码以及两者的结合。码、置换密码以及两者的结合。v代替密码代替密
14、码简单代替密码简单代替密码多码代替密码多码代替密码多字母代替密码多字母代替密码多表代替密码多表代替密码v置换密码:置换密码:换位密码换位密码2.2 传统密码及其破译传统密码及其破译Scytale密码和恺撒密码密码和恺撒密码 v最先有意识的使用一些技术的方法来加密信息的可能是公元最先有意识的使用一些技术的方法来加密信息的可能是公元前前500年的古希腊人。他们使用的是一根叫年的古希腊人。他们使用的是一根叫scytale的棍子。的棍子。送信人先绕棍子卷一张纸条,然后把要写的信息打纵写在上送信人先绕棍子卷一张纸条,然后把要写的信息打纵写在上面,接着打开纸送给收信人。如果不知道棍子的粗细是不可面,接着打
15、开纸送给收信人。如果不知道棍子的粗细是不可能解密里面的内容的,如下图所示。能解密里面的内容的,如下图所示。公元前公元前50年,著名的恺撒大帝发明了一种密码叫做恺撒密年,著名的恺撒大帝发明了一种密码叫做恺撒密码。在恺撒密码中,每个字母都与其后第三位的字母对应,码。在恺撒密码中,每个字母都与其后第三位的字母对应,然后进行替换。如果到了字母表的末尾,就回到开始,如然后进行替换。如果到了字母表的末尾,就回到开始,如此形成一个循环。当时罗马的军队就用恺撒密码进行通信。此形成一个循环。当时罗马的军队就用恺撒密码进行通信。v恺撒密码明文字母表:恺撒密码明文字母表:A B C D E F G X Y Zv恺撒
16、密码密文字母表:恺撒密码密文字母表:D E F G H I J A B Cv26个字符代表字母表的个字符代表字母表的26个字母,从一般意义上说,也可个字母,从一般意义上说,也可以使用其它字符表,一一对应的数字也不一定要是以使用其它字符表,一一对应的数字也不一定要是3,可,可以选其它数字。以选其它数字。Caesar密码密码 乘数密码算法乘数密码算法v加密函数取形式为加密函数取形式为 e(x)=ax(mod 26),aZ26 要求唯一解的充要条件是要求唯一解的充要条件是gcd(a,26)=1 该算法描述为:该算法描述为:设设P=C=Z26,K=a Z26|gcd(a,26)=1,对对k=a K,定
17、义定义 ek(x)=ax(mod 26)和和dk(y)=a-1(y)(mod 26),x,y Z26例子例子:a=9,ABCDEFGHIJKLMNOPQRSTUVWXYZ AJSBKTCLUDMVENWFOXGPYHQZIR 明文明文 密文密文 cipher=SUFLKX乘数密码分析乘数密码分析v对于乘数密码,当且仅当对于乘数密码,当且仅当a与与26互素时,加密变换才互素时,加密变换才是一一映射的,因此是一一映射的,因此a的选择有的选择有11种:种:a=3,5,7,9,11,15,17,19,21,23,25 可能尝试的密钥只有可能尝试的密钥只有11个个栅栏密码栅栏密码v所谓栅栏密码,就是把要
18、加密的明文分成所谓栅栏密码,就是把要加密的明文分成N个一组,然后把个一组,然后把每组的第每组的第i个字连起来,形成一段无规律的话。个字连起来,形成一段无规律的话。就是组成栅就是组成栅栏的字母一般不会太多。(一般不超过栏的字母一般不会太多。(一般不超过30个)个)v一般比较常见的是一般比较常见的是2栏的栅栏密码。栏的栅栏密码。比如明文:比如明文:THERE IS A CIPHER 去掉空格后变为:去掉空格后变为:THEREISACIPHER 两个一组,得到:两个一组,得到:TH ER EI SA CI PH ER 先取出第一个字母:先取出第一个字母:TEESCPE 再取出第二个字母:再取出第二个
19、字母:HRIAIHR 连在一起就是:连在一起就是:TEESCPEHRIAIHR v解密的时候,我们先把密文从中间分开,变为两行:解密的时候,我们先把密文从中间分开,变为两行:T E E S C P E H R I A I H R 再按上下上下的顺序组合起来:再按上下上下的顺序组合起来:THEREISACIPHER 分出空格,就可以得到原文了:分出空格,就可以得到原文了:THERE IS A CIPHER 栅栏密码栅栏密码仿射密码仿射密码v仿射密码是一种替换密码。它是一个字母对一个字母的。仿射密码是一种替换密码。它是一个字母对一个字母的。它的加密函数是它的加密函数是 ,其中其中 a和和m互质。互
20、质。m是字母的数目。是字母的数目。解密函数为:解密函数为:v例例 设设k(7,3),),注意到注意到7-1(mod 26)=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(mod 26)若加密明文:若加密明文:hot,首先转换字母首先转换字母h,o,t成为数字成为数字7,14,19,然后加密:然后加密:解密:解密:希尔密码希尔密码v希尔密码(希尔密码(Hill Password)是运用)是运用基本矩阵论原理基本矩阵论原理的的多
21、字多字母代换密码母代换密码,由,由Lester S.Hill在在1929年发明。每个字母当年发明。每个字母当作作26进制数字:进制数字:A=0,B=1,C=2.一串字母当成一串字母当成n维向量,维向量,跟一个跟一个nn的矩阵相乘,再将得出的结果模的矩阵相乘,再将得出的结果模26。注意用作。注意用作加密的矩阵(即密匙)加密的矩阵(即密匙)是可逆的,否则就不可能译码。只是可逆的,否则就不可能译码。只有矩阵的行列式和有矩阵的行列式和26互质,才是可逆的。互质,才是可逆的。其中所有的运算都是在其中所有的运算都是在 中进行。中进行。v例例 假定密钥假定密钥K是是 ,则,则K-1=。现在我们加密。现在我们
22、加密明文明文july分为两个明文组(分为两个明文组(9,20)(相应于)(相应于ju)和()和(11,24)(相应于)(相应于ly)。计算如下:)。计算如下:因此,因此,july的加密是的加密是DELW。同理,可使用同理,可使用K-1进行解密。进行解密。Vigenre密码密码 v构成构成明文:每个字符惟一对应一个明文:每个字符惟一对应一个025间的数字。间的数字。密钥:一个字符串,其中每个字符同明文一样对应一密钥:一个字符串,其中每个字符同明文一样对应一个数字,代表位移值,如个数字,代表位移值,如a 表示位移表示位移 0,b 表示位移表示位移 1,c 表示位移表示位移 2,.)。)。v加密过程
23、:加密过程:将明文数字串依据密钥长度分段,并逐一与密钥数字将明文数字串依据密钥长度分段,并逐一与密钥数字串相加(模串相加(模26),得到密文数字串;),得到密文数字串;最后,将密文数字串转换为字母串。最后,将密文数字串转换为字母串。v例例 设设m6,且密钥字是,且密钥字是k=CIPHER,这相应于密钥。假定明这相应于密钥。假定明文串是文串是 this cryptosystem is not secure 首先将明文串转化为数字串,按首先将明文串转化为数字串,按6个一组分段,然后模个一组分段,然后模26“加加”上密钥字得:上密钥字得:相应的密文串将是相应的密文串将是:VPXZGIAXIVWPUB
24、TTMJPWIZITWZT解密过程与加密过程类似解密过程与加密过程类似,不同的只是进行模不同的只是进行模26减减,而不是模而不是模26加。加。置换密码置换密码 v在简单的纵行置换密码中,把明文按列写入,按行读出,而在简单的纵行置换密码中,把明文按列写入,按行读出,而密钥事实上由两方面信息组成:行宽、列高,读出顺序默认密钥事实上由两方面信息组成:行宽、列高,读出顺序默认从左到右。一个简单纵行置换密码比如:明文:从左到右。一个简单纵行置换密码比如:明文:computer graphics may be slow,按照列宽,按照列宽10个字符的方式写出为:个字符的方式写出为:c o m p u t
25、e r g ra p h i c s m a y b e s l o wv可以得到密文:可以得到密文:caeopsmhlpioucwtsemragyrb,v下面是一个由密钥确定读出顺序的例子:如果再加上密钥:下面是一个由密钥确定读出顺序的例子:如果再加上密钥:密钥:密钥:43 1 2 567明文:明文:attackp ostpone duntilt woamxyzv按照密钥大小的顺利,按照列的字符得到密文:按照密钥大小的顺利,按照列的字符得到密文:TTNAAPTMTSUOAODWCOIXPETZ。置换密码置换密码 v例例 假定假定m6,密钥是以下置换,密钥是以下置换 :;则逆置;则逆置换换 为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 密码学 基本概念 理论基础 课件
限制150内