zoukankan      html  css  js  c++  java
  • RSA 非对称加密原理

    原文链接:https://blog.csdn.net/jijianshuai/article/details/80582187
    2019年11月24日 星期天 CQCET

    RSA 加密原理

    在这里插入图片描述公钥=(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

    1
    2
    

    4、计算公钥E

    1 < E < φ(N)
    1 <E < 20

    1
    2
    

    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

    1
    2
    

    根据上面可计算出 D = 7

    6、公钥加密

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

    公式:C = ME mod N
    

    M = 2
    E = 3
    N = 33

    1
    2
    3
    
    C = 23 % 33 = 8
    

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

    7、私钥解密

    M =CD mod N

    C = 8
    D = 7
    N = 33

    1
    2
    3
    
    M = 87 % 33
    8 * 8 * 8 * 8 * 8 * 8 * 8=2097152
    8 * 8 * 8 * 8 * 8 * 8 * 8 % 33 = 2
    

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

    ———————————————————————————————————————————————
    本文转载CSDN博主 汲建帅

  • 相关阅读:
    马哥Linux——第三周作业
    [laravel]phpunit
    [laravel]要点
    [laravel]请求处理
    [angularJS]ng-hide|ng-show切换
    [yii2]urlmanger
    虚拟机bridged, NAT and host-only网络区别
    [yii]Fetch data from database and create listbox in yii
    [shell test] multiple conditions
    特殊的shell变量:
  • 原文地址:https://www.cnblogs.com/cqnswp/p/12568886.html
Copyright © 2011-2022 走看看