信息安全原理与技术-第2章-密码学基础_第1页
信息安全原理与技术-第2章-密码学基础_第2页
信息安全原理与技术-第2章-密码学基础_第3页
信息安全原理与技术-第2章-密码学基础_第4页
信息安全原理与技术-第2章-密码学基础_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第2章 密码学基础8/10/20221信息安全原理与技术本章主要内容密码学基本概念 对称密码体制 公钥密码体制 散列函数 数字签名信息隐藏与数字水印 8/10/20222信息安全原理与技术2.1 概 述经典密码:古埃及人用以保密传递的消息; 单表置换密码,凯撒密码, 多表置换密码,Vigenere密码等等近代密码:DES数据加密标准,70年代Diffie,Hellman 的开创性工作公钥体制的提出密码应用:电子数据,军事目的,经济目的。应用形式:数据的保密性、真实性、完整性。主要内容:数据加密,密码分析,数字签名,信息 鉴别,零泄密认证,秘密共享等等。信息攻击:主动攻击对数据的恶意删除、篡改等

2、 被动攻击从信道上截取、偷窃、拷贝 信息。 无意攻击错误操作、机器故障等。8/10/20223信息安全原理与技术2.2 密码学基本概念现代密码系统的组成 现代密码系统(通常简称为密码体制)一般由五个部分组成:明文空间M 密文空间C 密钥空间K 加密算法E 解密算法D 则五元组(M,C,K,E,D)称为一个密码体制。8/10/20224信息安全原理与技术密码体制 对称密钥体制 非对称密钥体制 8/10/20225信息安全原理与技术 根据密码算法对明文信息的加密方式,对称密码体制常分为两类:分组密码(Block cipher,也叫块密码) DES、IDEA 、 BLOWFISH 序列密码(Stre

3、am cipher,也叫流密码)。 A5 、FISH 、PIKE 8/10/20226信息安全原理与技术密码分析学穷举攻击:又称作蛮力攻击,是指密码分析者用试遍所有密钥的方法来破译密码对可能的密钥或明文的穷举统计分析攻击 :指密码分析者通过分析密文和明文的统计规律来破译密码。 数学分析攻击:指密码分析者针对加密算法的数学依据,通过数学求解的方法来破译密码。 8/10/20227信息安全原理与技术1、唯密文攻击:仅根据密文进行的密码攻击;2、已知明文攻击:根据一些相应的明、密文对进行的密码攻击。3、选择明文攻击:可以选择一些明文,并获取相应的密文,这是密码分析者最理想的情形。例如,在公钥体制中。

4、4、选择密文攻击:密码分析者能选择不同的被加密的密文,并可得到对应的解密的明文,密码分析者的任务是推出密钥。5、选择密钥攻击 :这种攻击并不表示密码分析者能够选择密钥,它只表示密码分析者具有不同密钥之间关系的有关知识。 6、软磨硬泡攻击 :密码分析者威胁、勒索,或者折磨某人,直到他给出密钥为止。 根据密码分析者掌握明、密文的程度密码分析可分类为:8/10/20228信息安全原理与技术密码算法的安全性: 理论上,除一文一密外,没有绝对安全的密码体制,通常,称一个密码体制是安全的是指计算上安全的,即:密码分析者为了破译密码,穷尽其时间、存储资源仍不可得,或破译所耗资材已超出因破译而获得的获益。8/

5、10/20229信息安全原理与技术2.3 对称密码体制经典的密码体制中,加密密钥与解密密钥是相同的,或者可以简单相互推导,也就是说:知道了加密密钥,也就知道了解密密钥;知道了解密密钥,也就知道了加密密钥。所以,加、解密密钥必须同时保密。这种密码体制称为对称(也称单钥)密码体制。最典型的是DES数据加密标准,应该说数据加密标准DES是单钥体制的最成功的例子。 8/10/202210信息安全原理与技术1973.5.15: 美国国家标准局(NSA)公开征求密码体制的联邦注册;1975.3.17:DES首次在联邦记事公开,它由IBM开发,它是LUCIFER的改进;1977.2.15:DES被采用作为非

