信息安全概述第2章.ppt

上传人:za****8 文档编号:15860374 上传时间:2020-09-10 格式:PPT 页数:79 大小:3.18MB
收藏 版权申诉 举报 下载
信息安全概述第2章.ppt_第1页
第1页 / 共79页
信息安全概述第2章.ppt_第2页
第2页 / 共79页
信息安全概述第2章.ppt_第3页
第3页 / 共79页
资源描述:

《信息安全概述第2章.ppt》由会员分享,可在线阅读,更多相关《信息安全概述第2章.ppt(79页珍藏版)》请在装配图网上搜索。

1、第 二 章,信息加密与密码分析,2020/9/10,主要内容, 密码学的基本概念,加密类型,混合加密方法以及消息一致性 密码学应用,密码分析与攻击 加密领域中两种主流加密技术:DES加密和RSA加密。 加密工具PGP,密码学的发展,第一阶段是1949年之前的古典密码学时期 这阶段的研究特点是: 1. 密码学还不是科学,而是艺术 2. 出现一些密码算法和加密设备 3. 密码算法的基本手段出现,主要针对字符 4. 简单的密码分析手段出现,数据的安全基于算法的保密。,一、密码学概述,第二阶段是1949-1975年近代密码学时期 主要研究特点是:数据安全基于密钥而不是算法的保密。,第三阶段是1976年

2、以后的公钥密码学时期 该阶段具有代表性的事件是: 1976年,Diffie和Hellman提出了不对称密钥。 1977年,Rivest,Shamir和Adleman提出了RSA公钥算法。 1977年,DES算法出现。,80年代,出现IDEA和CAST等算法。 90年代,对称密钥密码算法进一步成熟,Rijndael,RC6等出现,逐步出现椭圆曲线等其他公钥算法。 2001年,Rijndael成为DES算法的替代者。 2004年8月,山东大学信息安全所所长王小云在国际会议上首次宣布了她及她的研究小组对MD5、HAVAL-128、MD4和RIPEMD等四个著名密码算法的破译结果,引起世界轰动。,密码

3、技术简介,经典的密码学是关于加密和解密的理论,主要用于保密通信。现已应用于保证电子数据的保密性、完整性和真实性。,现代密码技术的应用已经深入到数据处理过程的各个环节,包括:数据加密、密码分析、数字签名、信息鉴别、零知识认证、秘密共享等。,密码学的数学工具也更加广泛,有概率统计、数论、代数、混沌和椭圆曲线等。,常用密码学专业术语包括:消息和加密、鉴别、完整性和抗抵赖性、算法和密钥、对称算法和公开密钥算法(非对称算法),等等。,消息和加密,鉴别、完整性和抗抵赖性,除了提供机密性外,密码学需要提供三方面的功能:鉴别、完整性和抗抵赖性。,鉴别:消息的接收者应该能够确认消息的来源;入侵者不可能伪装成他人

4、。,完整性:消息的接收者应该能够验证在传送过程中消息没有被修改;入侵者不可能用假消息代替合法消息。,抗抵赖性:发送消息者事后不可能虚假地否认他发送的消息。,算法和密钥,加密和解密运算使用同一个密钥,加密和解密运算使用不同的密钥,对称算法和公开密钥算法,对称算法要求发送者和接收者在安全通信之前,协商一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都能对消息进行加解密。 对称算法可分为两类:序列算法和分组算法。,公开密钥算法的加密的密钥和解密的密钥不同,而且解密密钥不能根据加密密钥计算出来,或者至少在可以计算的时间内不能计算出来。,二、加密类型简介,Scytale密码和恺撒密码,最先有

5、意识的使用一些技术的方法来加密信息的可能是公元前500年的古希腊人。他们使用的是一根叫scytale的棍子。送信人先绕棍子卷一张纸条,然后把要写的信息纵写在上面,接着打开纸送给收信人。如果不知道棍子的粗细是不可能解密里面的内容的。,公元前50年,著名的恺撒大帝发明了一种密码叫做恺撒密码。在恺撒密码中,每个字母都与其后第三位的字母对应,然后进行替换,比如“a”对应于“d”,“b”对应于“e”,以此类推。如果到了字母表的末尾,就回到开始,例如“z”对应于“c”,“y”对应于“b”,“x”对应于“a”,如此形成一个循环。当时罗马的军队就用恺撒密码进行通信。 恺撒密码明文字母表:A B C D E F

