网络信息安全课论文.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络信息安全课论文

Solovay -Strassen 素数判定算法 姓名:孟祥伟 学号:2131211 专业:控制工程 日期:2014年5月26日 1前 言 网络信息安全的研究主要有两个研究方向,一个是网络协议的分析,通过分析网络协议检测出网络协议中存在的漏洞,然后有效的修改这些网络协议,弥补这些漏洞。另一个就是通过对信息进行加密,把需要通过网络传输的信息加密后再进行传输和把机密的信息加密后再进行存储。近年来,随着计算机运算速度的不断提升利黑客攻击手段的不断改进,保密通信和信息安全越来越受到人们的重视,直接促进了密码学的发展和应用。 在现代密码系统中,大素数的判别和寻找对一些加密系统起着关键作用。很多公钥密码算法都用到素数,特别是160位(二进制)以上的大素数。熟知,RSA的公共模数就是两个512(近年来又有了对1024,乃至2048)位以上的大素数的乘积;又如,基于有限域上离散对数的公钥密码体制,其中素数p要求在512位以上,且p-1有一个大素因子q(160比特以上);再如,基于椭圆曲线离散对数的公钥密码体制(ECC)中,一般要求基点的阶是一个160位以上的大整数,且是一个素数。由此可见大数的素性判断的重要性。 但当前既没有一个有效的确定性素数检测算法,也没有一个高效确定性素数产生算法。当前使用的高效的素数判定算法都是概率算法,速度虽快,但可能会错判误判,即把合数判定成素数,这将会严重影响系统的可靠性以及安全性。而RSA 算法是目前最优秀的公钥解决方案之一, 其安全性建立在大整数分解为两个素数之积的困难性假设基础之上。因此, RSA 算法的核心问题是要解决通过何种方式能快速的找到两个大的随机素数。这样既有利于提高RSA 加密的安全性, 又有利于提高加密效率。 因此,开展在多项式时间内判断一个正整数是否是素数的确定性算法研究,以及快速素数产生算法的研究是非常必要和急需的,这对于促进公钥密码体制的应用以及增强保密通信的可靠性以及安全性都有重要意义。 2 算法概述 素数就是一个除了1和它自身以外不能被其它数整除的数。关于素数的一个基本问题是如何有效地确定一个数是否是一个素数,即素性测试问题。素性测试问题不仅在数学上是一个有挑战性的问题,而且在实际应用系统中也具有十分重要的地位。例如,很多现代密码学应用通常需要确定一个几百位的素数。如果不采用一些快速有效的素性测试方法,即使人们使用运行速度最快的计算机来测试一个100位的十进制整数,花费的时间也将可能超过宇宙可能存在的时间。 判定一个整数是否是素数,最为简单的办法就是直接利用素数的定义,用比要判断的数小的整数去一一试除,如果有一个数能整除要判别的数的话,那就能确定该整数为合数。统计表明,大约有76%的奇数有小于100的素因子,可见这种最平凡的方法有时十分有效。但是对于大素数来说,由于计算量太大,根本无法实现用于具体的应用系统中。所以科学家们根据素数判断的理论发明了许多新的算法,提高了素数判断的效率。 数学家们设计快速有效的素数测试方法的历史已经长达两千多年了。Eratosthenes筛法是对于所有素数都有效的最古老的素数测试算法,然而它的时间复杂性与输入整数的关系是关于输入整数的规模的幂指数关系,因此在实际中使用它来测试大的素数是不合适的。 实践中常见的素数检测方法大致分为两类,一类是确定性的,例如Lehmer的N—1检测,Lucas的N+I检测,椭圆曲线素性证明(ECPP)等等,当输出结果为“素数”时,能够保证被检测数一定为素数。另一类是概率性的,如Miller-Rabin检测,Baillie-PSW检测等等,当输出结果为“素数”时,仅以一定的高概率保证被检测数的性。不过概率性检测一般要比确定性检测快得多。 目前,国内外用于测试整数素性的概率算法常见的有两个,即Solovay-Strassen算法和Miller-Rabin算法。 3 Solovay -Strassen 概率素数测试法 Solovay-Strassen概率素数测试法是建立在以下两个定理之上的。 定理1: 设p2是一个素数,则对任意整数a0, 定理2: 如果n2是一个奇合数,则至少有50%的aZ,即,使得同余式 不成立 1.算法描述 根据以上两个定理,Solovay-Strassen素数测试法描述如下: (1)随机均匀的选取 (2)计算gcd(a,n); (3)如果gcd(a,n)≠1,则n不是素数; (4)计算; (5)如果,则n可能是素数;否则,n不是素数。 2.算法分析 如果对一个大整数n找到一个任意的a,使得,不成立,则可证明n不是素数,否则n是素数的概率至少为50%。如果对n进行k次Solovay-strassen素性

文档评论(0)

epjk332 + 关注
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档