RSA加密算法的基本流程

RSA加密算法的基本流程本文只是说一下RSA加密的流程,对于其他的不做过多的介绍!首先找到两个大素数p,q计算n=p*q,=φ(n)(p-1)*(q-1),其中φ(n)表示的是n的欧拉函数值任意选择一个满足要求的证书e,满足1

大家好,又见面了,我是你们的朋友全栈君。

本文只是说一下RSA加密的流程,对于其他的不做过多的介绍!

  1. 首先找到两个大素数 p,q
  2. 计算n = p*q , = φ(n)(p-1)*(q-1),其中φ(n)表示的是n的欧拉函数值
  3. 任意选择一个满足要求的证书e,满足1 < e <φ(n),并且gcd(φ(n),e)==1
  4. 计算d,满足(d*e)%φ(n) ==1,即d是e在模φ(n)下的乘法逆元,因为e和φ(n)互质,所以他的乘法逆元一定存在
  5. 以{e,n}为共钥,{d,n}是私钥

下面我问来举个例子:
假设我们已经知道明文是19;
我们选定两个素数p=7,q=19;
so n=p*q = 119 ,φ(n) = (p-1)*(q-1) = 96;
我们选择满足条件的e = 5,我们就能很简单的知道d = 77
所以共钥为{5,119},密钥{77,119}
所以我们可以得到密文是 C = (19^e)%n = (19^5)%119 = 66
解密为(C^d)%n = 19;

RSA的安全性

根据上面的推导,我们知道在RSA中又六个变量,p,q,n,φ(n),e,d

其中e和n是公开的,其中最关键的就是d,因为如果d泄露的话,就相当于私钥泄露了!
那么怎么破解RSA呢?
(1)e*d≡1 (mod φ(n))。只有知道e和φ(n),才能算出d。
(2)φ(n)=(p-1)(q-1)。只有知道p和q,才能算出φ(n)。
(3)n=pq。只有将n因数分解,才能算出p和q。
所以:如果n可以被因数分解,d就可以算出,也就意味着私钥被破解。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142050.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Lnmp修改php.ini配置

    Lnmp修改php.ini配置

    2021年10月9日
    34
  • pycharm运行py文件_Pycharm运行

    pycharm运行py文件_Pycharm运行当我们在pycharm上完成我们的项目之后,我们应该如何运行这个项目的呢?方法一:点击三角线绿色按钮,运行run(运行程序)方法二:使用快捷键Ctrl+shift+10,效果一样,同样也能在屏幕打印helloworld。方法三:使用cmd命令,打开cmd终端,进入工程所在目录,执行命令:python<py文件>。方法四:切换到Terminal窗口…

    2022年8月26日
    5
  • api接口token验证

    api接口token验证

    2021年10月13日
    116
  • 树莓派4B如何手动固定IP地址

    树莓派4B如何手动固定IP地址在使用树莓派的过程中,DHCP往往会自动分配树莓派的IP,因此树莓派的IP地址并不是固定的,那么每次在远程登录树莓派前都需要查看一下树莓派的IP地址,非常麻烦。因此,我们手动给树莓派设定一个静态IP地址后,树莓派的IP地址就是固定的了。无线(热点)IP固定方法首先在无线连接下查看自己局域网的IP网段,然后在树莓派终端输入:sudonano/etc/dhcpcd.conf,也可以使用VIM编…

    2022年6月9日
    134
  • 搭建SpringCloud项目,并实现自动化部署[通俗易懂]

    搭建SpringCloud项目,并实现自动化部署[通俗易懂]前一阵子一直在忙着做项目,最近有空,把项目中用到的SpringBoot微服务相关架构再梳理一遍。项目资源:https://github.com/sunroyi/SpringCloud主要分为以下几步:(1)搭建SpringBootService,这里是各个微服务的业务逻辑。(这里搭建了2个Service,用来测试熔断)(2)搭建SpringBootEureka,用来发现服务。(…

    2022年5月27日
    141
  • windows server2003 web服务器搭建

    windows server2003 web服务器搭建在控制面板中点击添加或删除程序,打开如下界面:勾选并打开应用程序服务器-Internet信息服务(IIS)-万维网服务依次点击确定后,开始下载服务,完成后打开IIS管理器然后进行如下设置在主目录下创建一个文本文档,输入内容,并保存为index.htm打开浏览器,输入IP地址,即可看到刚才输入的内容用物理机访问同理…

    2022年5月27日
    29

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号