6、 G X Y Z 恺撒密码密文字母表:D E F G H I J A B C于是就可以从明文得到密文: 比如:明文为“veni,vidi,vici”得到的密文“YHAL, YLGL,YLFL”,意思是“我来,我见,我征服”,曾经是恺撒征服本都王法那西斯后向罗马元老院宣告的名言。,代替密码和置换密码,代替 密码,简单代替密码,多名码代替密码,多字母代替密码,多表代替密码,维吉尼亚密码、博福特密码、滚动密钥密码、 弗纳姆密码、转轮机等,置换密码:明文的字母保持相同但顺序被打乱了。,代替密码:明文中的每一个字符被替换成密文中的另一个字符。,转轮机,上个世纪20年代,出现了转轮密码,而由德国发明家亚瑟

7、谢尔比乌斯发明的Enigma 密码机最为著名。它主要由经电线相连的键盘、转子和显示器组成,转子本身也集成了26条线路,把键盘的信号对应到显示器不同的小灯上去。,德国人为了战时使用,大大加强了其基本设计,军用的Enigma由3个转轮,从5个转轮中选取。转轮机中还有一块稍微改名明文序列的插板,有一个反射器导致每个转轮对每一个明文字母操作两次。,转子自身的初始方向,转子之间的相互位置,以及连接板连线的状况就组成了所有可能的密钥:三个转子不同的方向组成了262626=17576种不同可能性;三个转子间不同的相对位置为6种可能性;连接板上两两交换6对字母的可能性数目非常巨大,有100391791500种

8、;于是一共有175766100391791500,大约为10000000000000000,即一亿亿种可能性。,一次一密乱码本,这个方案需要注意两点: 一是密钥字母必须是真正随机产生的; 二是密钥不能重复使用。,无法破解的理想加密方案。,一次一密乱码本的缺点就是要求密钥序列的长度必须等于消息的长度,这使它非常不适于加密较长的消息,另外要保证发送者和接受者是完全同步的,因为哪怕传输中仅仅有1位的偏移,就会导致消息变成乱七八糟的东西,无法解密。,对称与非对称算法,分组密码和序列密码,按照加密时对明文的处理方法分类,密码算法可以分为两类:分组密码和序列密码。 分组密码将明文分成固定长度的组,典型分组

9、长度是64位用同一密钥和算法对每一块加密,输出也是固定长度的密文,密钥的位数和这个固定的位数大致相等。 序列密码每次加密一位或一字节的明文,也称为流密码。序列密码使用尽可能长的密钥,由于长的密钥的存储,分配都很困难,因此,采用一个较短的密钥来控制某种算法来产生出长的密钥。序列密码的加解密器采用较简单的模2加法器,这使它的实现相当简单,于是,它的关键就是产生密钥序列的算法。,三、常用加密算法简介,1990年赖学家和梅西开发的IDEA密码首次成形,称为PES,即“建议的加密标准”。次年,根据有关专家对这一密码算法的分析结果,设计者对该算法进行了强化并称之为IPES,即“改进的建议加密标准”。该算法

10、于1992年更名为IDEA,即“国际加密标准”。,IDEA算法,IDEA有多达251个弱密钥,这些弱密钥是否会威胁它的安全性还是一个迷。但毫无疑问,IDEA密码能够抵抗差分分析和线性分析。,IDEA是一个对称迭代分组密码,分组长度为64比特,密钥长度为128比特。IDEA的软件实现速度与DES差不多。但硬件实现速度要比DES快得多,快将近10倍。,IDEA密码中使用了以下三种不同的运算: 1.逐比特异或运算; 2.模2加运算; 3.模2+1乘运算。,2000年10月,NIST宣布通过从15种候选算法中选出的一项新的密钥加密标准。AES有如下优点: 可变的密钥长度 混合的运算 数据相关的圈数 密

11、钥相关的圈数 密钥相关的S盒 长密钥调度算法 变量F 可变长明文/密文块长度 可变圈数 每圈操作作用于全部数据 这个加密体系是一种对称分组加密方法,因为信息的内容是以128位长度的分组为加密单元的。加密密钥长度有128,192或256位多种选择。,AES算法,序列算法体制是:密钥反馈算法,产生一个无穷序列(这种算法通常称为序列产生器或密钥流产生器),但是,在实际应用中很难做到产生无穷序列,达到所谓的完全保密,所以现在实际应用的序列密码体制都产生伪随机密码序列。,RC4序列算法,RC4是目前使用较多,性能也较好的序列算法,它由Ron Rivest在1987年为RSA公司开发,是可变密钥长度的序列

