@ 2018.01.07 , 16:30

我们刷新了已知最大素数的记录

我们刷新了已知最大素数的记录
credit: 锐景创意

所谓梅森数,是指形如2^P-1的一类数,其中指数p是素数,常记为MP。如果梅森数是一个素数,就称为梅森Mersenne素数。

我们最新找到的最大素数,就是第50个梅森素数,M77232917。也就是2×2×……×2,一共自乘了77232917次之后,再减去1。

由于这种构成方式,使得它比之前发现的最大的素数(也是梅森素数)多出近一百万位数。所以我们就不在这里写下具体的数值了。

随着数字越来越大,素数(一个只能被1和它自身整除的自然数)也越来越难以被发现。两个素数之间的距离越来越远,目前还不存在素数的有效递推公式,所以也不存在一套专门的高效算法。

即使是寻找梅森素数的公式——以17世纪的法国修道士马林·梅森(Marin Mersenne)的名字命名,也不是一种精确的方法,它只是帮助我们缩小缩小范围,方便进一步枚举而已。

因此,在使用公式2^P-1带入不同的素数p得到一个梅森数之后,我们必须经历艰苦的素性检验过程。试着用它全部可能的因子来整除这个梅森数。对于很大的数字p,这种运算需要极其漫长的一段时间。

作为“伟大”的互联网协作搜索梅森素数计划(GIMPS)的一部分,来自田纳西州51岁的电气工程师志愿者Jonathan Pace在他的电脑上运行了一款专门搜索并检验素数软件。他已经狩猎了14年的素数,这一次他终于得偿所愿。

这一数值本身是在2017年12月26日被发现的。检验又花费了六天的功夫,进行不间断的计算。接下来,又在四种不同的硬件配置上,运行了四个不同的程序来进一步确认。

之前的记录是2016年1月发现的M74207281,比M77232917少910807位。

如果我们要将目前最大的素数打印到4A纸上,将需要高达9000页。

好吧,科学家为什么要寻找素数? 用来加密。

两个大数字相乘得到一个更大数字的过程,具有某种不对称性。比如说,555777159*337这一运算是简单的,但是反过来让你验证187296902583是那些哪些数字相乘的结果就困难得多。借助这一特性,我们找到2个足够大的素数作为双方的私有密钥,用它们的乘积作为公开密钥。而其他人就算看到了公开密钥,要想分解出两个私有密钥,将是十分漫长的过程。这种时间优势,就保证了密码的可靠性。

足够多的具体素数也可能帮助我们找到素数的模式,如果它们确实有一个的话。

但是对于业余以及专业数学家来说,那些大素数会带来意外的财富——GIMPS为每次刷新记录者提供了奖金。

Pace将会获得3000美元的奖金——更遑论在数学史上留下自己姓名的机会。说不定他的记录会占据GIMPS榜首很久。

本文译自 sciencealert,由 majer 编辑发布。

支付宝打赏 [x]
您的大名: 打赏金额:
赞一个 (13)