论文部分内容阅读
混淆(Obfuscation)概念最初来源于计算机领域,即代码混淆。其目的是为了保护软件的安全,防止逆向工程。通过代码混淆,程序保持了其原有的功能,但程序变得“不可识别”,敌手不能获得具体的代码,从而保证了程序安全。2001年,Barak等人正式提出了混淆在密码学中的定义,为后来的研究奠定了基础。其最初定义的混淆是“虚拟黑盒”安全的。但后来证明“虚拟黑盒”混淆是难以实现的。同时,他们也提出了不可区分混淆概念。2013年,Garg等人首次提出候选通用不可区分混淆,使得不可区分混淆成为了研究热点。 通过对近年来密码学混淆的研究,本文总结了不同类型混淆的定义,如虚拟黑盒混淆、最大可能混淆、不可区分混淆等。其中,不可区分性混淆是研究的热点。本文主要研究了不可区分混淆及其应用,基于候选不可区分混淆,构建了IND-CCA安全的公钥加密方案(单比特加密),对其进行安全性证明,并把该方案扩展为多比特加密方案。以下为本文的主要研究内容: 一、介绍了密码学混淆中的相关基础知识,包括计算复杂性理论、可证明安全、随机预言机模型和标准模型。基于安全性对不同的混淆进行分类,包括虚拟黑盒混淆、最大可能混淆、不可区分混淆和不同输入混淆。 二、研究了Garg等人提出的候选通用不可区分混淆构建。该构建是不可区分混淆研究的基础,其由以下两步构建:对1NC回路,首先描述了一个对不可区分混淆的候选结构。该候选结构基于的假设是通过对多线性映射的改进实现的,我们叫做多线性拼图困难问题。然后,运用对1NC回路的不可区分混淆和全同态加密实现对所有回路的不可区分混淆。安全性证明是通过一系列hybrids进行的。最后介绍了不可区分混淆的一个应用,即运用不可区分混淆,解决了可否认加密问题。 三、对混淆进行安全性分析。现有的混淆是基于多线性映射构建的,当前出现了许多对多线性映射的攻击,使得混淆的安全性受到威胁。首先介绍了多线性映射相关概念。然后介绍了一种对GGH13映射的攻击。最后,给出对不可区分混淆的安全性分析。运用非线性多项式,对GGH13候选不可区分混淆进行多项式时间密码分析,其能成功区分两个功能等价的程序的混淆。 四、运用首个候选不可区分混淆,结合Punctured技术,构建了两个不可区分混淆器。在此基础上,构建了IND-CCA安全的公钥加密方案,并证明了其安全性。该方案加密是单比特的。运用单比特到多比特公钥加密技术,把上述方案转化为多比特加密方案,其满足SD-CCA安全,提高了方案效率,概念更加直观。