文摘
在这项工作中,我们首先设计一个函数加密方案通过使用关键封装。我们把公共密钥加密与对称加密来实现关键封装的想法。在封装的关键,我们使用一个关键信息(明文)变成对称加密的密文,然后我们使用公钥加密这个键变成另一个密文。在函数加密方案的设计中,我们使用的公钥加密系统,对称加密系统,证明非交互的系统,无法区分模糊处理,计划的承诺。最后,我们证明我们的函数的不可区分的安全加密方案。
1。介绍
如今,网络技术迅速发展和广泛应用。由于黑客的出现,病毒,和电子欺诈和盗窃,各种信息泄漏事件频繁发生。个人信息安全、企业信息安全越来越关注,这使得信息安全比以往任何时候都重要。
随着云计算的兴起,为了保存本地存储资源,越来越多的公司或个人选择本地数据存储在第三方服务器上(例如云计算平台)。为了防止用户数据泄露,数据可以在第三方服务器上之前被加密存储。值得注意的是在这个应用程序中,第三方服务器需要运行一些用户的密文,如数据挖掘、密文的查询和统计。然而,传统的加密系统不支持密文计算。
这个问题可以通过使用完全同态加密解决(1]。可以计算使用完全同态加密的密文。换句话说,nontrusted密文信息处理系统可以处理信息环境没有透露任何信息的用户。然而,完全同态加密的主要问题是,结果是加密的。也就是说,虽然第三方服务器可以执行密文计算,不能获得计算结果。在很多应用场景,第三方服务器需要确定决策基于计算的结果。因此,完全同态加密不满足我们的要求。
加密函数首先出现在文章[2]。这是一个扩展的文章2- - - - - -7]。它使第三方操作和输出的函数没有解密的明文。因此,它非常适合外包的数据计算场景中加密。具体来说,在函数加密功能的家庭,密钥生成算法可以生成相应的解密密钥为每个函数在这个家庭通过使用主私钥。鉴于明文、密文的解密密钥的所有者的每个函数可以计算出相应的函数值明文。安全函数加密系统应该满足用户解密密钥只能得到一个明文的函数值,但没有明文的信息。传统的公钥加密方案是过于极端。它允许用户获取全部或没有消息解密关键的密文。因此,研究函数加密具有重要意义。
函数加密是一个完美的非交互的解决方案出现许多问题,在将服务委托给外部服务器。考虑以下场景:假设一个银行订阅外部云服务器来存储客户的财务记录。为了确保这些记录的安全性和执行各种计算外包数据远程不时,银行具有成本效益的选择是使用一个函数加密方案加密记录本地上传之前到云服务器。现在,假设研究者希望检索的投资金额总结所有客户加入了一定财富管理产品从云服务器。为此,银行需要提供研究者一个解密的密钥对应的功能。然而,如果银行所使用的加密方案具有函数没有隐私,然后研究人员将了解特定客户的信息的解密密钥由银行提供。因此,在执行分配的计算之后,对于经济利益,研究人员可能泄漏信息的人。这显然是不可取的隐私的观点。函数加密方案可以解决前面提到的信息泄漏问题,它可以应用于以下应用程序场景如邮件的垃圾邮件过滤服务,病人在医院记录隐私保护,部分解密加密信息的信息存储。
1.1。我们的结果
函数加密方案的设计取决于关键封装的想法。关键封装(也称为混合加密)包括两个部分:外部方案和内部计划。加密消息的混合加密方案,生成一个新的密钥内部方案和用于加密消息。本身的关键是使用外部加密方案。最后混合密文由两部分组成:外部密文和内部密文。如果有人想解密,他应该首先外部密文解密的密钥和解密使用这个关键内部密文。虽然内部方案是对称加密和外部方案公钥加密,混合动力方案仍然属于公共密钥加密。为什么使用关键封装的想法?外部方案是低效的,所以只有用于加密相对较短的键,而相对较长的消息是由内部加密方案。
我们选择对称加密和公钥加密密钥封装的内部和外部的方案,分别。在函数加密方案的设计,我们的观点如下:首先,我们选择一个关键k加密消息的内部方案x,然后使用外部加密方案的关键k两个部分的一个完整的密文。这将允许解密在上述两步的过程。首先,关键k内部计划通过解密得到外部的密文在外部计划,然后通过在内部使用这个密钥方案。具体来说,我们将描述如何使用公钥加密系统,对称加密系统,证明非交互的系统,无法区分模糊处理,和承诺方案设计函数加密方案。我们的方案实现的安全(8]。
1.2。相关的工作
加密函数加密的概念源于内积(6和基于属性的加密5]。早期的加密一般指属性的加密函数,谓词加密,或内积加密。这三种类型的加密函数加密的初步阶段。Sahai和水域首先创建函数加密的概念在2008年(9]。之后,奥尼尔提出了安全定义的一般函数加密(7),这对加密功能的研究奠定了基础。
2011年,Boneh et al。3]不仅给加密函数的一般形式,但是也给了正式的定义和各种安全加密函数的定义。2012年,Gorbunov et al。10)提出了一个nonconcise通用函数加密方案基于多方安全计算。2013年,水11),加戈et al ., (12)和Ananth et al。13)进一步完善通用函数加密系统的效率。随后,正规语言的函数加密方案(14)和函数加密基于确定性有限自动机(15提出了。同年,加戈et al。16)构建了一个通用函数加密方案首次使用不可区分的困惑,建立一个通用函数加密的研究的新方向。格尔德瓦瑟et al。17)提出了一个简单的通用函数加密方案使用完全同态加密、基于属性的加密和混沌电路技术作为底层模块。这个方案是一个经典函数加密方案。后来,金水酒等。18]首先提出多输入函数加密。他们不仅证明了自适应的安全方案,但也证明了基于仿真的安全方案。必须指出的是,多输入函数加密方案是一个精致的函数加密,可以应用于许多场合,可以实现多用户的安全处理的信息在不同的时间。
深化研究函数加密和完全同态加密,一个新的完整的关键同态加密方案(FKHE) [19)提出了Eurocrypt 2014。它结合了完全同态加密和加密函数。它克服了单一的关键不足的缺陷完全同态加密并提供可能性的使用函数加密外包计算环境。2015年,Goyal et al。20.)首次提出的定义和结构函数为随机加密函数,证明基于仿真的安全施工方案。Ananth et al。13证明任何选择性安全加密功能可以被转换为自适应加密和安全功能设计了一个自适应函数加密方案,它结合了公钥加密和私钥加密功能。Brakerski和戈夫21]研究了对称函数与函数隐藏加密系统。阿布达拉et al。22]首先提出一个内部产品功能基于公钥加密方案,建立了一个新的方向的实际内部产品函数加密方案。主教et al。23)首先提出了函数的内积函数加密方案隐藏在对称情况。随后,达塔等。24主教的改善方案。2018年,金正日et al。25)提高函数的内积函数加密方案隐藏来提高其效率。他们还描述了三种应用场景内积函数加密函数的隐藏。金等人使它可以使用函数的内积函数加密隐藏在实际应用中。
1.3。组织
本文组织如下。第一部分是本文的引言。第二部分是现有的定义函数加密。在第三节,我们回忆起一些定义加密原语用于计划的建设。在第四节中,我们提出我们的函数加密的设计。在第五节中,我们证明我们的建造计划的安全。最后,在第六节中,我们总结全文。
1.4。基本符号
在下面几节中,安全参数 。如果适用于所有多项式和所有足够大λ,我们叫是可以忽略不计的功能。在这篇文章中,代表概率多项式时间和“PPT”代表的连接x和y。让代表一个整体,每一个都是一个有限的功能。
2。函数加密
在第二部分中,函数加密的概念(3)和其无法区分安全rementioned。安全不仅是首先要考虑的功能而且谓词加密(加密4,6]。
2.1。语法
类的功能在信息空间 ,一个函数加密方案由以下四个算法:(我) :这是一个随机算法。该算法需要一个安全参数λ作为算法的输入,需要主公钥 ,和主密钥算法的输出。(2) :该算法需要主公钥和明文作为算法的输入,需要一个密文算法的输出。(3) :该算法需要主密钥和随机函数作为算法的输入,需要一个密钥算法的输出。(iv) :该算法需要密文和密钥作为算法的输入,需要一个字符串算法的输出。
定义1。(正确)。如果下面的结论适用于每个函数和每一个消息 ,函数加密方案是正确的。
定义2。(不容易区分的安全函数加密)。无法区分安全可以被视为攻击者之间的一个游戏和挑战者。这个游戏分为五个阶段。(我)设置阶段:挑战者号生成主密钥的算法 然后让攻击者得到主人的公钥 。(2)查询阶段1:攻击者选择在自适应,使挑战者得到这个 。挑战者号生成的关键的函数由算法 并将其发送给攻击者。攻击者可以在任何多项式次数的重复这一步骤。(3)挑战阶段:攻击者选择两条消息这样,让挑战者号得到它。挑战者号选择( )从和 ,运行算法 ( ),并使攻击者得到密文 。(iv)阶段2:查询键查询继续发起攻击和之前一样,但它还需要满足任何查询 ,有成立。(v)猜阶段:攻击者猜测是否密文是加密的消息或消息 。最后,攻击者让他猜( )。在这个游戏中,攻击者的优势是 。
3所示。预赛
在第三部分,我们回忆起一些的密码学原语的概念,用于加密功能的建设。在这里,我们不仅省略的正式定义标准语义安全的公钥加密方案 而且标准的正式定义语义安全的对称加密方案 。接下来,我们描述的正式定义的模糊,承诺计划,详细和证人证明所用系统。
3.1。无法区分模糊
据的语法16被召回,无法区分的概念混淆。
定义3。(不可区分的困惑 ))。如果下面的结论,然后统一PPT机器被称为一个无法区分模糊处理电路类的吗 。(我)正确性:每一个安全参数 , ,和每一个输入x,下面的公式是: (2)不可分辨性:有一个微不足道的函数使以下结论适用每个PPT器材(不一定是一致的)。对于每一个安全参数每条电路 ,如果对于每一个输入x,然后
3.2。承诺方案
据的语法26),承诺方案需要一个随机数r和一个字符串x作为输入和需要 作为输出。以下两个方案:为一个完美的绑定属性是必要的承诺(我)完美的绑定属性:这个属性意味着承诺两个不同的字符串必须是不同的。更正式, 和 , , 。(2)计算隐藏属性:每一个字符串和的长度(和是相同的),对于每一个PPT的对手 ,下面的公式是:
3.3。非交互的证人的证据
非交互的证据的语法系统是首先回忆道,然后正式的非交互的证人无法区分的概念( )证明(27]也回忆道。
3.3.1。语法
一个有效的可计算的关系R由双 ,在这x和分别命名为陈述和证人。语言组成的语句R用l。以下三个算法构成非交互的语言证据制度l:(我) :该算法需要一个安全参数作为算法的输入,通常需要引用字符串算法的输出。(2) :这证明算法需要共同引用字符串和一个声明x一起见证作为算法的输入。这证明算法输出一个字符串的证据π当 或输出失败时 。(3) :这种验证算法需要共同引用字符串和一个声明x与相应的证明π作为输入。如果证明是有效的,该算法输出1,否则为0。
定义4 (NIWI)。非交互的证人证明系统所用的语言l用PPT关系R需要满足以下属性:(我)完美的完整性属性: ,下面的公式是: 在这里,引用字符串由算法生成的吗 ,和硬币的概率是接管 。(2)统计可靠性性能:对所有对手 ,下面的公式是: (3)见证不可分辨性属性:三联体 ( 和 ),分布 和 计算的(这里引用字符串由算法生成的吗 )。
4所示。建设
在第四节中,我们提出函数加密方案的设计。在我们的建设中,我们设置的密钥空间对称加密方案来 。
在我们的方案中,我们组的密文长度公钥加密方案 来 。在我们的设计方案中,参数将使用,对称加密方案需要满足这个属性: 符号””表示一个错误。
在我们的设计方案中,证明系统用 ,使用完全绑定承诺方案是用 ,和用使用的不可区分的模糊处理 。现在,我们开始给我们的计划 。(我) (1)起初,两对密钥对生成使用密钥生成算法 和 的公钥加密方案(注: 是一个随机算法)(2)计算一个共同引用的字符串使用证明系统(3)选择一个对称加密方案(4)计算(5)让主公钥和主密钥 和 ,分别(2) (1)选择一个密钥对称加密和计算暗文 (2)计算 ( )(我)要么和是相同的明文加密,还是(2)C是一个承诺真正的见证 是用来证明声明的第一部分,随机数在哪里和用于计算暗文和 ,分别;活板门证人是用来证明声明的第二部分,在随机的号码吗年代是用来计算C(3)密文是 (3) (1)计算出解密密钥对于功能f,电路显示在图1;应该指出的是,电路包含了随机函数f的密钥 ,和主公钥(iv) (1)它的输入和解密密钥和输出
我们设计方案的正确性是很容易源自其组件的正确性。接下来,我们将展示这个方案的安全性。
5。安全的证据
定理1。假设上述函数加密实例化标准语义安全的公钥加密,一个标准的语义安全的对称加密,计算隐藏的承诺,一个非交互的证人的证据,和无差别地安全模糊处理,无差别地安全。
现在,我们证明,如果上述假设是真的,没有polytime攻击者可以打破我们的计划。我们将无法区分安全函数的加密使用的游戏。我们假设polytime攻击者让问私钥查询。让( )表示我函数查询。有一个约束为每个查询功能。
我们需要定义一个序列的游戏来证明定理1。第一场比赛是实验与挑战的信息 。接下来,我们证明任何PPT的对手几乎相同的优势在每场比赛之前的游戏。第一场比赛。挑战者号加密消息在密文的挑战。(我)设置阶段。挑战者号首先计算密钥对 和公众给主人来 。选择一个对称加密方案和三个密钥 , ,和对于对称加密方案。计算出暗文: , 。 , 。 , 。集 , , , , 。(2)查询相。敌人提交查询的f自适应。挑战者号发送 来 。(3)挑战阶段。挑战者号选择明文的一个挑战从两个明文和密钥对称加密,计算暗文 , ,和 。计算一个证明 ( )。集 。最后,它返回 。第二场比赛。这个游戏是完全一样的以前的游戏(游戏1)除了有点区别。所不同的是,为所有关键的查询f,相应的密钥是计算 ,的电路图中描述的是2。第三场比赛。这个游戏是完全一样的以前的游戏(游戏2)除了有点区别。所不同的是,C是计算的承诺如下:密文的挑战是用 和 。第四场比赛。这个游戏是完全一样的以前的游戏(游戏3)除了有点区别。所不同的是,在每一个挑战密文 计算使用活板门的证人。第五场比赛。这个游戏是完全一样的以前的游戏(游戏4)除了有点区别。不同之处在于,我们修改密文的挑战 :第二个密文是一个加密的 ,也就是说, 。第六场比赛。这个游戏是完全一样的以前的游戏(游戏5)除了有点区别。所不同的是,为所有关键的查询f,相应的密钥是计算 ,的电路图中描述的是3。第七场。这个游戏是完全一样的以前的游戏(游戏6)除了有点区别。不同之处在于,我们修改密文的挑战 :第一个密文是一个加密的 ,也就是说, 。游戏8。这个游戏是完全一样的以前的游戏(游戏7)除了有点区别。所不同的是,对称加密密钥取而代之的是另一个关键吗 。游戏9。这个游戏是完全一样的以前的游戏(游戏8)除了有点区别。不同之处在于,我们修改密文的挑战 :第三个密文是一个加密的 ,也就是说, 。游戏10。这个游戏是完全一样的以前的游戏(游戏9)除了有点区别。不同之处在于,我们修改密文的挑战 :第一个密文是一个加密的 ,这是 。游戏11。这个游戏是完全一样的以前的游戏(游戏10)除了有点区别。所不同的是,为所有关键的查询f,相应的密钥是计算 。游戏12。这个游戏是完全一样的以前的游戏(游戏11)除了有点区别。不同之处在于,我们修改密文的挑战 :第二个密文是一个加密的 ,也就是说, 。游戏13。这个游戏是完全一样的以前的游戏(游戏12)除了有点区别。所不同的是,在每一个挑战密文 ,证明计算使用真正的见证。游戏14。这个游戏是完全一样的以前的游戏(游戏13)除了有点区别。所不同的是,承诺C计算如下: 。注意,这个游戏对应选择性的游戏已经诚实地执行,挑战者加密消息的地方在密文的挑战。游戏的描述顺序完成。接下来,我们证明了邻近的游戏是没有区别的。
引理1。游戏1和游戏2计算时所用是一个无法区分模糊处理。
证明。我们可以看到,游戏1和2的区别在于密钥的计算方法
。在以前的实验,第一场比赛,对于任何关键的查询f的密钥的输出是
;然而,在后面的实验中,第二场比赛,秘密密钥的输出是
。如果我们想证明游戏1和游戏2计算分不开,我们需要证明对任何输入
,
和有相同的输出相同的输入。然后,根据所用的安全模糊处理,我们可以得到和计算的,这意味着游戏1和游戏2计算难以区分。
首先,我们将证明对任何输入
,
输出当且仅当输出
。
我们可以发现这两个和输出当且仅当证据π是无效的,
。在这里,
。如果证明π是有效的,我们定义一个输入吗
是有效的。
接下来,我们证明任何有效的输入
,
。
我们必须考虑两种情况:(我)案例1。不存在
,这样
。(2)案例2。存在一个
,这样
。案例1,和计算与通过解密
,计算米与通过解密
,和输出
。2,计算与通过解密
,计算米与通过解密
,同时输出
。更重要的是,因为
,
也输出
。所以我们可以得到
。
这个实验(
)定义如下:在吗
,第一个我查询回答剩下的
来问查询回答
。我们可以看到,是游戏1和第二场比赛。
在这里,我们证明如果有PPT的对手实验可以区分吗和不可忽视的优势,还有另一个PPT的对手它可以打破无法区分模糊处理的安全不可忽视的优势。
我们构建通过如下:(1)首先,对手诚实的第一场比赛。(2)第一我th键查询f,对手计算的关键通过
。剩余的
来问th键查询f,对手计算的关键通过
。(3)为
键查询f,对手分别构建了电路和并发送他们的挑战者和接收一个困惑
。然后,对手给了来
。(4)敌人根据游戏运行的其他实验1。(5)最后的对手给对手比赛的输出和模糊的挑战者。我们恰巧在实验的挑战者选择了电路
;我们恰巧在实验的挑战者选择了电路
。因此,如果对手可以区分两个实验的不可忽视的优势,那么敌人呢可以打破无法区分模糊处理的安全使用相同的优势。
总之,第一场比赛在计算上的第二场比赛。
引理2。如果是一个计算隐藏承诺方案,计算与第二场,第三场。
证明。我们可以看到,游戏2和3的区别只在于计算方法的承诺C。在以前的游戏,游戏2,C是一个承诺 ;然而,在后一种游戏,游戏3,C是一个承诺 。重要的是要注意,随机数用于计算C是从未使用过任何地方。因此,计算的财产藏在承诺保证计算与第二场,第三场。
引理3。由于证人的不可分辨性 ,游戏3计算与游戏4。
证明。我们可以看到,第三场和第四场比赛之间的区别只在于证人使用。在第三场比赛证明和是相同的加密信息,我们使用真正的见证来计算π。然而,在第四场比赛,证明C是一个承诺 ,我们使用活板门见证来计算π。自证人无法区分,第三场计算的第四场比赛。
引理4。如果 是一种语义安全的公钥加密方案,第四场比赛在计算上的第五场比赛。
证明。我们可以看到,游戏4和5之间的区别只在于第二个暗文的计算方法在挑战暗文 。在第四场比赛,是一个加密的随机口信吗 ,而在第五场比赛,是一个加密的随机口信吗 。接下来,我们表明,如果有敌人谁能区分第四场和第五场比赛,有一个敌人呢谁能打破语义安全的公钥加密系统。敌人设计如下:(1)起初,对手收到一个公钥的挑战者。(2) 生成 , ,并选择一个对称加密方案 。接下来,对手加密的字符串使用计算密文 。(3)敌人发送 挑战者号和接收一个密文 。然后,计算的承诺 。(4)敌人运行其他的实验根据第四场和第五场比赛。(5)最后的对手接受实验的输出的对手 。(6)如果对手输出的第四场比赛,对手输出是一个加密的 ,否则输出是一个加密的 。我们可以看到对手只是4当运行游戏是一个加密的 ,和就跑第五场比赛是一个加密的 。因此,如果存在一个对手,他可以区分这两个游戏的输出与不可忽视的优势,我们可以构建另一个对手谁能打破语义安全的公钥加密和不可忽视的优势。
引理5。如果是完全绑定,然后呢是统计上的声音,是一个无法区分模糊处理和游戏5和6计算难以分辨。
证明。类似的证明引理1,我们首先证明对任何输入
,
输出当且仅当输出
。
我们可以看到这两个和输出当且仅当证据π是无效的,
(
)。
因此我们只需要考虑有效的输入。然后,我们将证明所有有效的输入
满足以下属性之一:(我)
和同一消息的加密吗(2)存在一个我这样我们要用反证法。我们假设有一个有效的输入满足上面的属性。因为是统计上的声音,声明
必须有真正的证人或活板门证人当输入是有效的。然而,由于和加密不同的消息,真正的见证不存在。因此,必须有一个活板门见证输入有效。这意味着年代这样
。另一方面,
和是完全绑定,
。因此,我们得到了一个矛盾,假设是不正确的。
接下来,我们将证明对任何输入
,
。
如果两个和同一消息的加密,那么
,和
。因此,这两个和输出
。另一方面,如果有一个我令人满意的
,那么两个和输出
。因此,对于所有有效的输入,和对相同的输入相同的输出,也就是说,
。
总之,如果存在一个对手可以区分这些游戏的输出与不可忽视的优势,我们可以构建另一个对手可以打破无法区分模糊的安全使用相同的优势。
引理6。第六场计算与第七场,当是一种语义安全的公钥加密方案。
证明。这个引理的证明方法是一样的引理的证明方法,所以这里省略了。
引理7。第七场计算与游戏8。
证明。我们可以看到,游戏7和8不同密钥用于对称加密方案。在第七场,用于加密 ,虽然8场比赛,用于加密 。我们可以发现这两个和选择随机密钥空间的对称加密方案。所以游戏7计算与游戏8。
引理8。游戏8和9的输出计算时所用 是一个语义安全的对称加密方案。
证明。因为这个引理的证明方法是一样引理4,这里省略了证明过程。
引理9。游戏9和10的输出计算时所用 是一种语义安全的公钥加密方案。
证明。因为这个引理的证明方法是一样引理4,这里省略了证明过程。
引理10。游戏10和11计算时所用是统计上的声音,是完全绑定,然后呢是一个无法区分模糊处理。
证明。因为这个引理的证明方法是一样引理5,这里省略了证明过程。
引理11。游戏11和12的输出计算时所用 是一种语义安全的公钥加密方案。
证明。因为这个引理的证明方法是一样引理4,这里省略了证明过程。
引理12。由于证人的不可分辨性 ,游戏12和13计算难以分辨。
证明。因为这个引理的证明方法是一样引理3,这里省略了证明过程。
引理13。14当游戏13是计算的游戏是一个计算隐藏承诺方案。
证明。因为这个引理的证明方法是一样引理2,这里省略了证明过程。
6。结论
我们首先设计一个函数使用密钥加密方案封装机制。这种机制结合了公钥加密和非对称加密。我们使用对称加密加密消息,然后我们使用公钥加密的对称加密的密钥加密。在函数加密方案的建设中,我们使用非交互的证人的证据,承诺计划,无法区分模糊处理。最后,无法区分安全加密的设计功能是证明。
数据可用性
没有数据被用来支持本研究。
的利益冲突
作者宣称没有利益冲突。
确认
这项工作得到了国家自然科学基金(11401172)和中国河南教育委员会科技项目(排名20 a520012)。