构造简单加密方案实现混淆

2017-08-24 02:43朱荟潼
科技创新与应用 2017年21期

朱荟潼

摘 要:提出了一种简单的功能加密方案,首次利用简洁功能加密和可刺穿伪随机函数,并通过迭代实现功能加密的不可区分混淆,并通过安全性分析验证其可靠性。根据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为多项式有界长度函数。

PRF={PRFK:{0,1}*→{0,1}λ|K∈{0,1}k(λ),λ∈N}

3 主要思想

受Nir Bitansky文章“Indistinguishability Obfuscation from Functional Encryption”[4]启发。

混淆器IO:给定一个身份信息ID,作为线路C:{0,1}n→{0,1}和安全参数λ,混淆器iO(C,1λ),计算=ω((n2+logλ)1/ε)并调用递归混淆过程rO.Obf(n,C,1■)。递归混淆程序rO.Obf(i,Ci,1)延伸线路混淆其中i-1个位以i比特于混淆处理为线路。为此生成一个加密线路的混淆,需要一个前缀xi-1∈{0,1}i-1,并产生每个延续x0或x1两种加密。

令G是群N=pq,其中p和q是素数,给定g,ga,…,g用于随机选择g∈G,a∈Z很难区分g与随机组元素。设置主身份信息ID=C:{0,1}n→{0,1}记为d=(da…dn)转换d=((d1,0,d1,1 )…(dn,0,dn,1)),子身份id。一个?詛位输入x使用散列函数h:{0,1}?詛→{0,1}n计算h(x)=(b1…bn),其中bi∈{0,1}

密钥分割函数KDF,KDF(SK)=(SK,SK),SK=ga和SK=gPK是不可区分。

本文构造的简单功能加密方案该过程如下:

(1)FE.Setup(1λ,id)→(PKi,FSKi)随机选取公钥PK=α,α∈ZN,FSK=gid

4 结束语

本文加入了身份信息,并对身份信息进行哈希变换,保证身份信息的抗冲突性;使用密钥时利用KDF和PRF保证不可区分性;最后通过迭代实现整个线路的功能加密的混淆。

参考文献:

[1]Boaz Barak, Oded Goldreich, Russell Impagliazzo et al. On the (im)possibility of obfuscating programs[J]. J. ACM,2012, vol. 59, no.2:6-24.

[2]S. Garg, C. Gentry, S. Halevi et al. Candidate indistinguishability obfuscation and functional encryption for all circuits[C]. in FOCS, 2013:40-49.

[3]S. Goldwasser, G. N. Rothblum. On best-possible obfuscation[C].in TCC, 2007:194-213.

[4]Nir Bitansky, Vinod Vaikuntanathan. Indistinguishability Obfuscatio

n from Functional Encryption[C]. in FOCS, 2015:171-190.

[5]Prabhanjan Ananth, Amit Sahai. Projective Arithmetic Functional Encryption and Indistinguishability Obfuscation from Degree-5 Multilinear Maps[C]. Advances in Cryptology EUROCRYPT 2017.

[6]S. Goldwasser, Y. Kalai et al. Reusable garbled circuits and succinct functional encryption[R].Cryptology ePrint Archive, Report 2012/733, 2012.

[7]D. Boneh, C. Gentry et al. Vaikuntanathan, D. Vinayagamurthy. Fully key-homomorphic encryption, arithmetic circuit ABE and compact garbled circuits[C].in Advances in Cryptology-EUROCRYPT 2014-33rd Annual International Conference on the Theory and Applications of Cryptographic,533-556.

[8]Z. Brakerski, I. Komargodski, G. Segev. From single-input to multi-input functional encryption in the private-key setting[J]. IACR Cryptology ePrint Archive, vol. 2015:158.