12、密码,该算法以OFB方式工作:密钥序列与明文互相独立。它有一个88的S盒:S0,S1,S255。所有项都是数字0到255的置换,并且这个置换是一个可变长度密钥的函数。它有两个计数器:i和j,初值为0。要产生一个随机字节,需要按下列步骤进行: i=(i+1)mod256 j=(j+Si)mod256 交换Si和Sj t=(Si+Sj)mod256 K=St 字节K与明文异或产生密文,或者与密文异或产生明文。RC4的加密速度很快,大约是DES的10倍。,RC5是对称加密算法,由RSA公司的首席科学家Rivest于1994年设计,1995年正式公开的一个很实用的加密算法。它主要通过数据循环来实现数据

13、的扩散和混淆。每次循环的次数都依赖于输入数据,事先不可预测。 RC5实际上是由三个参数决定的一组加密算法,即分组长度W,密钥长度b和轮数r,见下表:,RC5算法,RC5算法的特点是: 适用于软件或者硬件实现; 运算速度快; 能适应于不同字长的程序; 加密的轮数可变; 密钥长度是可变的; RC5形式简单,易于实现,加密强度可调节; 对记忆度要求不高; 高保密性; 对数据实行bit循环移位(增强抗攻击能力);,1985年,N. Koblitz和V. Miller分别独立提出了椭圆曲线密码体制,其依据就是定义在椭圆曲线点群上的离散对数难题。 Koyama等在Crypto91、Demytko在Euro

14、crypt93中分别提出了新的基于椭圆曲线的单项限门函数,生成了类似于RSA的公钥密码算法。椭圆曲线密码体制和RSA体制比较起来,所需要的密钥量小,安全程度高,比如RSA密码体制需要1024-bit的密钥才能达到的安全程度,利用椭圆曲线只需要160比特位的密钥就能够保证同样的安全,密钥长度的减少同时带来了计算速度的提高。,椭圆曲线算法,1973年,美国国家标准局 NBS在认识到建立数据保护标准既明显又急迫需要的情况下,开始征集联邦数据加密标准的方案。 1975年3月17日,NBS公布了IBM 公司提供的密码算法,以标准建议的形式在全国范围内征求意见。 1977 年7月15日, NBS宣布接受这

15、个建议,作为联邦信息处理标准46号,即 DES正式颁布,供商业界和非国防性政府部门使用。 DES成为世界范围内标准20多年。,四、EDS对称加密标准,1977年Diffie和Hellman提出了制造一个每秒能测试106个密钥的大规模芯片,这种芯片的机器大约一天就可以搜索DES算法的整个密钥空间。 1993年R.Session和M.Wiener给出了一个非常详细的密钥搜索机器的设计方案,此芯片每秒测试5107个密钥。 DES的56位短密钥面临的另外一个严峻而现实的问题是:国际互联网Internet的超级计算能力。1997年1月28日,美国的RSA数据安全公司在互联网上开展了一项名为“密钥挑战”的

16、竞赛,悬赏一万美元,破解一段用56位密钥加密的DES密文。 1997年6月17日晚上10点39分,美国盐湖城Inetz公司的职员Michael Sanders用了96天时间成功地找到了密钥,得到了明文。 一年之后,在第二届赛事上,这一记录41天 ;1998年7月, “第2-2届DES挑战赛(DES Challenge II-2)” 把破解DES的时间缩短到了只需56个小时; “第三届DES挑战赛(DES Challenge III)”把破解DES的时间缩短到了只需22.5小时 。,上表中攻击者配有如下计算机资源的攻击能力,DES由以下四个部分组成。 1. 初始置换函数 E 明文分组操作: 64

17、位明文分组X经过一个初始置换函数IP,产生64位的输出Xo, 再将分组Xo分成左半部分Lo和右半部分Ro, 即 :Xo=IP(x)=LoRo 置换表如下表所示。此表顺序为从上到下, 从左至右。如初始置换把明文的第58位换至第1位, 把第50位换至第二位 , 以此类推。,DES算法的描述,初始置换 IP 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37

18、 29 21 13 5 63 55 47 39 31 23 15 7,2.获取子密钥Kj,DES加密算法的密钥长度为56位,但一般表示为64位,其中,每个第8位用于奇偶校验。在DES加密算法中,将用户提供的64位初始密钥经过一系列的处理 得到K1, K2,K16,分别作为1-16轮运算的16个子密钥。首先,将64位密钥去掉8个校验位,用密钥置换PC-1置换剩下的56位密钥;再将56位分成前28位Co和后28位Do两部分,即PC-1(K)=CoDo。密钥置换PC-1如下表所示。,密钥置换PC - 1,每轮移动的位数,移动后,将两部分合并成56位后通过压缩置换 PC-2 后得到48位子密钥,即Kj

