• 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

  • 相关阅读:
    FZU 1683 纪念SlingShot ★(矩阵 && 求和 && 线性变换)
    POJ 2356 Find a multiple (鸽巢原理)
    HDU 1568 Fibonacci ★(取科学计数法)
    POJ 2356 Find a multiple (鸽巢原理)
    POJ 1222 & 1681 & 1830 & 3185 开关灯问题 (高斯消元 & 异或方程组)
    HDU 1588 Gauss Fibonacci ★(矩阵 && 求和)
    HDU 1568 Fibonacci ★(取科学计数法)
    C#数据绑定技巧
    AHP分析
    AHP分析
  • 原文地址:https://www.cnblogs.com/hjlweilong/p/12246607.html
Copyright © 2020-2023  润新知