当前位置: 首页 > 科技观察

20年未解的MIT密码难题,被自学成才的程序员破解了,比预计早15年

时间:2023-03-14 13:36:59 科技观察

20年未解的麻省理工学院密码难题被一位自学成才的程序员破解,比预期提前了15年。诞生于1999年的MIT密码谜题,被一位自学成才的程序员破解。  当时,作者根据摩尔定律估算,需要35年才能完成计算。  结局出现在15年前。  提交论文的人只使用了i7计算机的一个CPU核心。  这个密码也将解开一个20年的秘密。  什么玄机?  1999年4月,麻省理工学院计算机科学实验室(LCS)迎来了35岁生日。  它收到了一份很有仪式感的生日礼物,是时间胶囊:有人把重要的东西藏在里面,定下时间,留给未来的人类打开。  不同寻常的是,这个时间胶囊有一个由密码学家RonRivest设计的“密码锁”。著名的RSA加密算法就是以他的名字命名的。  Rivest设了一个平方密码,初始值为2。2^2=4,4^2=16,16^2=256...  平方需要取模(mod),也就是余数.比如16≡1mod3,16除以3,余数为1两个大素数,RSA算法的基础  那么,平方运算需要进行多少次呢?  80万亿次。  如开头所述,利用摩尔定律,破解这段密码大约需要35年。那是实验室的时代。  如果没有人解出答案,或者每个人都忘记了这个谜题怎么办?  设计师将35年定为期限。即便人类不交出答卷,时间胶囊依然会在2033年实验室70周年庆典时被打开。  当然,1999年的科学家们不会想到,四年后,LCS实验室会与AI实验室合并,成为大名鼎鼎的CSAIL。  他们大概也想不到,20年就有人提前交论文了。  而且,第一个交卷的程序员只用了三年半的时间就解决了这个问题。  三年半破解谜题  2015年,在谜题推出16年后,比利时自学成才的程序员BernardFabrot(简称“博纳”)偶然发现了它。  谜题是用Java编写的,但Boehner认为使用GNP多精度库(GMP)求解会更快。  这个开源库是用C语言写的,它还有对Python、R、C++、PHP等多种语言的包装器。  博纳将家里台式电脑的一颗CPU核心变成了解决问题的专用方案,每周7天,每天24小时不间断运行。除非家里停电,否则你要出远门。  博纳不敢将自己的秘密行动告诉任何人,除了最亲近的朋友。  “我知道我有机会赢,但如果我告诉别人,他们可能会用更强的装备超过我。”  三年多时间,博纳完成了80万亿平方的运营。  最后一步就是用平方运算得到的结果和题中给出的一个数,按照题中的要求进行计算;计算出的一系列数字可以翻译成一句祝贺的话。  博纳收到了热烈的贺电,并向麻省理工学院宣布自己解开了谜题。  如上所述,20年后,计算机科学实验室不复存在,与AI实验室合并的CSAIL实验室也名声在外。  当CSAIL的负责人DanielaRus听到这个消息时,她甚至不知道这个话题的存在。不过稍稍回顾一下历史,双方的暗号相得益彰。  博纳目前还不能透露这句话是什么。一切等到5月15日,答案将与时间胶囊一起向世人揭晓。  他将有幸参加这个仪式。  事实也证明,不让太多人知道??自己的想法是非常聪明的:  对手也快完蛋了,博纳并不是一个人在谜团中。  还有一个根深蒂固的项目组,叫做Cryptophage,由前英特尔工程师SimonPeffers领导,只为破解MIT密码而生。  他们使用的方法与博纳不同。这是一种在可编程加速器FPGA上运行的新平方算法,比CPU快大约10倍。  团队表示只需要两个月时间,预计5月11日就能揭晓答案。  结局总是出人意料。兴奋的是,该团队联系了麻省理工学院以预览他们即将取得的成果,却被告知其他人已经这样做了。  很荣幸输了,但他们还是受邀参加了5月15日时间胶囊开启的盛会。  OneMoreThing  在打开之前,除了设计师,没有人知道时间胶囊中隐藏着多少秘密。  但现在有一些剧透。一些来自比尔盖茨的礼物,一些来自万维网大师蒂姆伯纳斯李的礼物。  大赢家博纳最期待的是世界上最早的PC游戏《魔女》的原版。