19、=PC-2(CjDj)。压缩置换如下表所示,压缩置换 PC-2,3. 密码函数F 1) 函数F的操作步骤 密码函数F的输入是 32 比特数据和 48 比特的子密钥 , 其操作步骤如图所示,(1) 扩展置换(E)。将数据的右半部分Rj从32位扩展为48位。位选择函数(也称E盒 )如表所示,(2)异或。扩展后的48位输出E(Ri)与压缩后的48位密钥 Ki作异或运算。 (3)S盒替代。将异或得到的48位结果分成八个6位的块, 每一块通过对应的一个S盒产生一个4位的输出。,S盒的具体置换过程为: 某个Si盒的6位输入的第1位和第6位形成一个2位的二进制数从0-3, 对应表中的某一行: 同时, 输入的

20、中间4位构成4位二进制数0-15对应表中的某一列。,例如, 第8个S盒的输入为001011,前后2位形成的二进制数为01, 对应第8个S盒的第1行:中间4位为0101,对应同一S盒的第5列。从表中可得S8盒的第1行第5列的数为8,于是就用1000代替原输入001011。,(4) P盒置换。将八个S盒的输出连在一起生成一个32位的输出, 输出结果再通过置换P产生一个32位的输出即: F(Ri, Ki) 。 下表为P盒置换。至此, 密码函数F的操作就完成了。 最后, 将P盒置换的结果与最初的64位分组的左半部分异或,然后左、右半部分交换, 接着开始下一轮计算。,函数F的设计 函数F是DES加密的核

21、心,它依赖于S盒的设计。这也适用于其它的对称分组加密算法。 (1) F的设计准则 函数F的基本功能就是扰乱 (confusion)输入, 因此 , 对于F来说, 其非线性越高越好, 也就是说, 要恢复F所做的 扰乱 操作越难越好。其它的设计准则还包括严格雪崩准则和比特独立准则。就是要求算法具有良好的雪崩效应, 输入当中的一个比特发生变化都应当使输出产生尽可能多的比特变化。,(2) S盒设计。S盒的作用就是对输入向量进行处理, 使得输出看起来更具随机性 , 输入和输出之间应当是非线性的,很难用线性函数来逼近。 一个nm的S盒其输入为n比特,输出为m比特。盒越大,就越容易抵制差分和线性密码分析。

22、Mister 和AdamslS盒设计原则, 高度非线性和最高阶的严格雪崩准则。,4. 未置换函数 IP 末置换是初始置换的逆变换。对Lo和Ro进行16 轮完全相同的运算后,将得到的两部分数据合在一起,经过一个末置换函数就可得到64位的密文c,即: C=IP (R16L16) 下表列出了该变换。,末置换 IP 40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31 38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29 36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27 34 2 42

23、 10 50 18 58 26 33 1 41 9 49 17 57 25,五、RSA公钥加密技术,RSA算法 参数选择: 寻找两素数p和q,计算n=pq ,计算(n) =(p-1)(q-1) 取任何一个数e,要求满足e取de mod (n) =1 这样最终得到三个数: n,d,e (其中d 为公钥, e 为私钥) 设加密消息为M 计算c=Md mod n 解密过程:接收者接收到c后 计算m=ce mod n解密m。,数字签名算法: 签名者要对消息M签名,计算 c=Me mod n 验证者利用公钥d,验证 M=cd modn 如果成立,通过验证,RSA算法的安全性,RSA算法的安全性依赖于大数

24、分解,但是否等同于大数分解一直未能得到理论上的证明,因为没有证明破解,RSA算法就一定需要作大数分解。假设存在一种无须分解大数的算法,那它肯定可以修改成为大数分解算法。目前, RSA 算法的一些变种算法已被证明等价于大数分解。不管怎样,分解n是最显然的攻击方法。现在,人们已能分解多个十进制位的大素数。因此,模数n必须选大一些。,RSA算法的速度,由于进行的都是大数计算,使得RSA算法最快的情况也比DES算法慢上数倍,无论是软件还是硬件实现,速度一直是RSA算法的缺陷,一般来说只用于少量数据加密。 RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。也是被研究得最广泛的公钥算法,

