- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
两个筛法的故事
原文网址:/notices/199612/pomerance.pdf原作者:?Carl Pomerance两种筛法的故事?Carl Pomerance?(这篇文章献给我的朋友 和老师Paul Erdos,以资纪念)?现在是分解大数成质因子比赛的最好时代。在1970年不可能分解一个20位的“硬”数。在1980年,那时是Brillhart-Morrison连分数分解算法的鼎盛时期,分解一个50位的数正变得平常起来。在1990年,我的二次筛法分解算法已经使能分解的大数位数翻倍,记录达到116位。到1994年二次筛法已经分解了著名的129位的RSA挑战数,此数Martin Gardner在1976年的科学美国人杂志专栏中估计它在4x10^16年内是安全的(虽然那时的其他人会谦虚点)。但现在二次筛法也不是冠军了。它在1996年春天被Pollard的数域筛法所取代,此方法成功地分解了一个130位的RSA挑战数,并且只需要二次筛法所需时间的15%。在本文中我们会简要地谈及这些分解算法—这两种筛法—以及很多参与研发算法的人们中的一部分。在本世纪中叶,有关计算的事情似乎是过时的。在绝大多数的书中分解大数的问题几乎被忽视,因为它被认为是很普通的。毕竟,从原理上讲因子分解是可行的,那还去讨论什么?也有少数研究者不考虑这种耗时的方式,努力去发现更快的分解方法。对这些研究者来说,时间是基本和重大的问题,没法把它扔到一边。??但时代在变化。在最近的几十年里我们已看到可存取的快速计算能力的肇始,也看到加密系统的产生,并且它的安全性基于可推测的对快速大数分解(或其他数论问题)的无能力。今天很多人对分解感兴趣,承认它不仅是加密系统的安全性基准,也是计算能力本身的基准(就像SuperPi一样).在1984年美国计算机械协会颁发了一枚徽章给美国电子电气工程师协会(IEEE),那年是IEEE100周年纪念。这枚徽章刻上了那年由二次筛法完成分解的??的素数分解式。ACM的主席评论道:约300年前法国数学家梅森推测?是一个合数,即一个可分解的数。大约在一百年以前它被证明是可分解的,但即使在20年以前分解这个数的计算量也被认为是难以克服的。事实上,使用一般的机器和传统的搜索算法,那么搜索时间估计要10^20年。今年二月在加州的Sandia使用一台Cray计算机花了32小时将这个数分解了,这是一个世界记录。在计算领域我们已走过一段很长的路,为了庆祝IEEE对计算领域的贡献,我们在一枚徽章上刻下了这个梅森合数的五个因子。IEEE,生日快乐。分解大数是一种陌生的数学,类似于实验科学,事实有最终而明确的话语权。如果分解n的某个方法运行一阵子后声明“d是n的因子”,那么这个论断很容易检验;显然,整数就是最终而明确的话语权。任何人都可以很好地这么做,一般不需要通过理论证明一个方法是怎么工作的。但是,作为实验科学,严密和启发性的分析对我们理解学科并推动它的发展却是很有价值的。并且作为实验科学,在研究者和应用者之间有时有点牵扯。一些人认为分解的理论研究是台面上的不动产(或者如Hendrik Lenstra曾风趣的表述,Siegel意译过来是,“玫瑰园里的一只猪”),通过夸张地给不同算法很多标签,如“多项式”,“指数式”,“随机”等等获得不该有的注意力,给那些做严肃艰苦计算的作业者以或有或无的回报。这个观点是有事实要素的。但正如我们看到的,理论对本文标题说的两种筛法扮演了一个重大角色。一个竞赛问题????还是让我们从源头开始吧,至少这是我的源头。当我在谈论分解算法时,我常重复一件很早以前在中学时碰巧发生的一件事情。那时我参加一个数学竞赛,其中一道题是分解整数8051.要求在五分钟内完成。其实不是不让我们使用口袋计算器,在1960年它根本就不存在,这件事大约就是这个时间发生的!好了,我的算术很好,我相信在规定的时间内我能用试除法分解它,要一直试除到8051的平方根(约90)。但在很多考试中,特别是在一个竞赛中,很多学生希望能契合出题者的意图。我确信他们不会出一个只需用理所当然的方法拼命去试除,直到找到因子的题目。肯定有某种聪明的替代途径能找到答案。所以我花了几分钟寻找这个聪明的办法,但我变得越来越焦虑因为花了太多时间。最后虽然迟了,我还是用试除法,但我已经浪费了很多时间,最后没答出这道题。?????那么现在你能找到聪明的法子吗?如果你愿意想一想,那就停一下再看下一段。Fermat和Kraitchik???诀窍是把8051写成8100-49,即90^2-7^2,所以我们可以使用代数,就是分解一个平方数差,以便分解8051.结果是83x97.这个办法一直有效吗?每个奇合数都可以分解成平方差:只需使用恒等式ab=(1/2(a+b))^2-(1/2(a-b))^2.努力寻找平方差的办法实际上是费马的
文档评论(0)