0
点赞
收藏
分享

微信扫一扫

身份认证与口令加密

大明宫 2022-04-21 阅读 84

信息加密

三、实训任务3 公钥加密算法
RSA算法的数学原理
1. 阅读RSA.cpp中的代码,了解其实现方法。
2. 调试运行RSA.cpp,选择两个不同的素数。
3. 根据生成的d和e验证公式d×e ≡ 1 (mod (p-1)(q-1))。
4. 输入要加密的数。
5. 验证密钥是否有效(加密解密的计算过程和结果是否正确)。
利用RSA-Tool加密消息
1. 运行RSA-Tool,点击Start按钮,滑动鼠标生成一个随机数。
2. 点击Generate生成一对大质数p、q及N=p×q。
3. 自己选定一个可用的整数e。
4. 点击Calc.D生成d。
5. 至此创建了一对公钥和私钥。
6. 将公钥(N,e)发送给小伙伴,小伙伴利用该公钥进行消息加密并发回密文。
7. 利用私钥对小伙伴发来的密文进行解密。
注:加密时仅需要e和N,解密时仅需要d和N。
利用RSA算法实现对称密钥的安全分配
1. 小A同学准备一些文字(信件),选择一个密钥利用DES-Tool对文字进行加密得到密文1。
2. 小B同学运行RSA-Tool,生成公钥和私钥,将公钥发送给小A同学,私钥自己留存。
3. 小A同学利用小B同学的公钥对加密信件时使用的对称密钥进行加密,得到密文2。将密文1和密文2一同发送给小B同学。
4. 小B同学首先用自己的私钥解密密文2,接着利用解密密文2得到的对称密钥在DES-Tool中解密密文1,得到原始文字内容。
利用RSA算法生成数字签名
1. 小A同学运行Hash-Tool,生成某文件的MD5值。
2. 小A同学利用RSA Tool对生成的MD5值进行私钥加密(反向使用RSA算法,Generate生成密钥后将D和E交换位置,再用test进行加密)。
3. 小A同学将公钥、文件和加密后的MD5一起发送给小B同学,由小B同学验证数字签名的正确性(软件中先激活test按钮,再填写公钥进行解密)。

运行RSA-Tool,点击Start按钮,滑动鼠标生成一个随机数。点击Generate生成一对大质数p、q及N=p×q。

 自己选定一个可用的整数e(可使用默认的10001,也可以使用其他的)。点击Calc.D生成d。

将公钥(N,e)发送给小伙伴,小伙伴利用该公钥进行消息加密并发回密文。利用私钥对小伙伴发来的密文进行解密。(可打开两个窗口进行操作,注意按钮不可点击时需要点generate或encript激活test和decript按钮)

4. 调试运行RSA.cpp,选择两个不同的素数。验证密钥是否有效(加密解密的计算过程和结果是否正确)

 5.小A同学准备一些文字,选择一个密钥利用DES-Tool对文字进行加密得到密文1。

 6.小B同学运行RSA-Tool,生成公钥和私钥,将公钥发送给小A同学,私钥自己留存。

 小A同学利用小B同学的公钥对加密信件时使用的对称密钥进行加密,得到密文2。将密文1和密文2一同发送给小B同学。

小B同学首先用自己的私钥解密密文2,接着利用解密密文2得到的对称密钥在DES-Tool中解密密文1,得到原始文字内容。

 

 

 

小A同学运行Hash-Tool,生成某文件的MD5值。


小A同学利用RSA Tool对生成的MD5值进行私钥加密(反向使用RSA算法,Generate生成密钥后将D和E交换位置,再用test进行加密)。

 

 


小A同学将公钥、文件和加密后的MD5一起发送给小B同学,由小B同学验证数字签名的正确性(软件中先激活test按钮,再填写公钥进行解密)。

 

举报

相关推荐

0 条评论