25、从提出到现在二十几年,经历了各种攻击的考验,逐渐为人们接受,被普遍认为是目前最优秀的公钥方案之一。,密码分析学的任务是破译密码或伪造认证密码,窃取机密信息或进行诈骗破坏活动。对一个保密系统采取截获密文、进行分析的方法进行进攻,称为被动进攻;非法入侵者采用删除、更改、添加、重放、伪造等手段向系统注入假消息的进攻是主动进攻。,五、密码分析与攻击,典型的攻击方法,2. 已知明文攻击 在某些情况下,攻击者可能知道部分或全部加密的明文。这种知情度可能使攻击者能够较轻松地使用该协议确定密钥和或破译其它消息。,1. 唯密文攻击 这种攻击几乎总是对攻击者开放。其思想是只基于加密的消息,攻击者尝试推算出明文。对

26、密钥的蛮力攻击是此类攻击的一个示例。,3. 选择明文攻击 每次攻击者插入一个选中的明文并截取其加密版本,他都确定该加密方法的一些统计特性。稍后选择一些明文来分别试验确定加密方法的不同特性。,假设Alice运行着一个过滤出可疑电子邮件病毒的邮件服务器。她将可疑邮件的加密副本转发给病毒专家Bob。攻击者可以故意将一个病毒邮寄给Alice,并知道其特定内容将出现在 Alice发送给 Bob 的消息中。,4. 选择密文攻击 攻击者可能能够确定如何对选中的密文解密。,例如,攻击者可能伪造一份从Bob到Alice的加密消息。Alice试图对消息解密,却得到一些杂乱的数据。但是 Alice可能将这些杂乱数据

27、寄回给Bob或者以某种不安全的方式存储它。通过选择带有期望特性的密文,攻击者有可能获得实际解密的内部信息。,5. 软磨硬泡法攻击 有对密文的攻击,就有密文泄露。有许多种几乎不用对协议算法的数学行为进行分析就能破解协议的方法。 当然,现实世界加密系统中还会产生其它人为因素弱点。可以在人们的抽屉里搜索写着密码的草稿纸。当别人阅读秘密消息或输入密码时,您可以在他背后偷看。您可以给别人打电话并谎称某人出于合法原因需要秘密。,算法攻击举例,字母频率攻击,古代密码多数可以通过字母频率攻击来破解,以恺撒密码为例,即使在不知道移位所对应的数字是3的情况下,可以通过检查字母出现的频率来推测。,原文:p a n

28、d a s o f t w a r e 密码:s d q g d v r i w z d u h,在这里,“d”出现的次数最多,由于英语中最常出现的两个字母是“a”和“e”,于是可以分别进行检验。在“e”的情况下,“d”在“e”的后面第25位,然后用25来检验其它字母,出现如下情况: 密码:s d q g d v r i w z d u h 向后25位译码:t e r h e w s j x a e v i,然后再用3来试验,可以得到如下结果: 密码:s d q g d v r i w z d u h 向后3位译码:p a n d a s o f t w a r e,下面是几种因数分解的算法:

29、 试探除法:最老也是最笨的方法,穷举所有小于 sqrt(n) 的质数,耗时以指数率增长。 二次筛法(QS):对10110 以内的数是最快的算法。 MPQS:QS的改进版本,要快一些。 分区筛法(NFS):目前对大于 10110的数是最快的算法。曾被用来成功地分解过第九费马数。,对RSA的算法攻击,最好的算法具有超多项式率的时间复杂度,NFS具有最接近于多项式率的表现。,大数分解仍然是困难的,可是随着数论和计算能力的发展,它变得容易了。 1977年,Rivest说过分解一个125位的数需要花费41013年。 1994年,RSA129被分解了,是利用 internet 上一些计算机的空闲CPU周期

30、一共花了8个月完成的。 1995年,Blacknet密钥被分解,用了几十台工作站和一台MarPar,历时3个月。,选择密文攻击,假设攻击者为A,密文收件人为T,A得到了发往T的一份密文c,他想不通过分解质因数的方法得到明文。换句话说,他需要m=cd 。,A选择一个随机数r,rn,当然他有T的公匙(e,n)。计算:,x=re modn (用T的公匙加密r) y=xc modn (将临时密文x与c相乘) t=r-1 modn,A将y发送给T,T利用私钥解密密文y,计算u=ydmodn,,T将u发送给A,A易计算m=tu modn,tu modn =(r-1)*(xd)(cd) modn =(cd)

