
RSA课程实验报告及代码。
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
实践要求:1. 必须完成 RSA 算法的密钥生成、数据加密以及数字签名功能。2. 密钥生成过程需包含生成两个大素数 p 和 q,计算 n = p × q 以及 Φ(n) = (p-1)(q-1),随后选择与 Φ(n) 互质且小于 Φ(n) 的整数 e,并计算 d = e-1 mod Φ(n),最终得到公钥 {e, n} 和私钥 {d, n}。具体而言,p 和 q 的值至少应大于 1010,生成的整数 p、q、n、e 和 d 分别应分别写入文件 p.txt、q.txt、n.txt、e.txt 和 d.txt 中。请务必注意,所有整数必须采用 16 进制表示法进行编码;在写入文件时,应先将整数转换为字符串形式,例如素数 p = 6B1BCF (以 16 进制表示),则应写入文件的字符串为“6B1BCF”,而非直接写入整数 6B1BCF。3. 数据加密指的是利用公钥 {e, n} 对预定的明文进行加密操作。数字签名则利用私钥 {d, n} 对指定的明文进行加密处理。数据加密和数字签名都配备了一组相应的测试数据,用于验证程序的正确性运行。要求通过命令行方式指定明文文件、密钥文件的位置和名称以及加密完成后密文文件的位置和名称。在执行加密操作时,首先从指定的明文文件和密钥文件中读取相关信息,然后进行加密运算,最后将生成的密文写入到指定的密文文件中。同样地,密文(一个整数)也必须使用 16 进制表示法编码;在写入文件之前,务必将该整数转换为字符串形式,例如密文 c = 154A6B (以 16 进制表示),则应写入文件的字符串为“154A6B”,而非直接写入整数 154A6B。
全部评论 (0)
还没有任何评论哟~


