走进科学
三位学者刚刚摘下了当代密码学的王冠
2018年,加利福尼亚大学洛杉矶分校的研究生Aayush Jain前往日本发表了演讲,介绍他和同事正在开发的强大加密工具——不可区分的混淆技术(indistinguishability obfuscation,简称iO)时,一位听众感到困惑。
“但是iO不是不应存在的吗?”他说。
当时,怀疑是普遍的。如果可以建立不可区分性混淆,则不仅可以隐藏数据集合,还可以隐藏计算机程序本身的内部机理,从而创建出一种加密主工具,再从中构建几乎所有其他加密协议。哈佛大学的Boaz Barak解释说,io是“一种可以统治全部密码的原语”。但是对于计算机科学家来说,io好到不真实,就像是永动机或常温核聚变一样,很难相信它是可实现的技术。
计算机科学家从2013年开始不时提出iO的候选版本。但是,随着其他研究人员逐一攻破其安全性,最开始的强烈兴奋感逐渐消失了。以色列的海法理工学院的Yuval Ishai说,随着反例增加,“您会看到很多负面情绪。”
加利福尼亚大学伯克利分校西蒙斯计算理论研究所所长Shafi Goldwasser说:“有些人是狂热者,他们相信[iO],并一直在努力。”但是随着岁月的流逝,“这些人越来越少。”
现在,Jain、华盛顿大学的Huijia Lin 和加州大学洛杉矶分校的Amit Sahai一起为密码学(理论)新王加冕。在8月18日在线发布的论文中,这三名研究人员首次展示了如何仅使用“标准”安全性假设来建立不可区分性混淆。
所有密码协议都基于基本假定——某些协议(如著名的RSA算法)取决于广泛的信念,即标准计算机永远无法快速分解两个大质数的乘积。加密协议的安全性仅取决于其假设,先前尝试构建的iO是建立在未经测试且最终不稳定的基础假定上的。现在则相反,新协议取决于已被广泛使用和研究的安全性假定。
尽管该协议尚未准备好在实际应用中部署,但从理论上讲,它提供了一种即时的方法来构建一系列以前无法实现的加密工具。例如,它可以创建“可拒绝的”加密,在其中您可以合理地使攻击者相信,您发送的消息与实际发送的消息完全不同,而在“功能性”加密中,您可以为选定的用户提供不同的级别数据访问权限。
Ishai说,最新论文将使iO怀疑论者彻底沉默。“现在,对于io的存在将不再有任何疑问,这似乎是一个幸福的结局。”
https://www.quantamagazine.org/computer-scientists-achieve-crown-jewel-of-cryptography-20201110/
论文:https://eprint.iacr.org/2020/1003.pdf
稍微解释一下里面的术语。
代码混淆技术Obfuscation techniques(被病毒制作者大量使用于躲避防病毒扫描程序的检测),最便于理解的方式似乎就是举例了。
最常见的植入死码
https://pan删除.baidu.com/shar链接e/init?surl=中sIm的lsSOT6cvEVL8汉字KNdA
其它还有注册表重新分配,代码置换等。一般来说,就是把代码变得极为不可读,但同时却可以运行的技术。
程序混淆(program obfuscation),用于保护软件不被破解的技术。比如说,现在有两个程序,如果把它们混淆在一起,则不应有任何计算方式能够再把它们区分开来——当然,同时要保证自身的功能不变。所以对于黑客而言,想要破解单一程序的运算量大增,而且即便能够破解成功,得到也不是原本的程序,而是两个程序混淆后的复杂系统。
手法与前面的类似,密码学混淆:将密文与密钥之间的统计关系变得尽可能复杂,使得黑客即使获取了关于密文的统计特性,也无法反推密钥。
在密码学混淆里,理论上最强大技术叫黑箱混淆器(black box obfuscator),但早在2001年,经过数学论证,它是不可能实现的东西。
2013年,美国加州大学洛杉矶分校的Sahai教授等人提出了不可区分性混淆技术,其基本思想是把程序转换为一种多线性拼图游戏(multilinear jigsaw puzzle),从而将混淆技术的安全性转化为数学中格论领域里的难题。不可区分性混淆就是比完美(因此在数学上无法成立)的黑箱混淆器略逊一筹。
现在,同样是Sahai教授等人,证明“不可区分的混淆”是可实现的。
理论价值先放一边,应用价值往小了说,起码和现代公共密钥体系相当。
同时,虽然说是在密码学里建立的关于密码体制和协议的不可区分性混淆,但讲道理也可以用在程序上。