31、 modn= m,防止这种攻击的办法就是不要对外来的随机信息签名。,过小的加密指数e,e是一个小数并不降低RSA的安全性。从计算速度考虑,e越小越好。可是,当明文也是一个很小的数时就会出现问题。,例如我们取e=3,而且我们的明文m比n的三次方根要小,那么密文c=memodn 就会等于m3。这样只要对密文开三次方就可以得到明文。,RSA的计时攻击法,RSA的基本运算是乘方取模,这种运算的特点是耗费时间精确取决于乘方次数。这样如果A能够监视到RSA解密的过程,并对它计时,他就能算出d来。,抵御这种攻击最简单的方法就是使RSA在基本运算上花费均等的时间,而与操作数无关。其次在加密前对数据做变换,在解

32、密端做逆变换,总时间就不再依赖于操作数了。,公共模数攻击,它是指几个用户公用一个模数n,各自有自己的e和d,在几个用户之间公用n会使攻击者能够不用分解n而恢复明文。,在一个房子里要有多少人才能保证至少有一人和你的生日是一样?答案是253人。那么同样一个房子里要有多少人才能保证至少其中两人的生日一样呢?答案是23人。 如果一个单向散列算法的最好的攻击方法是穷举攻击,而其输出是64位散列值。那么如果寻找一个消息使其散列值与给定消息的散列值一样,需要计算264次,而如果找两个具有同样散列值的消息只需要计算232次,对于后者每秒计算100万次的计算机只需要1个小时就能完成,对于前者,同样的计算机则需要

33、花费60万年。,对单向散列算法的“生日”攻击,对于用单向函数加密的口令文件而言,攻击者可以编制一个包括100万个常用口令的口令表,然后用单向函数对这100万个口令进行运算,并将结果保存起来。只要攻击者偷出加密后的口令文件,将它与自己的可能的口令文件进行比较,再观察哪个能匹配,就可以成功破解口令了。,字典攻击和重放攻击,重放攻击指的是收集特定的IP包,篡改其数据,然后再一一重新发送,欺骗接收的主机。,六、密码学应用,密码应用模式,目前分组密码的实现有很多模式,例如有电码本模式(ECB模式),密文链接模式(CBC模式),密文反馈模式(CFB模式)以及输出反馈模式(OFB模式)。,电码本模式(ECB

34、)是所有模式中最基本的一种。每次加密的分组是64位二进制位,所用的密钥也是64位二进制位,但由于其中有8位二进制位是用于校验的,因此实际的密钥位数是56位。每个将要被加密的消息必须分成64位二进制位大小的分组,如果最后一个分组不足64位,必须补齐。ECB对每组进行加密,加密后将各组密文合并成密文消息。,密文中的每一位都是密钥的每一位和64位明文中每一位的函数,也就是说,明文或密钥中的一位发生变化将导致密文中50%的位发生变化。很明显,在这种模式中,每组的密文都和其它组的密文独立。因此,相同的明文组将产生相同的密文组,这样就会泄露明文的数据模式。,密文链接模式(CBC)。这种模式和ECB模式一样

35、,也要将明文分成64位二进制的组,最后一组不足64位的要进行填充。所不同的是,每一当前要加密的分组将和前一分组的结果进行一次模2加。有时,最开始的一块和一个初始向量进行一次模2加。其加密过程如图所示。由于,每组密文是IV和所有的前面的密文组的函数,所以可以避免像ECB模式下的那种明文数据模式的泄露。,密文反馈模式(CFB)。这种模式使用DES产生密钥流对明文进行加密,并且将加密后的密文返回到输入端输入。,密钥序列是起始向量IV和反馈的密文的函数。这种模式采用的是流加密的方式,可以作用于1-64位二进制位。如果不足64位,则输出密文的多余位可以被扔掉。这种不用填充位的模式能够节省宝贵的网络带宽。

36、,输出反馈模式(OFB)。这种模式将一个分组密码转化成一个序列密码。具有普通序列密码的优缺点,如没有错误传播,利于加密冗余较大的数据。但这种模式并不适合在开放系统中作为安全通信的基础。,加密方式,在计算机网络中,信息加密的目的是保护网内的数据、文件、口令和控制信息,保护网上传输的数据。信息加密可分为两种,在传输过程中的数据加密称为“通信加密”,将存储数据进行加密称为“文件加密”。通信加密技术目的是对传输中的数据流加密,以防止通信线路上的窃听、泄漏、篡改和破坏。如果以加密实现的通信层次来区分,加密可以在通信的三个不同层次来实现,即节点加密、链路加密和端到端加密3种。节点加密的目的是对源节点到目的

