【网络安全_密码学实验_非对称加密算法RSA】

前言

提示:这里可以添加本文要记录的一般内容:
例如,随着人工智能的不断发展,机器学习技术变得越来越重要。许多人已经开始学习机器学习。本文介绍机器学习的基本内容。

提示:以下为本文正文,以下案例供参考

一、实验环境

示例:PyCharm 2019.2.4 (Professional Edition) & Python 3.7

二、非对称加密RSA

1.理解RSA算法原理

【网络安全_密码学实验_非对称加密算法RSA】

2.加密过程

2.1 首先随机生成两个素数p,q(保密)
在这里使用random库就可以生成一个随机数,然后判断是否为一个素数,如果是一个素数,返回True,如果不是,返回False。
【网络安全_密码学实验_非对称加密算法RSA】2.2 计算n=pq(公开),欧拉函数值f(n) = (p-1)(q-1)(保密)

【网络安全_密码学实验_非对称加密算法RSA】2.3 随机选取正整数 1【网络安全_密码学实验_非对称加密算法RSA】2.4 计算d,满足 d*e≡1(mod f(n))

【网络安全_密码学实验_非对称加密算法RSA】2.5 由此得到公钥(N,E),私钥(N,D)
2.6 加密变换:对于明文 m∈Zn,密文为c=m^e mod n.
这里使用大数的幂模,幂指数转换为二进制解。该算法由 Gartner 提出。算法如下:

【网络安全_密码学实验_非对称加密算法RSA】

解密过程

解密变换:对于明文 c∈Zn,明文为m=c^d mod n.
解密过程也是使用大数的幂的取模,和加密过程的基本原理是一样的,这里就不赘述了。

#3。运行结果

运行本程序,显示功能清单,选择RSA加密、RSA解密或者退出。首先,选择1,随机生成两个素数p,q,计算n,f(n),随机选取正整数e,计算d,从而得到公钥和私钥。输入明文(明文长度不受限制),回车,生成密文。
【网络安全_密码学实验_非对称加密算法RSA】然后,选择2,接着输入私钥,回车,显示明文。最后,选择q,退出。
【网络安全_密码学实验_非对称加密算法RSA】

版权声明:本文为博主洛宁满月原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/guansheng123/article/details/123029969

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
心中带点小风骚的头像心中带点小风骚普通用户
上一篇 2022年2月21日 下午3:04
下一篇 2022年2月21日 下午3:43

相关推荐