广州大学学生实验报告
开课学院及实验室: 年 月 日
学院
年级、专
业、班
姓名 学号
实验课程名称 成绩
实验项目名称
实验 4 非对称密码算法实验
指导
老师
实验目的
掌握产生 RSA 密钥对的程序设计方法
掌握产生 RSA 加密/解密的程序设计方法
实验内容
编写函数求出 1~65535 之间的全部素数
取 8-bit 的两个素数 p,q,并用来生成一对 RSA 密钥
编写 RSA 加密/解密程序(可以限制 N 为 16-bit,并利用上述的 p,q)
加密 你的学号+姓名 并随后解密
实验步骤
【RSA 算法流程】
加密:
1、取 8-bit 的两个素数 p,q,并用来生成一对 RSA 密钥
2、根据欧拉函数,求得 r=(p-1)(q-1)
3、选择一个小于 r 的整数 e,求得 e 关于模 r 的模反元素,命名为 d。(模反元素存在,当
且仅当 e 与 r 互质)
4、(N,e)是公钥,(N,d)是私钥。Alice 将她的公钥(N,e)传给 Bob,而将她的私钥(N,d)藏起
来。
5、利用公式将 n 加密为 c,公
式:,其中 e 为公钥
解密 : 利用 公式 将 c 加密为 n
,公式:,其中 d 为私钥
RSA 算法的 C 代码实现
1、判断是否为素数
2、随 机 产 生 素
数 p , q , 最 大
为 8bit
3、产 生 公 钥 e
(根据欧拉函数
r , 从 2 开 始 遍
历寻找符合条件
的 e,直到 int 变
量溢出)
4、产生私钥 d(从 1 开始遍历符合条件的 d,直到变量溢出)
- 1
- 2
前往页