中国教育和科研计算机网 中国教育 高校科技 教育信息化 下一代互联网 CERNET 返回首页
素数界新任“带头大哥”来了
2016-01-25 科技日报

寻找最大素数可催生更可靠的芯片和加密技术

  最大的素数是多少?谁都念不出来,因为它有2233万多位,如果用普通字号将它打印出来长度将超过65公里。今年1月,美国数学家柯蒂斯·库柏公布了这个素数界的新任“带头大哥”。它没什么用,但寻找它却催生出更可靠的芯片和加密技术。

  素数是什么?这是个初中数学知识:素数又称质数,只能被1和它本身整除,而数值越大成为素数的概率就越低。新发现的素数写成指数式子并不长:274207281-1。它也叫梅森素数。梅森是17世纪一位数学家,终身致力于研究“2p-1”形式的素数(p也是一个素数)。

  数学家已经知道:在“2p-1”这类数字里更容易发现素数,寻找最大的梅森素数,基本等于寻找最大素数。数字越大,计算越难。1996年,有一位美国的数论爱好者和退休程序员,设立了GIMPS项目(“大互联网梅森素数搜索”的英文缩写),利用互联网上的空闲计算能力来找素数。共有100多万台计算机参与搜寻。

  “寻找最大素数是一个游戏,没有实际用处。但寻找素数的努力,可以促进计算机科学。”数学家杨乐院士告诉科技日报记者,“因为计算这么大的数是否是素数,是很难的,所以要提出新的计算方法和技术。”

  手算时代,人们只找到了12个梅森素数,而计算机则帮助找到了37个,其中有15个是GIMPS项目找到的。几十年来,爱好者们一直在创新算法,让计算机更快验证巨大的数字是否为素数。

  “想知道‘天河二号’准确不准确,也可以让它验算刚被发现的这个梅森素数是不是素数。”杨乐说出了梅森大素数的一个用处。

  “素数测试程序代码简短,能给出易于检查的答案:‘当该程序在一已知素数上运行时,经数十亿次计算,输出结果是TRUE。’”中科院数学所的高全泉研究员在一篇论文中写道,Intel公司在测试奔腾系列芯片时,就使用GIMPS的程序。另外一项有关素数的计算,还发现了奔腾芯片的一个著名“BUG”。1996年,美国克雷公司在测试超级计算机的运算速度时,还得到了一个新的梅森素数。

  类似的原理,在研究分布式计算系统时,素数计算也是最合适的测试任务。

  “大素数在加密算法中也有用。”杨乐说。目前广泛应用的一种加密算法原理是:一堆素数乘起来得到一个大数很容易,反过来把大数分解成一堆素数就很麻烦,尤其当涉及大素数时。

  高全泉介绍说,1990年代初,苹果公司著名科学家理查德·克兰达尔在改进梅森素数的算法中,发现了一种加速办法。这种办法不但被GIMPS用于素数搜寻,还可用在其他计算中。而苹果公司拥有专利的克兰达尔发明的“快速椭圆加密系统”,就将梅森素数用于快速加密和解密信息。

教育信息化资讯微信二维码

特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。

邮箱:gxkj#cernet.com
微信公众号:高校科技进展