美文网首页
RSA算法整理

RSA算法整理

作者: 客三消 | 来源:发表于2020-03-07 21:42 被阅读0次

    1.随机取大质数 pq

    2.设 n = p x q, n 的二进制位数就是密钥长度,一般为1024,2048.

    3.计算n的欧拉函数 φ(n) = (p - 1)(q - 1)

    4.从 1 - φ(n) 之间选择一个整数,且 eφ(n) 互质,计作 e

    5.计算 e 对于 φ(n) 的模反元素d
    ed ≡ 1 (mod φ(n))
    意思就是 ed / φ(n) 余数 1
    等价于 ed - 1 = k * φ(n), 由于dk 未知,相当于二元一次方程求解

    1. (n,e) 作为公钥, (n,d) 作为私钥

    7.加密: me ≡ c (mod n) ,其中m (密文,整数)二进制长度不可超过n m:明文 c:密文

    8.解密: cd ≡ m (mod n) 欧拉定理可证

    9.暴力破解:

    • 因为解密需要私钥(n,d).
    • 根据 ed ≡ 1 (mod φ(n))
    • e 已经是公钥提供了,所以只要知道φ(n)就可以破解
    • 问题转化为求 φ(n):
      • φ(n), 根据 φ(n) = (p - 1)(q - 1)
      • 所以转求 p - 1q - 1, 根据n = p * q
      • 只要因数分解 n 得出pq 就可以计算φ(n) = (p - 1)(q - 1)
    • 但是,想要因数分解n为两个大质数的乘积,只能从最小的质数一点点循环的试,目前貌似只有768位的二进制被质因数分解了.再长还未公布.

    相关文章

      网友评论

          本文标题:RSA算法整理

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