6、国家机关使用的数据加密标准,此后,大约每五年对DES进行依次审查,1992年是最后一次审查,美国政府已声明,1998年后对DES不再审查了;1977.2.15:联邦信息处理标准版46(FIPS PUB46)给出了DES的完整描述。8/10/202211信息安全原理与技术2.3.1 DES分组密码系统DES密码体制:它是应用56位密钥,加密64比特明文分组的分组秘钥密码体制DES加密算法:(一)初始置换:x0=L0R0=IP(x);(二)16次迭代:xi-1=Li-1Ri-1, Li=Ri,Ri=Li f(Ri-1,ki) i=1,2,16;(三)逆置换:x16=L16R16,y=IP-1(x1

7、6)。密钥生成器:密钥ki是由56位系统密钥k生成的32位子密钥。函数f及S盒:f(Ri-1,ki)=P(S(E(Ri-1)ki)8/10/202212信息安全原理与技术 其中E,P是两个置换, 表示比特的“异或”,S是一组八个变换S1,S2,S3, ,S8 ,称为S盒,每个盒以6位输入,4位输出,S盒构成了DES 安全的核心。DES算法流程图8/10/202213信息安全原理与技术函数f及S盒的示意图DES解密:DES的解密过程与加密过程相同,只不过子密钥的使用相反,即,首先使用k16,再使用k15, ,最后使用k1。8/10/202214信息安全原理与技术2.3.2 关于DES的讨论S盒是

8、唯一非线性组件:有人认为其中可能含有某种“陷门”,国家安全机关可以解密。DES的密钥量太小:密钥量为2561977年:Diffie.Hellman提出制造一个每秒测试106的VLSI芯片,则一天就可以搜索完整个密钥空间,当时造价2千万美圆。CRYPTO93:R.Session,M.Wiener提出并行密钥搜索芯片,每秒测试5x107个密钥,5760片这种芯片,造价10万美圆,平均一天即可找到密钥。8/10/202215信息安全原理与技术Internet的超级计算能力:1997年1月28日,美国RSA数据安全公司在Internet上开展了一项“秘密密钥挑战”的竞赛,悬赏一万美圆,破解一段DES密

9、文。计划公布后,得到了许多网络用户的强力相应。科罗拉州的程序员R.Verser设计了一个可以通过互联网分段运行的密钥搜索程序,组织了一个称为DESCHALL的搜索行动,成千上万的的志愿者加入到计划中。8/10/202216信息安全原理与技术第96天,即竞赛公布后的第140天,1997年6月17日晚上10点39分,美国盐湖城Inetz公司职员M.Sanders成功地找到了密钥,解密出明文:The unknown Message is:“Stronge cryptography makes the word a safer place”(高强度密码技术使世界更安全)。 Internet仅仅利用闲散

10、资源,毫无代价就破译了DES密码,这是对密码方法的挑战,是Internet超级计算能力的显示.8/10/202217信息安全原理与技术差分分析法:除去穷举搜索密钥外,还有其他形式的攻击方法,最著名的有Biham,Shamir的差分分析法。这是一个选择明文攻击方法。虽然对16轮DES没有攻破,但是,如果迭代的轮数降低,则它可成功地被攻破。例如,8轮DES在一个个人计算机上只需要2分钟即可被攻破。8/10/202218信息安全原理与技术2.3.3 DES扩展形式多重DES S盒可选择的DES 具有独立子密钥的DES G-DES 8/10/202219信息安全原理与技术2.4 公钥密码体制 一个安全

11、的对称密钥密码系统,可以达到下列功能: 保护信息机密 认证发送方之身份 确保信息完整性对称密钥密码系统具有下列缺点: 收发双方如何获得其加密密钥及解密密钥? 密钥的数目太大 无法达到不可否认服务 2.4.1 传统密码体制的缺陷与公钥密码体制的产生 8/10/202220信息安全原理与技术现代密码学修正了密钥的对称性,1976年,Diffie,Hellmann提出了公开密钥密码体制(简称公钥体制),它的加密、解密密钥是不同的,也是不能(在有效的时间内)相互推导。所以,它可称为双钥密码体制。它的产生,是密码学革命性的发展,它一方面,为数据的保密性、完整性、真实性提供了有效方便的技术。另一方面,科学

12、地解决了密码技术的瓶颈密钥的分配问题。 8/10/202221信息安全原理与技术第一个公钥体制是1977年由Rivest,Shamir,Adleman提出的,称为RSA公钥体制,其安全性是基于整数的因子分解的困难性。RSA公钥体制已得到了广泛的应用。其后,诸如基于背包问题的Merkle-Hellman背包公钥体制,基于有限域上离散对数问题的EIGamal公钥体制,基于椭圆曲线的密码体制等等公钥体制不断出现,使密码学得到了蓬勃的发展, 8/10/202222信息安全原理与技术2.4.2 公钥密码体制介绍 公钥密码体制加解密过程主要有以下几步 : 8/10/202223信息安全原理与技术安全的公开

13、密钥密码可以达到下列功能:(1)简化密钥分配及管理问题 公钥体制用于数据加密时: 用户将自己的公开(加密)密钥登记在一个公开密钥库或实时公开,秘密密钥则被严格保密。信源为了向信宿发送信息,去公开密钥库查找对方的公开密钥,或临时向对方索取公钥,将要发送的信息用这个公钥加密后在公开信道上发送给对方,对方收到信息(密文)后,则用自己的秘密(解密)密钥解密密文,从而,读取信息。可见,这里省去了从秘密信道传递密钥的过程。这是公钥体制的一大优点。 8/10/202224信息安全原理与技术(2)保护信息机密 任何人均可将明文加密成密文,此后只有拥有解密密钥的人才能解密。 8/10/202225信息安全原理与

14、技术(3)实现不可否认功能 公钥体制用于数字签名时:信源为了他人能够验证自己发送的消息确实来自本人,他将自己的秘密(解密)密钥公布,而将公开(加密)密钥严格保密。与别人通信时,则用自己的加密密钥对消息加密称为签名,将原消息与签名后的消息一起发送.对方收到消息后,为了确定信源的真实性,用对方的解密密钥解密签名消息称为(签名)验证,如果解密后的消息与原消息一致,则说明信源是真实的,可以接受,否则,拒绝接受。 8/10/202226信息安全原理与技术2.4.3 基本数学概念群模逆元费尔马小定理 Euler函数 生成元 8/10/202227信息安全原理与技术2.4.4 RSA算法1976年:Diff

15、ie,Hellman在“New Direction in Cryptography”(密码学新方向)一文中首次提出公开密钥密码体制的思想。1977年:Rivest,Shamir,Adleman第一次实现了公开密钥密码体制,现称为RSA公钥体制。8/10/202228信息安全原理与技术基本算法:生成两个大素数p和q(保密); 计算这两个素数的乘积n=pq(公开); 计算小于n并且与n互素的整数的个数,即欧拉函数(n)=(p1)(q1) (保密); 选取一个随机整数e满足1e (n),并且e和(n)互素,即gcd (e, (n)=1(公开); 计算d,满足de=1 mod (n)(保密);8/10

16、/202229信息安全原理与技术E(m)Kb1AKa1BD(E(m)Kb2mmRSA的加解密过程公开信道8/10/202230信息安全原理与技术一个利用RSA算法的加密实例 设p=101,q=113,n=pq=11413, (n)=(p-1)(q-1)=100112=11200,a=6597,b=3533,x=9726。加密:y=xb=97263533 = 5761 mod 11413;解密:x=ya=57616597=9726 mod 11413。8/10/202231信息安全原理与技术算法分析:该体制的数学依据是Euler定理及大数分解的困难性,体制中使用的是Zn中的计算。设是两个不同奇素

17、数p,q的乘积,对于这样的正整数,其Euler函数值是容易计算的,它是(n) =(p-1)(q-1)。对于给定的明文xn,选定一个正整数b,称为加密密钥。8/10/202232信息安全原理与技术作Zn中的指数运算,将明文以指数形式xb表示出来,即以指数形式将明文隐藏起来。即使知道一个明、密文对(x,y),y=xb mod n, 要得到密钥b,必须求解离散对数问题: b=logxy,在Zn中这也是一个困难问题。可见这种加密思想是简单、明确的。 8/10/202233信息安全原理与技术RSA 安全性分析 加密密钥b是公开的,从而,要求从b不能有效地推导出a,解已知b,求解ab1 mod (n)是计

18、算上不可能的。 (n)是n的Euler函数,如果已知(n),则可以应用展转相除法求得b的逆元a,从而(n)的保密是安全的关键,而(n)的有效计算则依赖于n的素因子分解,从而,RSA的安全性与n的素因子分解等价。 体制的安全性机理是大数分解的困难性。 8/10/202234信息安全原理与技术大数分解是一个NP问题,目前已知的最好的算法需要进行ex次算术运算。假设我们用一台每秒运算(即:一亿)次的计算机来分解一个200位十进制的数 要分解一个200位十进制的数,需要3.8107年,类似地,可算出要分解一个300位的十进制整数,则需要年4.86 1013。可见,增加的位数,将大大地提高体制的安全性。

19、由以上分析可见,从直接分解大数来破译RSA是计算上不可能的,那么是否存在一种破译方法不依赖于的分解呢?虽然现在还没有发现,但是也没有严格的论证。 8/10/202235信息安全原理与技术直接分解一个大素数的强力攻击的一个实例是:1994年4月分解的RSA密钥RSA-129,即分解了一个129位十进制,425比特的大素数。分解时启用了1600台计算机,耗时8个月,处理了4600MIPS年的数据。1MIPS年是1MIPS的机器一年所能处理数据量。Pentium100大约是125MIPS,它分解RSA-129需要37年。100台Pentium100需要4个月。 8/10/202236信息安全原理与技

20、术硬件实现时,RSA比DES要慢大约1000倍,软件实现时,RSA比DES要慢大约100倍。可见,用RSA直接加密信息有诸多不便,所以,很多实际系统中,只用RSA来交换DES的密钥,而用DES来加密主体信息。 8/10/202237信息安全原理与技术2.5 散列函数 2.5.1 散列函数的概念 散列函数又可称为压缩函数、杂凑函数、消息摘要、指纹、密码校验和、信息完整性检验(DIC)、操作检验码(MDC)。散列函数有4个主要特点:它能处理任意大小的信息它是不可预见的。它是完全不可逆的,即散列函数是单向的它是抗碰撞的8/10/202238信息安全原理与技术单向散列函数的工作原理 常用的消息摘要算法

21、有:(1)MD2算法 (2)MD4和MD5算法(3)SHA算法8/10/202239信息安全原理与技术2.5.2 MD5算法 算法MD5首先填充消息成512比特的整数倍,但最后64比特是由文件长度填充的;其次,将个512比特分割成16个32比特子块;取4个初始向量,从其及第一个子块出发,作4轮( MD4只有3轮) 16次迭代。得128比特输出;以此作为初始向量,对下一个512比特执行同样的操作; 依次下去,直到所有的512比特都处理完毕,输出128比特,此即MD5的输出。8/10/202240信息安全原理与技术2.6 数字签名数字签名最早被建议用来对禁止核试验条律的验证。禁止核试验条律的缔约国

22、为了检测对方的核试验,需要把地震测试仪放在对方的地下,而把测试的数据送回,自然这里有一个矛盾:东道主需要检查发送的数据是否仅为所需测试的数据;检测方需要送回的数据是真实的检测数据,东道主没有篡改。 8/10/202241信息安全原理与技术基本要求:签名不能伪造:签名是签名者对文件内容合法性的认同、证明、和标记,其他人的签名无效;签名不可抵赖:这是对签名者的约束,签名者的认同、证明、标记是不可否认的;签名不可改变:文件签名后是不可改变的,这保证了签名的真实性、可靠性;签名不可重复使用:签名需要时间标记,这样可以保证签名不可重复使用。签名容易验证:对于签名的文件,一旦发生纠纷,任何第三方都可以准确

23、、有效地进行验证。8/10/202242信息安全原理与技术数字签名的基本原理:应用一对不可互相推导的密钥, 一个用于签名(加密),一个用于验证(解密),颠倒使用加解密过程。公钥签名原理:这种签名就是加密过程的简单颠倒使用,签名者用加密密钥(保密)签名(加密)文件,验证者用(公开的)解密密钥解密文件,确定文件的真伪。8/10/202243信息安全原理与技术散列函数:散列函数是数字签名的一个重要辅助工具, 应用散列函数可以生成一个文件的,具有固定长度的文件摘要,从而使数字签名可以迅速有效地签名一个任意长度的文件。一般地,对文件的任意小改动,都会改变文件的散列值,从而,秘密的散列函数可以用来检测病毒

24、等对文件的破坏。对签名的攻击:对数字签名有各种各样的欺骗存在,重复使用是一个典型欺骗,如电子支票,重复的使用具有可怕后果,阻止这种欺骗的有效方法是签名中包含时间日期标志。8/10/202244信息安全原理与技术常用算法介绍1、Elgamal算法 :ElGamal签名方案基于离散对数问题离散对数问题:设p是一个素数,bZ*p,寻找整数 d,0dp,满足:adb mod p。这样的问题称为离散对数问题。选取p至少150位十进制数,p-1至少有一个“大”素因子,则离散对数问题称为困难问题,困难问题不存在多项式时间算法8/10/202245信息安全原理与技术ElGamal签名方案于1985年提出,改进

25、后,被美国国家标准和技术研究所(NIST)采纳为数字签名标准。ElGamal签名方案是一个非确定性的方案,也就是说,验证算法可以接受的合法签名不止一个。 8/10/202246信息安全原理与技术ElGamal签名方案的定义: 设p是一个素数,Zp中的离散对数是困难问题, a Z*p是一个生成元,bad mod p,则定义: 签名算法:Sigk(x,t)=(,), at mod p, (x-a)t-1 mod p-1 ,t是一保密的随机数。 验证算法:对给定的消息及签名(x,(,),x, Z*p, Zp-1,验证算法为8/10/202247信息安全原理与技术2、DSA算法:DSA是Schnorr

26、和ElGamal签名算法的变种,被美国NIST作为DSS。 数字签名标准DSS: 设p是一个512比特的素数,Zp中的离散对数是困难 问题,q是一个60比特的素数 ,q|p-1,a Z*p是p模 q的单位根。则定义: 签名算法:Sigk(x,t)=(,), (at mod p) mod q , (x+a)t-1 mod q; 验证算法: Ver(x,(,)=true(albm mod p) mod q , 其中:lx-1 mod q, m-1 mod q。8/10/202248信息安全原理与技术DSS与 ElGamal签名方案的差别: ElGamal签名方案中模p至少有512比特,但这样会产生

27、1024比特的签名。这样的膨胀率对于象灵巧卡之类的应用是一个难题。而DSS使用512比特模素数,签名一个160比特的消息,产生320比特的签名,即:模素数不变,但签名消息的比特数减少了,而离散对数是基于Z*p的每个阶为2160的子群,从而,安全性是可以保证的。 8/10/202249信息安全原理与技术2.7 信息隐藏与数字水印 信息隐藏不同于传统的密码学技术。密码技术主要是研究如何将机密信息进行特殊的编码,以形成不可识别的密码形式(密文)进行传递;而信息隐藏则主要研究如何将某一机密信息秘密隐藏于另一公开的信息中,然后通过公开信息的传输来传递机密信息。 8/10/202250信息安全原理与技术2

28、.7.1 信息隐藏信息隐藏模型 8/10/202251信息安全原理与技术信息隐藏特点 鲁棒性(robustness) 不可检测性(undetectability)透明性(invisibility) 安全性(security)自恢复性 8/10/202252信息安全原理与技术2.7.2 数字水印典型的数字水印系统模型 8/10/202253信息安全原理与技术数字水印的分类 (1)按水印的可见性划分:可将水印分为可见水印和不可见水印(2)按水印的所附载体划分:可以把水印划分为图像水印、音频水印、视频水印、文本水印以及用于三维网络模型的网格水印等。 (3)按水印的检测过程划分:可以将水印划分非盲水印(Nonblid Watermark),半盲水印(Seminonblind Watermark)和盲水印(Bind Watermark)。8/10/202254信息安全原理与技术(4)按水印的内容划分:可以将水印分为有意义水印和无意义水印。 (5)按水印的用途划分:可以将数字水印划分为票据防伪水印、版权标识水印、篡改提示水印和隐蔽标识水印等。 (6)按水印的隐藏位置划分:可以将其划分为时(空)域数字水印、变换域数字水印。 8/10/202255信息安全原理与技术数字水印的基本特性 (1)隐藏信息的鲁棒性 (2)不易察觉性 (3)安全

温馨提示

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

最新文档

评论

0/150

提交评论