15岁的彼得·施密特-尼尔森(Peter Schmidt-Nielsen)只花了一个月的时间就完成了他的作品,但他认为自己想出了一些“不同寻常的新东西”。尽管他的对手是世界上最著名的密码学家。
施密特-尼尔森是60多名进入者之一,预计这是一个四年的项目比赛选择一种新的哈希算法,它将有助于锁定从基于web的支付系统、安全电子邮件到源代码管理工具等所有东西所使用的密码。
该竞赛由美国国家标准与技术协会(NIST)赞助,希望找到一种新的加密哈希算法来取代NIST 8年前发布的SHA-2(安全哈希算法-2)算法。提交SHA-3的截止日期是10月31日,NIST希望到明年8月将参赛人数减少到15或20人。这是艰苦的工作,在提交和敲松任何缺陷将真正开始。
施密特-尼尔森等人的工作是无偿的,他们主要是为了声望和看到同行分析自己的作品时的兴奋感而竞争。“我认为这非常有趣,”施密特-尼尔森说,他第一次接触密码学是在13岁的时候。“看着我的算法被彻底拆散,那将是非常有趣的。”
还有著名的密码学家,如英国电信(BT)的首席安全官布鲁斯·施奈尔(Bruce Schneier)和罗恩·里维斯特(Ron Rivest),他发明了广泛使用的MD5哈希算法。
但哈希算法到底是什么呢?
哈希是一种计算机对话,用来找到一种接收信息的方法——比如一封电子邮件——并用一个看起来是随机的唯一数字来表示它。当程序扫描文件以查看文件是否被更改时,哈希是一种减少计算开销的方法。比较两个散列值要比扫描整个文件查找更改快得多。
在加密散列中,对数字进行加密,创建可以使用公钥加密进行验证的数字签名。在实践中,这些数字签名被用于确认,例如,一个网站真的是它声称的那个网站,或者一封电子邮件消息是来自声称发送它的人,并且它在发送过程中没有被篡改。
从2004年开始,由山东大学王晓云领导的研究人员发现了MD5和SHA-1哈希算法的弱点。他们发现,创建两个共享相同哈希值的数字比人们想象的要容易。用密码学的说法,这被称为碰撞,它被认为是一件非常糟糕的事情,因为它破坏了加密系统的完整性。
“这让每个人都很紧张,”Rivest说,他是麻省理工学院的工程和计算机科学教授。他带领的小组提交了MD6NIST竞赛中的算法。
的占卜者hack揭示了人们紧张的原因:使用MD5,研究人员能够创建共享相同哈希值的不同。pdf文件。为了说明为什么这是一个问题,他们发布了包含2008年美国总统选举候选人名字的pdf文件的哈希值,然后用每个候选人的名字创建pdf文件,所有候选人都共享相同的哈希值。
在安全哈希算法下,这几乎是不可能做到的。
如果诺查丹玛斯的人能够使用碰撞来执行他们的攻击,那么犯罪分子最终是否能够创造出虚假的数字签名,并使虚假的钓鱼网站看起来完全一样,例如,www.bankofamerica.com?
也许有一天,NIST安全技术组的经理比尔·伯尔(Bill Burr)说。他说:“SHA-1目前还没有损坏到我们认为人们可以进行碰撞的程度,但我们预计它随时会发生碰撞。”“这里的想法是,我们有一座堤坝,但堤坝正在漏水,我们有点担心真的会发生洪水。”
尽管最新的SHA-2算法“可能在可预见的未来保持安全”,但它有局限性,并且基于旧的加密技术Schneier说,他和其他人一起提交了一种名为一束.“我认为这样做是有充分理由的。”
选择新的哈希算法不会在一夜之间完成。NIST的伯尔说,他预计SHA-3算法要到2012年才会有赢家,而要让这种算法被广泛采用可能还需要10年时间。
但是像NIST这样的竞赛并不是每天都有,Burr说他对提交的作品印象深刻。他们中的许多人,包括Rivest提交的MD6,利用了现在普遍可用的新多处理器计算机,可能比今天的算法更快。
伯尔说:“其中一些提案的工作量之大令人吃惊。”
“有些看起来很棒,有些看起来像是一个13岁的孩子做的,这些作品介于两者之间。”