- 1
- 0
- 约1.12万字
- 约 6页
- 2021-11-07 发布于福建
- 举报
广东工业大学实验报告
自动化 学院 网络工程 专业 0704 班 学号 3107001 姓名 成绩评定 _______ 教师签名 曾启杰
实验 2 题目 非对称密码算法 RSA 课程名称 网络安全基础
实验二 非对称密码算法 RSA
一、实验目的
通过实际编程了解非对称密码算法 RSA 的加密和解密过程,加深对非对称密码算法的认识。
二、实验环境
运行 Windows 或 Linux 操作系统的 PC 机,具有 gcc(Linux) 、VC(Windows) 等 C 语言编译环境。
三、实验内容和步骤
1)编写一个程序,随机选择 3 个较大的数 x 、e、n,然后计算 xe mod n ,记录程序运行时间。实际中应用的
素数为 512 位, n 也就为 1024 位。这样的大数在计算机上如何表示、如何进行运算,查阅资料给出简单说明。
四、实验报告要求
(1) 编写一个程序,随机选择 3 个较大的数 x 、e、n ,然后计算 xe mod n ,记录程序运行时间。实际中应用
的素数为 512 位, n 也就为 1024 位。这样的大数在计算机上如何表示、如何进行运算,查阅资料给出简单说明。
(2)计算机在生成一个随机数时,并不一定就是素数,因此要进行素性检测。是否有确定的方法判定一个大
数是素数,要查阅资料,找出目前实际可行的素数判定法则,并且比较各自的优缺点。
(3) 附件中给出了一个密码算法库,其中包括各种对称加密算法、非对称加密算法、 Hash 算法和数字签名算
法。找出其中关于 RSA 算法的部分,并且基于标准输入输出写一段用 RSA 加密文件的程序。
程序如下:
#include iostream
#include ctime
#include cstdlib
#include stdio.h
#include time.h
#include stdlib.h
using namespace std;
int main (){
clock_t start,finish;
double time;
long x,e,n;
cout 随机产生 3 个大数 (在999999999 之间 )进行 xe mod n 的时间为 endl;
start = clock();
srand(time(0));
x = 100000000*(rand ()%11)(rand ()%11)+1000000*(rand ()%11)+100000*(rand ()%11)+10000*(rand
()%11)+1000*(rand ()%11)+100*(rand ()%11)+10*(rand()%11)+rand ()%11;
e = 100000000*(rand ()%11)(rand ()%11)+1000000*(rand ()%11)+100000*(rand ()%11)+10000*(rand
()%11)+1000*(rand ()%11)+100*(rand ()%11)+10*(rand()%11)+rand ()%11;
n = 100000000*(rand ()%11)(rand ()%11)+1000000*(rand ()%11)+100000*(rand ()%11)+10000*(rand
()%11)+1000*(rand ()%11)+100*(rand ()%11)+10*(rand
您可能关注的文档
最近下载
- 关于层次分析法和灰色关联分析法的研究详解.doc VIP
- 高考一轮复习讲义第一讲学生 三角函数的概念同角三角函数关系式与诱导公式.doc VIP
- 高考数学 一轮复习讲义 任意角的三角函数.docx VIP
- 国际贸易实务实训教程.pdf VIP
- 高考数学 一轮复习讲义 -简单的三角恒等变换.docx VIP
- 如果要写年(带歌词完整版毛不易2024春晚歌曲) 高清钢琴谱五线谱.docx VIP
- 半边山半边海(原调版) 高清钢琴谱五线谱.docx VIP
- 下肢静脉血栓形成滤器术后护理.doc VIP
- 女性阻塞性睡眠呼吸暂停诊治专家共识 .pdf VIP
- 《我家是动物园》教案(2025—2026学年).docx VIP
原创力文档

文档评论(0)