摘要

程序混淆可以理解为一个编译器,它将源程序转化成一种不被理解的形式,但依然保持其功能特性。混淆的概念最早在代码混淆领域被提出,在软件保护、数字水印等领域有着实际的应用,但缺乏严格的安全分析与证明。混淆在密码学领域的研究最早由Barak等人引入,并提出了虚拟黑盒混淆的形式化定义及安全性要求。对密码函数的安全通用混淆研究具有非常重要的理论意义,其与随机预言机、全同态加密、零知识证明等其他密码原语有着紧密的联系。对具体密码函数的安全混淆在云计算、代理计算等领域也有着实际的应用价值。近年来,安全的程序混淆研究成为当前密码研究领域的一个热点。由于在Barak提出的标准定义下已证明不存在通用的安全混淆,因此...