37、节点之间的传输链路提供保护;链路加密的目的是保护网络节点之间的链路信息安全;端到端加密的目的是对源端用户到目的端用户的数据提供保护。,1.节点加密 从时间坐标来讲,它在信息被传入实际通信连接点之前进行;从逻辑空间坐标来讲,它在第一层、第二层之间进行;从实施对象来讲,是对相邻两节点之间传输的数据进行加密,不过它仅对报文加密,而不对报头加密,以便于传输路由根据其报头的标识进行选择。一般的节点加密使用特殊的加密硬件进行解密和重加密,而且该硬件通常放置在安全的保险箱中。,2. 链路加密 它在OSI七层参考模型的第二层,即数据链路层进行,是对相邻节点之间的链路上所传输的数据进行加密。链路加密侧重与在通信

38、链路上而不考虑信源和信宿,是对保密信息通过各链路采用不同的加密密钥提供安全保护,即不同节点对之间用不同的密码。链路加密是面向节点的,对于网络高层主体是透明的,它不仅对数据加密而且还对高层的协议信息(地址、检错、帧头帧尾)也加密,因此数据在传输中是密文的,但在中央节点必须解密得到路由信息。,3. 端到端加密 它在OSI七层参考模型的第六层或第七层进行,是为用户之间传送数据而提供的连续的保护。信息由发送端自动加密,并进入TCP/IP数据包回封,然后作为不可阅读和不可识别的数据穿过互联网,当这些信息一旦到达目的地,将自动重组、解密,成为可读数据。端到端加密是面向网络高层主体的,它不对下层协议进行信息

39、加密,协议信息以明文形式传输,用户数据在中央节点不需解密。由于网络本身并不会知道正在传送的数据是加密数据,这对防止拷贝网络软件和软件泄漏也很有效。而且网络上的每个用户可以拥有不同的加密密钥,而且网络本身不需要增添任何专门的加解密设备,但每个系统要具备加解密设备与软件,其中的加解密运算量也是相当大。,加密和验证协议,1. S/MIME 解决电子邮件安全问题的首要办法就是对电子邮件的加密,即在发送电子邮件之前将邮件加密,然后将电子邮件通过互联网送出;邮件到达收件人的时候解密。这样就可以达到保护邮件在传输过程中的基本安全。提到加密,我们不得不考虑这样一个问题;通过什么加密方法和手段加密邮件。安全的E

40、-mail软件通常提供的服务: 保密/加密保证只有希望的接收方能够阅读信息。 信息完整性保证发出的信息与接收到的完全一样,一个字符一个比特都不差。要说明的是发送一条信息并保证其完整性并不一定需要加密。 验证保证信息的发起者不是冒名顶替的。它同信息完整性一起可防止伪造。 抗否认证实发送者确实发送了信息而不管他是否承认。,常用的E-mail标准有MOSS、PEM、PGP、PGP/MIME和S/MIME等,其中MIME对象安全服务(MOSS)和保密增强邮件(PEM)是没有被广泛实现的标准。现在许多软件厂商都使用S/MIME作为安全E-mail的标准。S/MIME是在PEM的基础上建立起来的,但是它发

41、展的方向与MOSS不同。它选择使用RSA的PKCS#7标准同MIME一起使用来保密所有的Internet E-mail信息。S/MIME的标准化工作是由一个由RSA数据安全公司协调的工业联合会进行的。,S/MIME即安全/通用互联网邮件扩充服务,是一个用于保护电子邮件的规范,包括有认证、抗抵赖、数据完整性和消息保密性等。S/MIME已经发展到了V3版,提供如下的安全性增强: 封装的数据:允许用对称密码加密任何类型的MIME消息,从而支持保密性服务。然后用一个或多个接收者的公钥加密对称密钥。接着,将加密的数据和相应的加了密的对称密钥以及必要的接收者标识符一起附在数据后面。 签名的数据:提供数据完

42、整性服务,发送者对选定的内容计算消息摘要,如何用私钥加密 。,净签名数据:允许与S/MIME不兼容的阅读器阅读附加了完整性功能的原始数据,处理过程与上一条相同。 签名且封装的数据:同时提供签名和加密来提供完整性和保密性服务。 S/MIMEv3支持多种对称加密算法,它自身集成了带有40位密钥的RC2,RC2是RSA公司开发出来用于代替DES的对称分组加密算法。同样S/MIMEv3支持MD5和SHA-1,默认使用SHA-1,在S/MIMEv3协议中,发送方和接收方都支持DSA和RSA作为数字签名算法;对于密钥交换而言,则要求发送方和接收方支持DiffieHellman和RSA;会话密钥在发送方是要

