- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
RSA
信息保障与安全
实验报告
学 院 计算机科学与技术
专 业 计算机科学与技术
年 级 2007级
姓 名 张炎辉
学 号 3007216108
2010年 4 月 28 日
1、试验题目
1.1题目
《简化RSA、ElGamal算法》
1.2具体要求
任务:(1) 编写一个程序实现简化RSA加密算法如图1; (2) 编写一个程序实现简化ElGamal加密算法如图2。
要求:两个程序都应该具有一个简单的输入{密钥长度,公开密钥,明文M/密文C}和输出{秘密密钥,密文C /明文M }界面。所有的输入输出数据用十进制表示。
1.3 测试用例
(1) 简化RSA加密
密钥长度=15 bits,N=pq=131×191=25021,e=3,d=16467,M=24021,C=14307。
(2) 简化ElGamal加密
密钥长度=14 bits,p=9973,α=11,y=5445,a=1751,M=7651,C={111520( 1028(mod 9973),5905}。
2、算法实现
2.1流程图
2.2测试结果
2.2.1 测试用例一
图一 开始界面
图二 密钥生成器
图三 加密
图四 解密
2.2.2测试用例二
图一 密钥生成器
图二 加密
图三 解密
3、代码实现
#includeiostream
#includetime.h
using namespace std;
int gcd(long a,long b)
{
if(a b){
long temp = a;
a = b;
b = temp;
}
while(a%b){
long c = a%b;
a = b;
b = c;
}
return b;
}
/*RSA*/
void RSA_key_generate(long length,long p,long q,long n,long e,long d){
n = q * p;
long t = (p - 1)*(q - 1);
for(e = 2; gcd(e,t) != 1 ;e++);
long de = 1;
for(int k = 0;de%e != 0;k++){
de = de + t;
}
d = de/e;
}
int RSA_Encryption(long n,long e,long m){
long c = 1;
for(int i = 1;i = e; i++)
{
c = c*m;
if(c n) c = c%n;
}
return c;
}
int RSA_Decrypt(long n,long d,long c){
long m = 1;
for(int i = 1;i = d; i++)
{
m = m*c;
if(m n) m = m%n;
}
return m;
}
/**/
/*ElGamal*/
typedef struct r_t
{
long r;
long t;
};
void ElGamal_key_generate(long length,long p,long a,long x,long y)
{
y = 1;
for(int i = 1;i = x;i++)
{
y = y*a;
if(y p) y = y%p;
}
}
r_t ElGamal_Encryption(long p,long a,long y,long m)
{
struct r_t rt;
rt.r = 1;
rt.t = m;
/*random number*/
srand((unsigned)time(NULL));
int k = 1520;//rand()%1024;
/**/
for(int i = 1;i = k; i++){
rt.r = rt.r*a;
if(rt.r p){
rt.r = rt.r%p;
}
rt.t = rt.t*y;
if(rt.t p){
rt.t = rt.t%p;
}
}
return rt;
}
int E
您可能关注的文档
- 9%的成长计划.ppt
- 8世界地图引出的发现课件.ppt
- 91审要点提高发行效率(1008与上市公司).ppt
- 9项目沟通管理(V21).ppt
- AA版水动能(结合四季保湿).ppt
- 9月6日物业管理实务分析题(阅读材料).doc
- ACM(几乎全).doc
- 99款高质量免费(X)HTML╱CSS模板.doc
- ADSL宽带上网使用教程(农村党员干部远程教育).ppt
- AIX系统管理(初级)培训教程.ppt
- 2025年中国铸管沥青漆喷涂机市场调查研究报告.docx
- 2025至2031年中国聚四氟乙割管料行业投资前景及策略咨询研究报告.docx
- 2025至2031年中国屏蔽箱行业投资前景及策略咨询研究报告.docx
- 2025年中国B级电源电涌保护器市场调查研究报告.docx
- 2025至2031年中国陶瓷印章行业投资前景及策略咨询研究报告.docx
- 2025至2031年中国保冷材料行业投资前景及策略咨询研究报告.docx
- 2025至2031年中国金彩立雕玻璃行业投资前景及策略咨询研究报告.docx
- 2025至2030年中国机箱螺母柱数据监测研究报告.docx
- 2025至2030年中国小GS管装饰头数据监测研究报告.docx
- 2025至2030年中国气动电阻焊机数据监测研究报告.docx
最近下载
- 城市公共充电站-供配电系统主接线图(630kVA箱变,高压计量方案).pdf VIP
- 佳能R62使用说明书【最新完整电子版】.pdf
- 2023-2024学年北京市丰台区高三(上)期末物理试卷+答案解析.pdf
- 2021三年级数学上册六平移旋转和轴对称平移旋转和轴对称习题苏教版.docx
- 三年级数学上册六平移旋转和轴对称第课时平移和旋转习题苏教版.ppt
- 美睫技术 睫毛嫁接的种类.pptx
- GPP2_User_Manua-GPP2-手册中文版介绍.doc
- 经典[老狐狸精]山阴慧人教你做一个精明圆滑正直的小人《老狐狸经》.pdf
- 建筑生涯发展展示.pptx VIP
- 学习公社2024年全国中小学德育骨干网络培训示范班在线考试答案.docx
文档评论(0)