RSA小学生都能看懂的2018-08-13

作者: 仰简 | 来源:发表于2018-08-13 23:21 被阅读54次
    RSA.jpg

    没有公式推导,非常简单,只要小学数学水平就能看的懂的RSA加解密以及破译的过程讲解。真的很简单。

    一、求取公钥以及私钥的过程

    1.寻找两个大质数 p,q
    2.计算 n = p * q
    3.计算欧拉函数 f(n) = (p - 1) * (q - 1)
    4.求公钥为 e,e 满足如下条件
    (1)e 为 1 < e < f(n) 中的任意一个整数
    (2)e 与 f(n) 互为质数
    最后 (n , e) 共同组成公钥。
    5.求私钥 d,d 满足如下条件
    (e * d) mod f(n) = 1
    最后 (n,d) 共同组成私钥

    二、加解密过程,设 m 为原文,c 为密文

    1.加密
    me 次幂 mod n = c
    2.解密
    cd 次幂 mod n = m

    三、举个破例子

    1.设 p = 3,q = 5
    2.计算 n = 3 * 5 = 15
    3.计算 f(n) = 2 * 4 = 8
    4.根据第一点第4小点,e 可以取的值有3,5,7。这里取 3 好了
    5.根据第一点第5小点,d = 11,因为 3 * 11 mod 8 = 1
    6.加密:设 m = 2,则 c = 2 的 3 次幂 mod 15 = 8
    7.解密:c 的 11 次幂 mod 15 = 2 (找个科学计算器算,不然很恼火)

    四、破译的过程

    破译的过程其实就是已知 (n,e) 根据求取公钥以及私钥的过程逆向求 (n,d)。
    还是上面的破例子,已经 n = 15,那么就要分解质因子,15 的质因子为 3,5。然后根据第一点的前 4 个小步骤发现正好可以求得 e,再求 d 就简单了。
    好简单,秒解,一眼就看出来。呃,但是交给计算机来算可没这么快了,而且这才 2 位,换成 1024 位再分解一下试试?

    相关文章

      网友评论

      本文标题:RSA小学生都能看懂的2018-08-13

      本文链接:https://www.haomeiwen.com/subject/ncppbftx.html