• RSA 加密原理


    步骤  说明  描述  备注
    1 找出质数 P 、Q  
    2 计算公共模数 N = P * Q  
    3 欧拉函数 φ(N) = (P-1)(Q-1)   
    4 计算公钥 E 1 < E < φ(N)  E的取值必须是整数
    E 和 φ(N) 必须是互质数
    5 计算私钥 D E * D % φ(N) = 1  
    6 加密  C = M E mod N C:密文 M:明文
    7  解密 M =C D mod N C:密文 M:明文


    公钥=(E , N)
    私钥=(D, N)

    对外,我们只暴露公钥。

    示例
    1、找出质数 P 、Q

    P = 3
    Q = 11
    2、计算公共模数

    N = P * Q = 3 * 11 = 33
    N = 33
    3、 欧拉函数

    φ(N) = (P-1)(Q-1) = 2 * 10 = 20
    φ(N) = 20
    4、计算公钥E

    1 < E < φ(N)
    1 <E < 20
    E 的取值范围 {3, 7, 9, 11, 13, 17, 19}
    E的取值必须是整数, E 和 φ(N) 必须是互质数
    为了测试,我们取最小的值 E =3
    3 和 φ(N) =20 互为质数,满足条件

    5、计算私钥D

    E * D % φ(N) = 1
    3 * D % 20 = 1
    根据上面可计算出 D = 7

    6、公钥加密

    我们这里为了演示,就加密一个比较小的数字 M = 2

    公式:C = ME mod N

    M = 2
    E = 3
    N = 33
    C = 23 % 33 = 8

    明文 “2” 经过 RSA 加密后变成了密文 “8”

    7、私钥解密

    M =CD mod N

    C = 8
    D = 7
    N = 33
    M = 87 % 33
    8 * 8 * 8 * 8 * 8 * 8 * 8=2097152
    8 * 8 * 8 * 8 * 8 * 8 * 8 % 33 = 2

    密文 “8” 经过 RSA 解密后变成了明文 2。

    公钥加密 - 私钥解密流程图


    私钥加密 - 公钥解密流程图

    ————————————————
    版权声明:本文为CSDN博主「q469587851」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/q469587851/article/details/99825311

  • 相关阅读:
    VLC在web系统中应用(xvlcplugin 即如何把VLC嵌入HTML中)
    mysql in 排序
    EditPlus v3.31 注册码
    UTF8编码判断
    zend framework 获取邮箱内容 编码转换 quoted_printable_decode | base64_decode
    String path = request.getContextPath(....拼装当前网页的相对路径
    【转】input中id和name的区别
    JSON基础知识
    【转】 jdbc.properties
    JSP页面传值乱码过滤
  • 原文地址:https://www.cnblogs.com/hjlweilong/p/12246607.html
Copyright © 2020-2023  润新知