新闻来源:sciencemag.org
一群德国数学家藉由数百台电脑的协助,终於把一个长达307位的整数分解成三个质数的乘积。
目前网络上把资料加密的方法,简单的说就是把你要传送的资料转换成一个质数(数A),然后乘上另外一个很大的数(数B)来做加密的动作,而这个数B则是两个很大的质数的乘积。目前普遍使用的RSA加密方式在传送资料的时候会有一个公钥(public key),还有一组由两个质数所构成的私钥(privite key)。要解开由公钥加密的讯息,就要用到由私钥中的两个质数来把这个公钥解开。目前已知要破解这种加密方式的
唯一作法就是硬上,把一个一个的质数拿来试。这是绝对的硬碰硬,不但考验挑战者的程式技术,更现实的考验就是挑战者的硬体设备。
这次这群由德国波昂大学的Thorsten Kleinjung领军的数学家挑战的是个307位长的整数,如果用二进位码来记这个数,长度是1017位,距离我们目前所使用的1024位已经不是太远了.为什麼现在用的是1024呢?因为上个公用标準512已经在1999年的时候被破解了...
这次的挑战,他们利用了上百台电脑来解决这个问题.那麼解决这个问题要让这些电脑计算多久呢?合计所有的电脑计算时间,大约是95年.这个结果简单的说就是,这个问题可以解决,不过代价惊人.而这次成功解决这个问题的关键之一是技术方面的突破,解决了其中"matrix step"的限制.
瑞士Swiss Federal Institute of Technology的Arjen Lenstra则表示目前市面上的电视游乐器Play Station 3,由於是专门设计用来处理数字运算,所以可能在处理分解质数上会有很好的表现.因此Kleinjung就表示,他考虑集合上千台或是上万台PS3来实际测试PS3的能力.
对於密码有遭破解的风险,RSA的发明人之一,MIT的Ronald Rivest就认为数学家对分解质数的进展当然会是编码技术的威胁.不过他似乎并不在意,只简单的表示:他们早就建议用2048位的编码了.「程序是很有弹性的」.