- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二与章 密码学概论
第二章 密码学概论 ;本章内容;一 概述--加密解密基本过程;一 概述--加密解密基本过程;一 概述—密码体制分类;对称密码体制
对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都能对消息进行加/解密。
加密和解密用函数表示为:
EK(M)=C
DK(C)=M
对称算法可分为两类
一次只对明文中的单个位(有时对字节)运算的算法称为序列算法(stream algorithm)或序列密码(stream cipher)。
另一类算法是对明文的一组位进行运算,这些位组称为分组,相应的算法称为分组算法(block algorithm)或分组密码(b1ock cipher)。;一 概述—密码体制分类;一 概述—常用的密码分析攻击 ;一 概述—常用的密码分析攻击;一 概述—常用的密码分析攻击;一 概述—常用的密码分析攻击;一 概述—常用的密码分析攻击;一 概述—常用的密码分析攻击;一 概述—常用的密码分析攻击;本章内容;二 古典密码体制;二 古典密码体制-恺撒密码;加密信息将字母向前移动三位
解密信息将字母向后移动三位
移动的位数是关键,称之为密钥
加密和解密的密钥是相同的,我们称之为对称密码器;二 古典密码体制-恺撒密码;二 古典密码体制-恺撒密码;二 古典密码体制-恺撒密码;已知明文攻击:如果攻击者知道一个字符以及它的密文,那么他很快就可以通过加密字符与解密后的明文之间的间距推出密钥是多少。例如,如果知道t(=19)加密后变成D(=3),那么密钥
k=(3-19)mod 26=-16 mod 26=10。
选择明文攻击:选择一个字符a作为明文,则由密文可以推导出密钥。例如,如果密文是H,则密钥k就是7。
选择密文攻击:选择字符A作为密文,则由明文也可推导出密钥。例如,如果明文是h,则密钥
k=0-7 mod 26=19。
恺散密码虽然脆弱,仅对明文进行了不透明的封装,但它可防止消息明文被人意外的获取。
;二 古典密码体制-Playfair密码 ;基本原理
例如关键词取为monarchy时,字母矩阵为
;例
明文we are discovered save yourself
分组成为:
we ar ed is co ve re ds av ey ou rs el fk
用上述矩阵加密后的密文为:UG RM KC SX HM UF KM TB XO GC VM TA LU GE。
;二 古典密码体制-Playfair密码;二 古典密码体制-Vigenere密码;加密函数 Ek(x1, x2, …, xn)=
((x1+k1) mod 26, (x2+k2) mod 26, …,(xm+km) mod 26,
(xm+1+k1) mod 26,(xm+2+k2) mod 26,…,(x2m+km )mod 26,
(x2m+1+k1) mod 26,(x2m+2+k2) mod 26,…,(x3m+km) mod 26,
……
(xN-m+1+k1) mod 26,(xN-m+2+k2) mod 26,…,(xN+km) mod 26 )
密钥的第一个字符被加到明文的第1个、第(m+1)个、第(2m+1)个、第(3m+1)个字符上(进行mod 26运算)
密钥的第二个字符被加到明文的第2个、第(m+2)个、第(2m+2)个、第(3m+2)个字符上,依此类推。
;解密函数Dk假设密文Y=(y1, y2, …, yn),则解密函数为:Dk(y1, y2, …, yn)=
((y1-k1)mod 26,(y2-k2)mod 26,…,(ym-km)mod 26,
(ym+1-k1)mod 26,(ym+2-k2)mod 26,…,(y2m-km)mod 26,
(y2m+1-k1)mod 26,(y2m+2-k2)mod 26,…,(y3m-km)mod 26,
……
(yN-m+1-k1) mod 26,(yN-m+2-k2) mod 26,…,(yN-km) mod 26 );例子
为了容易记住密钥,常常使用英文单词来充当Vigenere密码的密钥。
使用密钥为vector,用数值表示则k=(21, 4, 2, 19, 14,17),m=6,来加密明文:here is how it works。
;例子
具体加密过程如下:
明文:h e r e i s h o w i t w o r k s
密钥:21 4 2 19 14 17 21 4 2 19 14 17 21 4 2 19
密文:C I T X
文档评论(0)