实验三 非对称加密算法

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

实验三非对称密码算法(RSA)

实验日期:2012.9.27 班级:10网络安全(CIW)姓名:学号:一、实验目的

(1)理解非对称加密算法的原理和特点

(2)理解RSA算法的加密原理

二、实验要求

(1)会使用密码工具和VC++6.0

(2)准确完成实验内容,得出实验结果

(3)写出实验步骤和实验小结

三、实验步骤

本实验主机A、B为一组,C、D为一组,E、F为一组。

首先使用“快照X”恢复Windows系统环境。

(一) RSA生成公私钥及加密解密过程演示

(1)本机进入“密码工具”|“加密解密”|“RSA加密算法”|“公私钥”页签,在生成公私钥区输入素数p和素数q,这里要求p和q不能相等(因为很容易开平方求出p与q的值)并且p与q的乘积也不能小于

127(因为小于127不能包括所有的ASCII码,导致加密失败),你选用的素数p与q分别是:p=__71___;q=___53___。

(2)单击“随机选取正整数e”下拉按钮,随机选取e,e=__1013________。

如图1-1所示:

图1-1 素数p、q和随机数e

(3)单击“生成公私钥”按钮生成公私钥,记录下公钥(1013,3763) , 私钥(2677,3763),如图1-2所示:

图1-2 生成的公私钥

(4)在公私钥生成演示区中输入素数p=_71__和素数q=_53__,还有正整数e=_1013___。

单击“开始演示”按钮,如图1-3所示,查看结果,填写表3-1。

图1-3 公私钥生成演示

表3-1 公私钥生成演示结果

私钥d2677私钥n3763

公钥e1013公钥n3763

(5)在加/解密演示区中输入明文m=_3760_,公钥

n=_3763_(m

(6)在密文c编辑框输入刚刚得到的密文,分别输入私钥

n=_3763_,私钥d=_2677_,点击“解密演示”按钮,查看RSA解密过程,然后记录得到的明文m=_3760_________。

(7)比较解密后的明文与原来的明文是否一致,如图1-4所示:

图1-4 比较解密前后的明文

根据实验原理中对RSA加密算法的介绍,当素数p=13,素数q=17,正整数e=143时,写出RSA私钥的生成过程:输入素数p:13和q:17,而且保密;计算n=13*17,将n=221公开;计算ф(n)=12*16,对ф(n)保密;随机地选择一个正整数e:143,1

图1-5 私钥生成结果

当公钥e=143时,写出对明文m=40的加密过程(加密过程计算量比较大,请使用密码工具的RSA工具进行计算):_得到对方的真实公钥(e,n);把消息表示成整数m,0<m≤n-1;使用平方-乘积算法,计算C = Ek(m) = me mod n;将密文C导出发送给对方。如图1-6所示:

图1-6 RSA加密过程

利用生成的私钥d,对生成的密文进行解密:__在“加密/解密”标签,单击“解密”按钮,导入文,输入私钥d和n解密________,如图1-7所示:

图1-7 解密

(二) RSA加密解密

(1)本机在生成公私钥区输入素数p和素数q,这里要求p和q不能相等,并且p与q的乘积也不能小于127,记录你输入的素数,

p=__43___,q=___53__。

(2)点击“随机选取正整数e:”下拉按钮,选择正整数e,e=_1003_。

(3)点击“生成公私钥”按钮生成公私钥,记录下公钥e=_1003_,

n=2279;私钥d=_1411_, n=_2279_。将自己的公钥通告给同组主机。

(4)本机进入“加密/解密”页签,在“公钥e部分”和“公钥n部分”输入同组主机的公钥,在明文输入区输入明文:_RSA加密

______________________。

单击“加密”按钮对明文进行加密,单击“导出”按钮将密文导出到RSA 共享文件夹(D:\Work\Encryption\RSA\)中,如图2-1所示,通告同组主机获取密文。

图2-1 导出文件

(5)进入“加密/解密”页签,单击“导入”按钮,从同组主机的RSA共享文件夹中将密文导入,点击“解密”按钮,切换到解密模式,在“私钥d 部分”和“私钥n部分”输入自己的私钥,再次点击“解密”按钮进行RSA解密,如图2-2所示:

图2-2 解密密文

(6)将破解后的明文与同组主机记录的明文比较,如图2-3、2-4所示:

图2-3 同组主机记录的明文

图2-4 解密后的明文

(三) 源码应用(选做)

设计RSA加密工具,利用RSA加密算法对文件进行加密。

单击工具栏“VC6”按钮,启动VC++6.0。选择“File”|“Open Workspace…”加载工程文件“C:\ExpNIS\Encrypt-

Lab\Projects\RSA\RSA.dsw”,如图3-1所示,基于此工程进行程序设计。

图3-1设计RSA加密工具

实验小结

1. 非对称密码算法解决了对称密码体制中密钥管理的难题,并提

供了对信息发送人的身份进行验证的手段,是现代密码学最重

要的发明。

2. 非对称加密算法的原理和特点:在公钥密码系统中每个实体都

有自己的公钥和相应的私钥。公钥密码系统的加密变换和解密

变换分别用E和D表示。任何实体B要向实体A发送信息m的步骤

如下:实体B首先获得实体A的真实公钥的拷贝(eA),实体B

使用eA计算密文c=E(m)并发送给实体A,实体A使用自己的

私钥dA,计算m=D(c)解密密文,恢复出明文m。这里公钥不

需要保密,但要保证它的真实性,即eA确实是实体A掌握的私

钥dA所对应的公钥。提供真实的公钥比安全地分配密钥实现起

来要容易得多。这也是公钥密码系统的主要优点之一。

3. RSA算法的加密和解密过程:

公私钥的生成算法:

(1)随机地选择两个大素数p和q,而且保密;

(2)计算n=pq,将n公开;

(3)计算ф(n)=(p-1)(q-1),对ф(n)保密;

(4)随机地选择一个正整数e,1

(5)根据ed=1 mod ф(n),求出d,并对d保密。

公开密钥是由(e,n)构成,私有密钥由(d,n)构成。

2.加密算法

(1)得到对方的真实公钥(e,n);

相关文档
最新文档