华北电力大学-网络信息安全综合实验报告.doc

华北电力大学-网络信息安全综合实验报告.doc

ID:56630880

大小:404.00 KB

页数:24页

时间:2020-06-30

华北电力大学-网络信息安全综合实验报告.doc_第1页
华北电力大学-网络信息安全综合实验报告.doc_第2页
华北电力大学-网络信息安全综合实验报告.doc_第3页
华北电力大学-网络信息安全综合实验报告.doc_第4页
华北电力大学-网络信息安全综合实验报告.doc_第5页
资源描述:

《华北电力大学-网络信息安全综合实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、.综合实验报告(2013--2014年度第1学期)名称:网络信息安全综合实验题目:RSA公钥加密解密院系:计算机系班级:网络工程学号:学生姓名:指导教师:李天设计周数:1周成绩:日期:2013年1月18日..一、综合实验的目的与要求要求:了解RSA产生公钥和私钥的方法,掌握RSA的加密、解密过程,编写程序设计RSA加解密工具。RSA加解密参考:RSA的安全性依赖于大数分解,公钥和私钥都是两个大素数(大于100个十进制位)的函数。据猜测,从一个密钥和密文推断出明文的难度等同于分解两个大素数的积。密钥的产生:1.选择两个保密的大素数p和q;2.计算

2、n=p*q和欧拉函数值E(n)=(p-1)(q-1);3.选一整数e,且满足1

3、题。最简单的办法是将大数当作数组进行处理,也就是将大数用0—9这十个数字组成的数组进行表示,然后模拟人们手工进行“竖式计算”的过程编写其加减乘除函数。但是这样做效率很低,因为二进制为1024位的大数其十进制也有三百多位,对于任何一种运算,都需要在两个有数百个元素的数组空间上做多重循环,还需要许多额外的空间存放计算的进退位标志及中间结果。另外,对于某些特殊的运算而言,采用二进制会使计算过程大大简化,这种大数表示方法转化成二进制显然非常麻烦,所以在某些实例中则干脆采用了二进制数组的方法来记录大数,这样效率就更低了。一个有效的改进方法是将大数表示为一

4、个n 进制数组,n 可以取值为2 的16次方,即0x1000,假如将一个二进制为1024位的大数转化成0x1000进制,它就变成了64位,而每一位的取值范围就不是二进制的0—1或十进制的0—9,而是0-0xffff,我们正好可以用一个无符号整数来表示这一数值。所以1024位的大数就是一个有64个元素的unsigned int数组,针对unsigned int数组进行各种运算所需的循环规模至多64次而已。而且0x10000 进制与二进制,对于计算机来说,几乎是一回事,转换非常容易。加法:A=Sum[i=0 to p](A[i]*0x10000**

5、i);B=Sum[i=0 to q](B[i]*0x10000**i),p>=q;C=Sum[i=0 to n](C[i]*0x10000**i)=A+B。如果用carry[i]记录每次的进位则有:C[i]=A[i]+B[i]+carry[i-1]-carry[i]*0x10000,其中carry[-1]=0。若A[i]+B[i]+carry[i-1]>0xffffffff,则carry[i]=1;反之则carry[i]=0,若carry[p]=0,则n=p;反之则n=p+1。减法与加法同理。..因此: C[i]=Sum[j=0 to q](A

6、[i-j]*B[j])+carry[i-1]-carry[i]*0x10000,其中carry[-1]=0,carry[i]=(Sum[j=0 to q](A[i-j]*B[j])+carry[i-1])/0x10000,n=p+q-1,若carry[n]>0,则n=n+1,C[n]=carry除法设A=Sum[i=0 to p](A[i]*0x10000**i),B=Sum[i=0 to q](B[i]*0x10000**i),p>=q,  C=Sum[i=0 to n](C[i]*0x10000**i)=A/B。由于无法将B 对A “试商”

7、,我们只能转换成B[q]对A[p]的试商来得到一个近似值,所以我们不能够直接计算C。但是,我们可以一步一步地逼近C。显然,(A[p]/B[q]-1)*0x10000**(p-q)

8、公钥,d是私钥2、加密公式如下:ci=mi^e(modn)3、解密时,取每一密文分组ci并计算:mi=ci^d(modn)Ci^d=(mi^e)^d=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。