[求助]大数分解的快速方法

点点吃得太多了 2014-10-06 07:56:58
如有一个随即大数:
234235476786796346345234234123125346
分解成两个乘积项, 两个乘积项相差不超过20%, 当然越小越好.

除了递归穷举之外, 还有没有其他的快速方法?
...全文
341 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 4 楼 FancyMouse 的回复:
其实不会多,你自己抓个数分解一下就知道了。20%也不是什么小数字。如果a-b极小可以枚举的话,那反而可以根据a-b=极小数,ab=原数,解二次方程解出来。 http://eprint.iacr.org/2009/318.pdf 这有一篇paper,但是也必须是delta=O(N^(1/3))才有更快的办法。 所以20%呢,你就当没有这个限制吧,真没啥用。
一语点醒梦中人, 乘积本质上就是累加值, 当间距越大, 得到符合最终节点的概率越小.
FancyMouse 2014-10-07
  • 打赏
  • 举报
回复
其实不会多,你自己抓个数分解一下就知道了。20%也不是什么小数字。如果a-b极小可以枚举的话,那反而可以根据a-b=极小数,ab=原数,解二次方程解出来。 http://eprint.iacr.org/2009/318.pdf 这有一篇paper,但是也必须是delta=O(N^(1/3))才有更快的办法。 所以20%呢,你就当没有这个限制吧,真没啥用。
FancyMouse 2014-10-06
  • 打赏
  • 举报
回复
更快的办法也不是一句两句就能解释清楚的,尤其是GNFS。随机的数的话一般小因子很多,用普通办法一般够用。等不够用的时候再说。
cnmhx 2014-10-06
  • 打赏
  • 举报
回复
如果有,那密钥系统不就全被轻而易举地破解了?
  • 打赏
  • 举报
回复
引用 1 楼 cnmhx 的回复:
如果有,那密钥系统不就全被轻而易举地破解了?
引用 2 楼 FancyMouse 的回复:
更快的办法也不是一句两句就能解释清楚的,尤其是GNFS。随机的数的话一般小因子很多,用普通办法一般够用。等不够用的时候再说。
我没说清楚, a*b=result, a-b在20%以内的乘积项应该有很多, 我只要快速求出其中的一组就可以了.

33,027

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