RSA实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

RSA算法实验

【实验目的】

1.了解RSA算法的基本原理

2.掌握RSA算法的实现方法

3.通过实际编程了解非对称密码算法RSA的加密和解密过程,同时锻炼编

程能力。

【实验环境】

1. 应用软件:Microsoft VC++

2. 操作系统:Windows XP

【实验预备知识点】

1. RSA密码系统所基于的数学难题是对大素数的因式分解。

2. RSA算法原理:(1).选择两个大的素数p 和q(典型情况下为1024 位)

(2).计算n = p * q 和z =(p-1)*(q-1).

(3).选择一个与z 互素的数,将它称为d

(4).找到e,使其满足e*d = 1 mod z

提前计算出这些参数以后,我们就可以开始执行加密了。

【实验内容】

◆自行以2位小素数为p,q,3为公钥e,构造一个小的RSA系统,对“a、

b、c、d”这4个字母进行加密,解密

◆在密码教学系统中实现RSA运算的大素数、公钥、私钥的生成、明文加

解密、分块大小的选择

◆了解在不同分块大小的情况下,RSA系统的密文长度也会有所变化

◆了解在不同参数的情况下,RSA系统的性能变化

【实验步骤】

1.熟悉RSA运算原理;

2.打开实验程序,如图1;

3.选择密钥长度为128、256、512或者1024比特;

4.点击“随机求取N,E,D”按钮,得到大整数N,公钥E,密钥D;

5.在明文对话框中输入需要加密的明文字符串;

6.点击“加密”按钮可获得加密后的密文,点击“解密”按钮可获得解密后的明文;

或者

7.自己输入大整数N、公钥E、密钥D,然后点击按钮“自己输入N,E,D”就激活明文输入框。(自己输入的数都是16进制的数)8.在明文对话框中输入需要加密的明文字符串;

9.点击“加密”按钮可获得加密后的密文,点击“解密”按钮可获得解密后的明文;

10.运算用时:显示的是随机求取N,E,D时,程序运行所需要的时间。

图1 RSA算法实验

【实验过程】

1.随机求取N,E,D:点击“随机求取N,E,D”按钮,得到下图所示的N,E,D.

2.输入明文abcd,点击“加密”按钮,得到加密后的密文。

3.点击“解密”按钮,得到解密后的明文ABCD。

4.手动输入N,E,D.

5.点击“自己输入N,E,D”按钮,激活明文输入框。

7.输入明文123。点击“加密”按钮。得到加密后的密文。

8.点击“解密”按钮。得到解密后的明文。

【实验思考题】

1. 对于128bit的AES算法,需要多少安全参数为多少的RSA系统与之相

匹配?

2. RSA系统的安全参数是什么意思?安全参数为1024bit的RSA系统,其

模数n大约为多少bit?

答:1、需要1024bit安全参数的RSA系统与之匹配。

相关文档
最新文档