1996年,作为麻省理工学院(Massachusetts Institute of Technology)的一名研究生,阿米特·萨海(Amit Sahai)被“零知识”证明的奇怪概念迷住了。零知识证明是一种数学协议,用来说服某人某件事是正确的,而不揭示为什么它是正确的任何细节。当萨海仔细思考这个违反直觉的概念时,他想到了一个更大胆的想法:如果有可能不仅掩盖一个证明的内部工作,而且掩盖一个计算机程序的内部工作,这样人们就可以使用这个程序,而不知道它是如何工作的,会怎么样?
“混淆”程序的想法已经存在了几十年,但没有人为这个概念开发出严格的数学框架,更不用说创建一个无懈可击的混淆方案了。多年来,商业软件公司设计了各种技术来扰乱计算机程序,使其在执行相同功能的同时更难理解。但黑客们挫败了每一次尝试。这些商业混淆器充其量只是提供了一个“减速带”,萨海说,他现在是加州大学洛杉矶分校的计算机科学教授。“攻击者可能需要几天时间来解锁隐藏在软件中的秘密,而不是几分钟。”
通过《连线》杂志
图片:INTVGene /Flickr