朱薈潼
摘 要:提出了一種簡單的功能加密方案,首次利用簡潔功能加密和可刺穿偽隨機函數(shù),并通過迭代實現(xiàn)功能加密的不可區(qū)分混淆,并通過安全性分析驗證其可靠性。根據(jù)Nir Bitansky給出的通用方案,第一個給出了針對功能加密混淆的具體的實現(xiàn)方案。
關(guān)鍵詞:混淆;公鑰加密;密鑰分割函數(shù);可刺穿偽隨機函數(shù)
中圖分類號:TN918 文獻標志碼:A 文章編號:2095-2945(2017)21-0023-02
1 概述
程序混淆把方案變成“不知所云”并維持功能性,但混淆的最自然和直觀吸引力概念,虛擬黑盒(VBB)混淆[1]有強局限性。過去的突破性成果顯著改變,Garg,Gentry,Halevi,Raykova,Sahai和Waters[3]展示了對于所有線路的候選模糊處理算法,并推測其滿足不可分辨混淆的一個明顯弱概念(IO)[1,3],只表示需要相同的大小和函數(shù)性的任何兩個線路的混淆在計算上難以區(qū)分。
2 基礎(chǔ)知識
2.1 功能加密
·FE.Setup(1λ):作為輸入一個安全性參數(shù)一元λ,并輸出一個(主)公鑰和密鑰(PK,MSK)。
·FE.Gen(MSK,f):需要輸入第一步產(chǎn)生的密鑰MSK,一個函數(shù)f∈F和輸出函數(shù)密鑰FSKf。
·FE.Enc(PK,m):作為輸入的公鑰PK消息m∈{0,1}*并輸出m的加密。我們將有時解決加密中使用明確的隨機性R,其中我們用FE.Enc(PK,m;r)。
·FE.Dec(FSKf,CT):作為輸入的函數(shù)密鑰FSKf,密文CT和輸出。
2.2 簡潔功能加密(FE)
·FE.Setup(1λ,f):作為輸入的一元函數(shù)f∈F和一個安全參數(shù)λ,輸出公鑰PK和函數(shù)密鑰FSKf。
·FE.Enc(PK,m):作為輸入的公開密鑰PK,消息m∈{0,1}*并輸出m的加密。將有時解決加密中使用明確的隨機性r,其中我們用FE.Enc(PK,m;r)。
·FE.Dec(FSKf,CT):作為輸入的函數(shù)密鑰FSKf,密文CT和輸出。
2.3 刺穿的偽隨機函數(shù)(PRF)
考慮任何的PRF可在單個點被刺穿可刺穿的偽隨機函數(shù)簡單情況。
PRF:K×X→Y,輸入X={0,1}?詛,?詛=?詛(λ),n,k為多項式有界長度函數(shù)。
PRF={PRFK:{0,1}*→{0,1}λ|K∈{0,1}k(λ),λ∈N}
3 主要思想
受Nir Bitansky文章“Indistinguishability Obfuscation from Functional Encryption”[4]啟發(fā)。
混淆器IO:給定一個身份信息ID,作為線路C:{0,1}n→{0,1}和安全參數(shù)λ,混淆器iO(C,1λ),計算=ω((n2+logλ)1/ε)并調(diào)用遞歸混淆過程rO.Obf(n,C,1■)。遞歸混淆程序rO.Obf(i,Ci,1)延伸線路混淆其中i-1個位以i比特于混淆處理為線路。為此生成一個加密線路的混淆,需要一個前綴xi-1∈{0,1}i-1,并產(chǎn)生每個延續(xù)x0或x1兩種加密。
令G是群N=pq,其中p和q是素數(shù),給定g,ga,…,g用于隨機選擇g∈G,a∈Z很難區(qū)分g與隨機組元素。設(shè)置主身份信息ID=C:{0,1}n→{0,1}記為d=(da…dn)轉(zhuǎn)換d=((d1,0,d1,1 )…(dn,0,dn,1)),子身份id。一個?詛位輸入x使用散列函數(shù)h:{0,1}?詛→{0,1}n計算h(x)=(b1…bn),其中bi∈{0,1}
密鑰分割函數(shù)KDF,KDF(SK)=(SK,SK),SK=ga和SK=gPK是不可區(qū)分。
本文構(gòu)造的簡單功能加密方案該過程如下:
(1)FE.Setup(1λ,id)→(PKi,F(xiàn)SKi)隨機選取公鑰PK=α,α∈ZN,F(xiàn)SK=gid
4 結(jié)束語
本文加入了身份信息,并對身份信息進行哈希變換,保證身份信息的抗沖突性;使用密鑰時利用KDF和PRF保證不可區(qū)分性;最后通過迭代實現(xiàn)整個線路的功能加密的混淆。
參考文獻:
[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.