前言
提示:这里可以添加本文要记录的一般内容:
例如,随着人工智能的不断发展,机器学习技术变得越来越重要。许多人已经开始学习机器学习。本文介绍机器学习的基本内容。
提示:以下为本文正文,以下案例供参考
一、实验环境
示例:PyCharm 2019.2.4 (Professional Edition) & Python 3.7
二、非对称加密RSA
1.理解RSA算法原理
2.加密过程
2.1 首先随机生成两个素数p,q(保密)
在这里使用random库就可以生成一个随机数,然后判断是否为一个素数,如果是一个素数,返回True,如果不是,返回False。
2.2 计算n=pq(公开),欧拉函数值f(n) = (p-1)(q-1)(保密)
2.3 随机选取正整数 1
2.5 由此得到公钥(N,E),私钥(N,D)
2.6 加密变换:对于明文 m∈Zn,密文为c=m^e mod n.
这里使用大数的幂模,幂指数转换为二进制解。该算法由 Gartner 提出。算法如下:
解密过程
解密变换:对于明文 c∈Zn,明文为m=c^d mod n.
解密过程也是使用大数的幂的取模,和加密过程的基本原理是一样的,这里就不赘述了。
#3。运行结果
运行本程序,显示功能清单,选择RSA加密、RSA解密或者退出。首先,选择1,随机生成两个素数p,q,计算n,f(n),随机选取正整数e,计算d,从而得到公钥和私钥。输入明文(明文长度不受限制),回车,生成密文。
然后,选择2,接着输入私钥,回车,显示明文。最后,选择q,退出。
版权声明:本文为博主洛宁满月原创文章,版权归属原作者,如果侵权,请联系我们删除!
原文链接:https://blog.csdn.net/guansheng123/article/details/123029969