43、求40位或者128位的RC2或3重DES,接收方支持128位的RC2或3重DES。,2. PGP,PGP是一个基于RSA公钥加密体系的邮件加密软件,也是个杂合算法,所谓“杂合”体现在它包含:一个对称加密算法(IDEA)、一个非对称加密算法(RSA)、一个单向散列算法(MD5)以及一个随机数产生器。 PGP 的创始人是美国的 Phil Zimmermann。他的创造性在于他把RSA公钥体系的方便和传统加密体系的高速度结合起来,并且在数字签名和密钥认证管理机制上有巧妙的设计。因此PGP成为几乎最流行的公钥加密软件包。 当使用者使用 PGP来对明文加密的时候,PGP首先会压缩这段明文。数据压缩能够节

44、省网络传输时间以及磁盘空间,还有更重要的是强化保密程度。大部分的密码分析技术利用伪明文攻击来破解密码。压缩后可以提高了对密码分析的抵抗力。,然后PGP会产生一个会话密钥,这把会话密钥是一种只有当时有效的密钥,是利用任意的鼠标移动以及键盘输入通过随机数产生器所产生的随机数。它以非常秘密而快速的传统加密算法来加密明文,即使用IDEA和会话密钥产生出密文。当数据加密完成后,这把会话密钥接着就会开始以收信者的公钥被加密。这个被公钥加密过的会话密钥将会与密文一并交付给收信者。 解密的过程就是反向运作了。收信者的 PGP会利用他的私钥来还原那把暂时的会话密钥,然后PGP再利用这把会话密钥来将IDEA加密过

45、的密文解密。,两种加密方法的结合汇聚了公钥加密算法的便利以及传统加密法的迅速。传统加密算法大约比公钥加密算法要快上 1,000 倍;而公钥加密算法则解决了密钥传递和数据传输的问题。双管齐下,效率和密钥传递两者同时改善了,而且不会有任何安全上的牺牲。 PGP还可以只签名而不加密,这适用于公开发表声明时,声明人为了证实自己的身份(在网络上只能如此了),可以用自己的私钥签名。这样就可以让收件人能确认发信人的身份,也可以防止发信人抵赖自己的声明。这一点在商业领域有很大的应用前途,它可以防止发信人抵赖和信件被途中篡改。,平常的时候用户的私钥用IDEA加密后存放在Secring.pgp文件中,加密所用的密

46、钥是由用户口令经过MD5变换而成的。签名时,用户提供口令,经MD5单向散列函数输出加密自己RSA私钥的IDEA密钥。PGP密钥管理模块取出加密后的RSA私钥,经过IDEA解密算法和IDEA密钥,恢复出明文的RSA私钥。另一方面,PGP读出被签名的文件内容,计算其MD5码。该码经过明文的RSA私钥和RSA加密算法加密以后,变成了被加密的MD5码,形成数字签名。然后再附加到原文件之后,合并为可以向外发送的传输文件。在上述操作之前,原文件可以经过或不经过压缩处理。 收件人得到带有数字签名的传输文件以后,需对数字签名进行鉴别。鉴别过程与签名过程类似。PGP的密钥管理模块首先取出签字人的RSA公钥,数字

47、签名经过RSA公钥和解密算法,恢复出被加密的MD5码。然后,PGP重新计算文件的MD5码,与前者对比。如果相同,宣布该文件属实;否则警告用户,文件或签名已经过改动。,PGP加密技术创造性地把RSA公钥体系和传统加密体系结合起来,并且在数字签名和密钥认证管理机制上有巧妙的设计,因此PGP成为目前几乎最流行的公钥加密软件包。 由于RSA算法计算量极大,在速度上不适合加密大量数据,所以PGP实际上用来加密的不是RSA本身,而是采用传统加密算法IDEA,IDEA加解密的速度比RSA快得多。PGP随机生成一个密钥,用IDEA算法对明文加密,然后用RSA算法对密钥加密。收件人同样是用RSA解出随机密钥,再用IEDA解出原文。这样的链式加密既有RSA算法的保密性和认证性,又保持了IDEA算法速度快的优势。,小 结,本章介绍了密码学的发展历史,常见的加密类型以及常用的加密算法,代表性的介绍了两种经典的算法DES和RSA算法,其他的一些算法并没有展开。 详细介绍了密码分析与攻击方法以及一些攻击实例,并介绍了密码学的基本应用。,

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!