rsa加密算法的分析与实现实验指导书

rsa加密算法的分析与实现实验指导书

ID:11301062

大小:168.65 KB

页数:18页

时间:2018-07-11

rsa加密算法的分析与实现实验指导书_第1页
rsa加密算法的分析与实现实验指导书_第2页
rsa加密算法的分析与实现实验指导书_第3页
rsa加密算法的分析与实现实验指导书_第4页
rsa加密算法的分析与实现实验指导书_第5页
资源描述:

《rsa加密算法的分析与实现实验指导书》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、信息安全技术实验指导二重庆邮电大学经济管理学院RSA加密算法的分析与实现(4学时)一、实验目的1、比较深入了解RSA算法的加密、解密原理;2、通过RSA算法加密、解密过程的学习,进一步了解通用的公开密钥加密、解密的一般过程与原理;3、用一种程序工具进行RSA加密算法代码的调试运行。二、实验说明1、本实验分两次进行,一共4个学时。调试RSA算法代码,并将算法实现的思路彻底搞清楚理清,进行注释。2、写出实验报告。三、实验指导1、RSA算法介绍:它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也

2、很流行。算法的名字以发明者的名字命名:RonRivest,AdiShamir和LeonardAdleman。但RSA的安全性一直未能得到理论上的证明。它经历了各种攻击,至今未被完全攻破。2、RSA算法加密、解密过程: 第一步、密钥生成:Ø选两个大素数(比如100位)p,q,N=pq,随机选取两个e,d,使e,d与φ(N)互素(其中φ(N)表示小于N的所有数中与N互为质数的个数),且ed≡1modφ(n);Ø公开N、e作为E记E=(N,e);Ø保密p,q,d与φ(n),作为D,记(p,q,d,φ(n))(其中p

3、,q可丢弃,但绝不可泄露)。第二步、加密过程:Ø查出E=(N,e);Ø将明文分组x=x1x2x3……xr……;Ø加密:yi=E(xi)=xiemodN。-17-重庆邮电大学经济管理学院第三步、信息传递:将密文信息y=y1y2y3……yr……传送出去。第四步、解密:Øxi=D(yi)=yidmodN;Ø合并得明文。例:用RSA加密算法传送数据2。第一步、密钥生成:p=5,q=7,φ(n)=24,e=11则:d=e-1mod24=11第二步、加密:211mod35=18第三步、数据传输…………第四步、解密:181

4、1mod35=2一、实验要求根据附件中的RSA算法代码调试运行程序。二、实验报告要求1、在标有“注释”的地方,说明此段代码的作用;将运行结果抓2、对程序代码的错处,调试改正,并加以指出。三、实验成绩评定1、上机考勤占20%;2、详细写出程序的设计思想占20%;3、RSA程序的实现占20%;4、实验报告占40%。四、附件:程序代码//RSA.cpp:定义控制台应用程序的入口点。//#include"stdafx.h"#include#include#include

5、ng.h>#include#include#include#defineMAX200//注释#defineGREAT1//注释#defineEQUAL0#defineLOW-1#definePL33typedefstruct-17-重庆邮电大学经济管理学院{intlength;unsignedintn[MAX];}Lint;LintZERO,ONE,TWO;//注释//Init_Lint函数功能:注释intInit_Lint(Lint*a,intn,unsi

6、gnedintvalue){inti;if(a==NULL)return(0);else{a->length=0;for(i=0;in[i]=0;for(i=0;in[i]=value;a->length=n;return(1);}}//Set_Lint函数功能:注释voidSet_Lint(Lint*a,intn,unsignedintvalue){if(a->lengthlength=n;a->n[n-1]=value;}//Cpy_Lint函数功能

7、:注释intCpy_Lint(Lint*a,Lint*b){inti;if(a==NULL

8、

9、b==NULL)return0;if(b->length==0){Init_Lint(a,0,0);return1;}for(i=0;in[i]=b->n[i];a->length=b->length;return1;}//Split_Lint函数功能:注释-17-重庆邮电大学经济管理学院intSplit_Lint(Lint*a,Lint*b,intn1,intn2){inti;if(n1<1

10、

11、

12、n2>b->length)return0;for(i=n1-1;in[i-n1+1]=b->n[i];a->length=n2-n1+1;return1;}//Cmp_Lint函数功能:注释intCmp_Lint(Linta,Lintb){inti;i=a.length;while(1){if((a.n[i-1]==0)&&(a.length>1))a.length=-1;

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

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

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