破解RSA的一些技术
来源:互联网 发布:尿不湿淘宝网 编辑:程序博客网 时间:2024/06/05 10:29
RSA简介:
取一个大数 n=p*q,p,q为大素数.
设n的欧拉函数为 f(n) = (p-1)(q-1);
则取一个公钥为e,相应密钥为d.
ed + x * f(n) = 1
要求: e*d = 1 (mod f(n))
原文为m:
密文为c = m^e (mod n)
因为: m ^ f(n) = 1 (mod n)
解密: c^d = m^(e*d) = m*( (m^f(n)) ^(-x)) (mod n)
破密:
1,因子分解法:
破解意向:若知道 p-1 , q-1 ,就知道了 f(n), 则就很容易破解了.
由于 p*q = n, p+q = n - f(n) +1
p,q 是 x^2 + (f(n)-n-1)x + n = 0 的根.
进而只要试出n的因子分解,就可以破解,因此n的分子分解决定了安全性.
如:
当p 和 q 很接近时,
因为 n = p*q = ((p + q)/2)^2 - ((p - q)/2)^2
当 (p - q)/2 接近于 0 时 , t = (p + q)/2 接近于 n^(1/2)
只要枚举大于 n^(1/2) 的 t 很快就可以找出满足
t^2 - n 为平方数的 t
使得 t^2 - n = s^2
则 n = (t+s) * (t-s)
至此就求出了 p 和 q.
2,阶乘法
意向:
黑客可能会利用阶乘法不断地递增 t 来求出 m 如:
因为 c^(e^t) = c (mod n), 就有 c^(e^(t-1)) = m (mod n)
而 c^(e^(t-1)) = m (mod n) 就是 m^(e^t) = m (mod n)
即 n | ( m^(e^t -1) - 1 )
若 m mod n 的阶为k,则
e^t = 1 (mod k)
取 t 的最小值就是 e mod k 的阶,
而 e mod k 的阶,是 f(k) 在因子,又 k 是 m mod n 阶,
即 k 是 f(n) 的因子,求出 k 就容易破解了.
所以 最好使 f(n) 中的两个因子 p-1 , q-1 ,它们的因子中出现的素因子都要为大素数因子,
才能不容易被破解.
- 破解RSA的一些技术
- POJ 2447 RSA —— RSA加密算法的破解过程
- RSA加密算法及特定条件下的破解
- 一些常用软件的破解
- RSA被山东大学破解!!?
- RSA加密与破解
- RSA加密与破解
- rsa破解简单练习
- RSA破解作业
- 电信级的RSA加密后密码的破解方法
- RSA 公钥解密的一些心得!
- 对于RSA算法的一些理解
- RSA 不用私钥破解原文的办法!
- 一种基于穷举碰撞的RSA降维破解算法
- 量子计算的能够破解RSA加密吗?
- RSA不同于模数攻击的破解法
- 一些MD5 破解的网站
- 破解软件的一些方法
- 城市新56个漂泊族 你是哪漂泊一族?
- sd 卡的一些基本操作
- jdbc连接池
- 拼图游戏分析
- Void作用(适合初学者)
- 破解RSA的一些技术
- openjweb 邮件管理功能介绍
- 通过CMM评估的战略
- English Major Assignment
- 编程十诫
- 八条佛曰 66句震撼人心的禅语
- JavaScript调试工具以及简单应用
- JSON
- 关于DOM4J 生成 xml文件