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)
上一篇 2022年5月24日 下午3:20
下一篇 2022年5月24日 下午3:20


相关推荐

  • Java LDAP统一身份认证

    不多说直接看代码,如下:importjava.util.Hashtable;importjavax.naming.AuthenticationException;importjavax.naming.Context;importjavax.naming.NamingEnumeration;importjavax.naming.NamingException;import…

    2022年4月6日
    64
  • 查看oracle端口号「建议收藏」

    查看oracle端口号「建议收藏」我的oracle安装路径:D:/Study/Oracle打开其中的tnsnames.ora此文件中port=“端口号”端口号一般为1521

    2022年4月18日
    243
  • linux安装、卸载jdk及配置环境变量

    linux安装、卸载jdk及配置环境变量一、查看Jdk的安装路径:whereisjavawhichjava(java执行路径)echo$JAVA_HOMEecho$PATH二、卸载旧版本的JDK:1.确定JDK的版本:rpm-qa|grepjdkrpm-qa|grepgcj结果:copy-jdk-configs-2.2-5.el7_4.noarchjava-1.8.0-openjdk-headless-de…

    2022年6月25日
    27
  • CSDN提现规则说明(更新:支持实时提现)

    提现范围1、博客(付费专栏、VIP可见文章)、学院讲师、必问、活动业务线等的收益进行合并提现;提现标准1、必须进行实名认证才可以进行提现;

    2022年4月12日
    62
  • centos 安装nmtui_CentOS 配置网卡 nmtui

    centos 安装nmtui_CentOS 配置网卡 nmtuiifconfig root localhostnet scripts ifconfigenp5 flags 4163UP BROADCAST RUNNING MULTICASTmtu c4 7a 32 06 bctxqueuelen Ethe ifconfig root localhostnet scripts ifconf

    2026年3月18日
    1
  • 数字签名与数字证书

    数字签名与数字证书数字签名 将报文按双方约定的 HASH 算法计算得到一个固定位数的报文摘要 在数学上保证 只要改动报文中任何一位 重新计算出的报文摘要值就会与原先的值不相符 这样就保证了报文的不可更改性 将该报文摘要值用发送者的私人密钥加密 然后连同原报文一起发送给接收者 而产生的报文即称数字签名数字证书 数字证书就是互联网通讯中标志通讯各方身份信息的一系列数据 提供了一种在 Internet 上验证您身份的方式 其作用类似于司机的驾驶执照或日常生活中的身份证 它是由一个由权威机构 CA 机构 又称为证书授权

    2026年3月19日
    2

发表回复

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

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