毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

C++RSA算法文件加密解决方案RSA论文 第8页

更新时间:2010-3-7:  来源:毕业论文
C++RSA算法文件加密解决方案RSA论文 第8页
以这里测试A从4个到6个的情况。固定其他变量:n取512位和1024位(即素数搜索起点位数设置为32和64),NP取200,SS取1000。从理论上说,对于同样的起点,素数测试次数越多,需要的时间就越长。实际测试结果如表3-2所示(其中A取4个的情况直接从表3-1复制数据,不再另做测试),表中各项对应的全部测试数据见htt ,包括两个作为素数搜索起点的随机数和生成的素数p、q以及e、d、n。
表3-2  素数测试底数A对密钥生成时间的影响
A的设置 测试5次 n为512bit时密钥生成需要的时间(秒) 平均耗间(秒)
2,3,5,7 2.5346 2.4067 2.6756 4.5683 1.9542 2.8279
2,3,5,7,11 3.3030 2.5838 3.7744 2.4474 2.3716 2.8960
2,3,5,7,11,13 2.3906 3.8213 2.2279 1.9119 2.4995 2.5702
A的设置 测试5次 n为1024bit时密钥生成需要的时间(秒) 平均耗间(秒)
2,3,5,7 6.2941 17.1003 12.3989 11.5311 11.0922 11.6833
2,3,5,7,11 24.0268 27.0971 10.0254 20.1331 7.8633 17.8291
2,3,5,7,11,13 7.1299 17.7117 28.4306 27.8631 8.7279 17.9726
由表3-2可以看出,对于512bit密钥,A取从4个到6个,对随机密钥的产生时间影响不大。但是对于较长的1024bit密钥,A取4个和A取6个值,密钥生成时间产生明显差距,A取6个值时生成随机密钥需要的平均时间比A取4个值时长数秒之多。为了同时保证密钥生成速度和素数的准确程度,我们在实际使用时取A为5个值,即2、3、5、7、11。
3. 测试小素数因子个数NP对耗时的影响
固定其他变量:A取5个分别为2、3、5、7、11,n取512位和1024位(即素数搜索起点位数设置为32和64),SS取1000。测试结果如表3-3所示。表中各项对应的全部测试数据见h ,包括两个作为素数搜索起点的随机数和生成的素数p、q以及e、d、n。
表3-3  小素数因子个数NP对密钥生成时间的影响
NP 测试5次 n为512bit时密钥生成需要的时间(秒) 平均耗间(秒)
100 2.7550 1.7077 3.1189 3.0514 2.7971 2.6860
200 3.3030 2.8311 4.2693 2.8760 2.8581 3.2275
300 3.0029 2.1159 3.4268 2.2918 2.7531 2.7181
400 2.6944 5.6355 4.1228 3.6816 2.5232 3.7315
500 3.3725 4.3178 4.3426 3.7141 2.9172 2.8643
 测试5次 n为1024bit时密钥生成需要的时间(秒) 平均耗间(秒)
100 5.7052 13.5294 9.9006 20.3994 23.3666 14.4542
200 13.7745 9.3998 11.3043 24.1689 7.7326 13.2760
300 7.4426 8.2489 29.1550 15.2442 27.4376 17.5056
400 17.8602 23.3219 17.7196 18.8298 11.5861 17.8635
500 13.9936 22.6667 14.7468 14.2334 12.5631 15.6407
不同颜色的单元格表示每行中的最大值和最小值 这种颜色代表行中最大值 这种颜色代表行中最小值
由于测试时间漫长,测试的数据量比较有限。这里并没有看出什么明显的规律。
而且通过本次测试还可以发现,表3-3中NP为200,n为1024bit测试的一行,变量设置和表3-2中A设置为2、3、5、7、11,n为1024bit的一行完全一致(对应还有一行n为512bit的数据变量设置一致),但是耗时平均差距相差4秒之多(512bit的一行差距不到1秒)。可见对于长密钥,同一种情况测试5个数据取均值并不能精确的说明问题,除非测试得到的数据有很明显的大幅差距,例如前面两段测试n的位数和A的个数的耗时影响情况。这里也正是因为前面提到的,对于大整数来说,可能出现在较长一段区间中没有素数的情况,使得同样设置的各次密钥生成耗时的可能范围很大,再加上大素数分布规律奥妙,观察5次测试结果的均值对于不很明显的规律显得意义不大。
实际使用中,设置NP值为200。
4. 测试SS对耗时的影响
同样未发现明显规律,在使用中设置SS为1000。
3.2.2 数据输入输出测试
主要测试文件的输入输出性能。实际上就是测试.Net基础类库中实现文件操作的System.IO中的StreamReader、StreamWriter等类的读写性能。直接在Visual Studio调试一个简单的C#文件读写程序,得到本软件中使用的文件操作方法的执行性能。在配置为CPU CR1.7GHZ/外频100MHZ/物理内存512M DDR/MSI6398主板845 Ultra-AD芯片组/UTA133 2M缓存硬盘的PC上,读入一个100KB的文件仅需要35毫秒,写出一个100KB的文件需要29毫秒。这样的时间消耗,相对于繁复的RSA计算所消耗的时间来说,是完全可以忽略不计的。
3.2.3 加密解密测试
进行对任意文件加密与解密的测试,这里给出几组从不同角度进行测试的数据。下面除了第3组测试,其他都是把文件逐字节进行RSA运算,逐字节加密是本软件的默认设置。加密时使用的测试文件、各密钥文件以及加解密后生成的文件可以从以下地址下载: 内附说明。
1. 用同样的密钥对不同大小的文件公钥加密、私钥解密,各自消耗的时间与待加密文件大小的关系
随机生成两组密钥,一组n长512bit,一组n长1024bit。密钥具体数据见附录(n的实际位数有微小差距)。
分别对一组不同大小的文件进行公钥加密。统计消耗时间情况如表3-4所示,统计数据以曲线表示如图3-1。

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

C++RSA算法文件加密解决方案RSA论文 第8页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。