朱荟潼
摘 要:提出了一种简单的功能加密方案,首次利用简洁功能加密和可刺穿伪随机函数,并通过迭代实现功能加密的不可区分混淆,并通过安全性分析验证其可靠性。根据Nir Bitansky给出的通用方案,第一个给出了针对功能加密混淆的具体的实现方案。
关键词:混淆;公钥加密;密钥分割函数;可刺穿伪随机函数
中图分类号:TN918 文献标志码:A 文章编号:2095-2945(2017)21-0023-02
1 概述
程序混淆把方案變成“不知所云”并维持功能性,但混淆的最自然和直观吸引力概念,虚拟黑盒(VBB)混淆[1]有强局限性。过去的突破性成果显著改变,Garg,Gentry,Halevi,Raykova,Sahai和Waters[3]展示了对于所有线路的候选模糊处理算法,并推测其满足不可分辨混淆的一个明显弱概念(IO)[1,3],只表示需要相同的大小和函数性的任何两个线路的混淆在计算上难以区分。
2 基础知识
2.1 功能加密
·FE.Setup(1λ):作为输入一个安全性参数一元λ,并输出一个(主)公钥和密钥(PK,MSK)。
·FE.Gen(MSK,f):需要输入第一步产生的密钥MSK,一个函数f∈F和输出函数密钥FSKf。
·FE.Enc(PK,m):作为输入的公钥PK消息m∈{0,1}*并输出m的加密。我们将有时解决加密中使用明确的随机性R,其中我们用FE.Enc(PK,m;r)。
·FE.Dec(FSKf,CT):作为输入的函数密钥FSKf,密文CT和输出。
2.2 简洁功能加密(FE)
·FE.Setup(1λ,f):作为输入的一元函数f∈F和一个安全参数λ,输出公钥PK和函数密钥FSKf。
·FE.Enc(PK,m):作为输入的公开密钥PK,消息m∈{0,1}*并输出m的加密。将有时解决加密中使用明确的随机性r,其中我们用FE.Enc(PK,m;r)。
·FE.Dec(FSKf,CT):作为输入的函数密钥FSKf,密文CT和输出。
2.3 刺穿的伪随机函数(PRF)
考虑任何的PRF可在单个点被刺穿可刺穿的伪随机函数简单情况。
PRF:K×X→Y,输入X={0,1}?詛,?詛=?詛(λ),n,k为多项式有界长度函数。……