计算机网络安全实验报告--非对称密码算法RSA(共10页).doc
《计算机网络安全实验报告--非对称密码算法RSA(共10页).doc》由会员分享,可在线阅读,更多相关《计算机网络安全实验报告--非对称密码算法RSA(共10页).doc(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上专心-专注-专业实验二 非对称密码算法RSA一、实验目的通过实际编程了解非对称密码算法RSA的加密和解密过程,加深对非对称密码算法的认识。二、实验环境运行Windows或Linux操作系统的PC机,具有gcc(Linux)、VC(Windows)等C语言编译环境。三、实验内容和步骤1)编写一个程序,随机选择3个较大的数x、e、n,然后计算xe mod n,记录程序运行时间。实际中应用的素数为512位,n也就为1024位。这样的大数在计算机上如何表示、如何进行运算,查阅资料给出简单说明。RSA依赖大数运算,目前主流RSA算法都建立在512位到1024位的大数运算之上,所
2、以我们在现阶段首先需要掌握1024位的大数运算原理。大多数的编译器只能支持到64位的整数运算,即我们在运算中所使用的整数必须小于等于64位,即:0xffffffffffffffff也就是,这远远达不到RSA的需要,于是需要专门建立大数运算库来解决这一问题。最简单的办法是将大数当作字符串进行处理,也就是将大数用10进制字符数组进行表示,然后模拟人们手工进行“竖式计算”的过程编写其加减乘除函数。但是这样做效率很低,因为1024位的大数其10进制数字个数就有数百个,对于任何一种运算,都需要在两个有数百个元素的数组空间上做多重循环,还需要许多额外的空间存放计算的进位退位标志及中间结果。当然其优点是算法
3、符合人们的日常习惯,易于理解。另一种思路是将大数当作一个二进制流进行处理,使用各种移位和逻辑操作来进行加减乘除运算,但是这样做代码设计非常复杂,可读性很低,难以理解也难以调试。(2)计算机在生成一个随机数时,并不一定就是素数,因此要进行素性检测。是否有确定的方法判定一个大数是素数,要查阅资料,找出目前实际可行的素数判定法则,并且比较各自的优缺点。所谓素数,是指除了能被1和它本身整除而不能被其他任何数整除的数。根据素数的定义,只需用2到N-1去除N,如果都除不尽则N是素数,结束知其循环。由此得算法1。(1) flay=0,i=2. /*flay为标志,其初值为0,只要有一个数除尽,其值变为1.(
4、2) If n mod i=0 then flay=l else i=i+1/* n mod i是n除以i的余数.(3) If flay=0 and I=n-1 then(2) else go (4)(4) If flay=0 then write“n是素数。”else write“不是素数”最坏的情形下,即N是素数时,算法1需要执行N-2次除法,时间复杂性太大。假设N桶分解成iXj(i,j是小于N的整数),则必存在一个因子(1=i=int(n)),这样只需用2到int(n)去除N即可,于是循环次数可以大减小,由此得出算法2算法2(改进算法)(1) flag=0,i=2(2) if n mod
5、 i then flag=1else i=i+1(3) if flag=0 and i=int(n) then go(2) else go(4)(4) if flah=0 then write”n是素数”else write “n不是素数“。最坏的情形下,即当N是纱数时1需要执行int(n)-1次除法。虽然算法2比算法1确是快了不小,但有重复计算,如果用2去除N时若不尽则用2的倍数去除N也除不尽,于是只要2除不尽,2的倍数就不用去除,这样可以减少除法次数,由此得出算法3(1)for(i=2;int(n);i+)marki=0/*mark是标记其初值为0,只要它的因子除不尽其值变为1。(2)i=
6、2,flag=0(3)while(flag=0and i=int(n) If marki=0Then If n mod i=0 Then flag=1 Else S=i+i While sint(n) Marks=1 S=s+ii=i+1(4)if flag=0 then write”n是素数。Else write “N不是素数。“该算法迭代重复次数仍为int(n)次,但是筛法算法在执行过程中,每次都筛去许多数,使下一次迭代时不用再除法而只做比较,比较比除法运算要简单得多,因此实际执行速度比算法1,算法2要得多。当然,对于素数的判定还有别的方法,如用概率算法求素数,但其理论太难,一般情况下很少
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 网络安全 实验 报告 对称 密码 算法 RSA 10
限制150内