- 1、本文档共63页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机信息安全原理与技术第2章密码学基础
* * 2.12 编程:实现利用MD5算法进行文件完整性验证的程序。 2.13 编程:实现基于LSB算法的在BMP图片中进行信息隐藏的程序。 2.14实验:数字证书的应用。实验主要内容:获取数字证书、查看数字证书、对电子邮件进行数字签名等应用。 * * 一个利用RSA算法的加密实例 设p=101,q=113,n=pq=11413, ?(n)=(p-1)(q-1)=100×112=11200, a=6597,b=3533,x=9726。加密: y=xb= 5761 mod 11413; 解密: x=ya9726 mod 11413。 * * 算法分析: 该体制的数学依据是Euler定理及大数分解的困难性,体制中使用的是Zn中的计算。 设是两个不同奇素数p,q的乘积,对于这样的正整数,其Euler函数值是容易计算的,它是?(n) =(p-1)(q-1)。对于给定的明文xn,选定一个正整数b,称为加密密钥。 * * 作Zn中的指数运算,将明文以指数形式xb表示出来,即以指数形式将明文隐藏起来。即使知道一个明、密文对(x,y),y=xb mod n, 要得到密钥b,必须求解离散对数问题: b=logxy,在Zn中这也是一个困难问题。可见这种加密思想是简单、明确的。 * * RSA 安全性分析 加密密钥b是公开的,从而,要求从b不能有效地推导出a,解已知b,求解ab≡1 mod ?(n)是计算上不可能的。 ?(n)是n的Euler函数,如果已知?(n),则可以应用展转相除法求得b的逆元a,从而?(n)的必威体育官网网址是安全的关键,而?(n)的有效计算则依赖于n的素因子分解,从而,RSA的安全性与n的素因子分解等价。 体制的安全性机理是大数分解的困难性。 * * 大数分解是一个NP问题,目前已知的最好的算法需要进行ex次算术运算。假设我们用一台每秒运算(即:一亿)次的计算机来分解一个200位十进制的数 要分解一个200位十进制的数,需要3.8×107年,类似地,可算出要分解一个300位的十进制整数,则需要年4.86 × 1013。可见,增加的位数,将大大地提高体制的安全性。 由以上分析可见,从直接分解大数来破译RSA是计算上不可能的,那么是否存在一种破译方法不依赖于的分解呢?虽然现在还没有发现,但是也没有严格的论证。 * * 直接分解一个大素数的强力攻击的一个实例是:1994年4月分解的RSA密钥RSA-129,即分解了一个129位十进制,425比特的大素数。分解时启用了1600台计算机,耗时8个月,处理了4600MIPS年的数据。1MIPS年是1MIPS的机器一年所能处理数据量。Pentium100大约是125MIPS,它分解RSA-129需要37年。100台Pentium100需要4个月。 * * 硬件实现时,RSA比DES要慢大约1000倍,软件实现时,RSA比DES要慢大约100倍。可见,用RSA直接加密信息有诸多不便,所以,很多实际系统中,只用RSA来交换DES的密钥,而用DES来加密主体信息。 * * 2.5 散列函数 2.5.1 散列函数的概念 散列函数又可称为压缩函数、杂凑函数、消息摘要、指纹、密码校验和、信息完整性检验(DIC)、操作检验码(MDC)。 散列函数有4个主要特点: ①它能处理任意大小的信息 ②它是不可预见的。 ③它是完全不可逆的,即散列函数是单向的 ④它是抗碰撞的 * * 单向散列函数的工作原理 常用的消息摘要算法有: (1)MD2算法 (2)MD4和MD5算法 (3)SHA算法 * * 2.5.2 MD5算法 算法MD5首先填充消息成512比特的整数倍,但最后64比特是由文件长度填充的;其次,将个512比特分割成16个32比特子块;取4个初始向量,从其及第一个子块出发,作4轮( MD4只有3轮) 16次迭代。得128比特输出;以此作为初始向量,对下一个512比特执行同样的操作; 依次下去,直到所有的512比特都处理完毕,输出128比特,此即MD5的输出。 * * 2.6 数字签名 数字签名最早被建议用来对禁止核试验条律的验证。禁止核试验条律的缔约国为了检测对方的核试验,需要把地震测试仪放在对方的地下,而把测试的数据送回,自然这里有一个矛盾:东道主需要检查发送的数据是否仅为所需测试的数据;检测方需要送回的数据是真实的检测数据,东道主没有篡改。 * * 基本要求: 签名不能伪造:签名是签名者对文件内容合法性的认同、证明、和标记,其他人的签名无效; 签名不可抵赖:这是对签名者的约束,签名者的认同、证明、标记是不可否认的; 签名不可改变:文件签名后是不可改变的,这保证了签名的真实性、
文档评论(0)