当前位置: 首页 > 专利查询>东北大学专利>正文

一种基于同态加密和多项式计算的子图匹配方法组成比例

技术编号:20363956 阅读:32 留言:0更新日期:2019-02-16 17:00
本发明专利技术提供一种基于同态加密和多项式计算的子图匹配方法,涉及数据挖掘和图像处技术领域。该方法包括两个角色,分别是验证者和证明者,以及各角色持有的图;验证者将生成的公钥和构造的多项式,并使用Paillier密码系统同态加密多项式的系数获得密文并发送给证明者;证明者使用Paillier密码系统的同态性质,求多项式的值,并将其加密为单个密文,然后将密文发送给验证者;验证者解密密文并根据解密结果与证明者进行交互,最后验证者得出结论;在验证期间,双方都不会获得有关另一方图的有用信息,验证结束时,只有验证者知道结果,证明者始终不知道验证结果;本发明专利技术有效地提高了双方的隐私性和交互期间的安全性。

【技术实现步骤摘要】
一种基于同态加密和多项式计算的子图匹配方法
本专利技术涉及数据挖掘和图像处理
,尤其涉及一种基于同态加密和多项式计算的子图匹配方法。
技术介绍
图作为一种数据结构能够简洁有力地刻画出普遍事物间的联系,因此基于图的数据挖掘与管理技术无论在学术研究还是工业应用上都享有重要的地位。这其中最基本的任务是如何在图数据集中找到给定的查询图,也就是子图匹配问题。对于正在蓬勃发展的图数据库,生物信息学和社会网络分析等领域而言,一个高效的子图匹配算法的重要性不言而喻。子图匹配的数学基础是图论中经典的子图同构问题,,一个著名的NP问题。可想而知,设计高效的子图匹配算法面临着相当巨大大的挑战。目前,子图匹配算法的研究工作主要有两个问题。其一是针对一张边数较多的图如何进行有效的过滤,其二是如何选择顶点搜索顺序来加快子图同构搜索的速度。特别是后者是近年来子图匹配研究的焦点。子图同构是精确模式匹配的一种重要且非常一般的形式。子图同构是许多重要图形问题的常见推广,包括找到哈密顿路径、集团、匹配、周长和最短路径。子图同构的变化也被用来模拟诸如分子结构比较,集成电路测试,微程序控制器优化,机器人运动规划,语义网络检索,多面体对象识别等各种实际问题。在图论中,子图同构问题定义为,给定两个图G和H,确定是否存在子图G′∈G,使得G′与H同构。子图同构问题已被广泛研究。由于图形数据结构已广泛应用于工业的各个领域,因此该问题可用在许多应用程序中,可以使用图形数据结构存储和管理信息,并且有一组丰富的图形算法可用于解决不同的问题。可用于解决不同应用领域中的许多计算任务,例如化学信息学,计算机视觉领域和数据挖掘领域。在模式匹配研究中,在数据集成(dataintegration)和服务互操作性(serviceinteroperability)研究中,模式匹配(schemamatching)起着非常重要的作用。它主要用来识别元数据(metadata)或模型的对应关系。例如,国内外很多大型的比较购物网站(comparisonshoppingwebsite),如雅虎、Shopping、BizRate、一淘网和比购网等,可以从多个独立的在线商店(onlinestore)中整合商品信息,为用户提供价格比较和评价分析功能。每一个独立在线商店的商品目录以及层次关系都可以用图结构表示,图匹配算法可以用来解决对不同在线商店进行信息整合时出现的模式匹配问题。在医学领域,脑电图信号记录了神经元(neuron)的活动过程,用来描述快速的大脑活动,也可以转化为图结构。我们从脑电波的时频图(time-frequencymap)中提取能量脉冲,将其表示为图的顶点。若某个脉冲与前一个或下一个脉冲的时间间隔在一定范围内,就用边将它们连接起来。对这样的两个图进行匹配,可以比较脑电图信号在延迟性(latency)、频率(fre-quency)、能量(energy)以及活跃区域(activatedareas)等方面的差异,进而比较两个大脑皮层的活动。在图像和视频领域中,每个图像或者视频中的每个帧(frame)都可以用图结构表示。在图像中,用户感兴趣的对象可以用边界框(boundingbox)表示。对象之间有多种空间关系(spatialrelation),如重叠(overlap)、包含(contain)和相接(meet)等。在二维空间上,这种空间关系高达169种。对于每个图像,我们可以构建一个区域邻接图(regionadjacencygraph,RAG),图中每个点表示一个对象,边表示对象间的空间关系。对两个区域邻接图进行匹配,可以帮助我们提取多个图片或一系列视频镜头集合中的相似对象。
技术实现思路
本专利技术要解决的技术问题是针对上述现有技术的不足,提供一种用于隐私保护的子图匹配方法,用于解决子图同构问题中的子图匹配问题。为解决上述技术问题,本专利技术所采取的技术方案是:一种基于同态加密和多项式计算的子图匹配方法,包括两个角色,验证者PA和证明者PB,以及验证者PA的图GA和证明者PB的图GB,具体包括以下步骤:步骤1、验证者PA运行密钥生成算法(pk,sk)←KeyGen(1k)生成密钥,生成的密钥包括公钥和私钥,验证者PA将公钥发送给证明者PB,验证者PA将自己的图的每个顶点标记为域<v中的值;验证者PA的Paillier密码系统的公钥包含一个大数N,要求N能够满足使得从明文域均匀生成的元素在域<v中表示元素的概率可忽略不计;步骤2、验证者PA构造多项式P(x),并使用Paillier密码系统加密多项式的系数获得密文,然后将密文发送给证明者PB,具体方法为:步骤2.1、验证者PA构造多项式P(x),多项式定义为其中,ai∈VA,VA表示验证者PA持有的图的顶点集合,m为验证者PA持有的图的顶点个数;多项式P(x)的性质:当且仅当x∈VA时,P(x)=0;用C={α0,…,αm}来表示P(x)的所有的系数;步骤2.2、验证者PA使用Paillier密码系统加密C中的所有元素,并获得密文其中,Enc()为Paillier系统加密函数,然后验证者PA将发送给证明者PB;步骤3、证明者PB使用Paillier密码系统的同态性质,求多项式P(x)的值,并将其加密为单个密文,然后将密文发送给验证者PA,具体方法为:步骤3.1、在接收到之后,证明者PB使用Paillier密码系统的同态性质,求多项式P(x)的值;将所有的bl∈VB作为执行多项式求解函数的参数,VB表示证明者PB持有的图的顶点集合,然后,证明者PB将每个求值结果同态地乘以不同的非零随机数γ,在条件下,用表示结果集;步骤3.2、证明者PB同态地将所有密文加在一起以获得单个密文其中之后,证明者PB将密文发送给验证者PA;步骤4、验证者PA运行Paillier密码系统的解密函数解密所接收的密文,并获得解密之后的值r;如果解密结果r为零,则然后执行步骤5,若解密结果r不为零,则执行步骤6;步骤5、验证者PA构造自己持有的图的度为非零的所有顶点集合V′A,并构造一组多项式对,之后通过Paillier密码系统加密指定条件下的V′A中的顶点和多项式的系数,最后将密文发送给证明者PB,具体方法为:步骤5.1、验证者PA构造集合V′A,V′A满足顶点ai的邻居集合的条件,其中,ai∈VA,V′A={a′1,…,a′g},g为V′A中包含VA中具有度为非零的所有顶点的数量,且每个a′j∈V′A映射到唯一的ai∈VA;步骤5.2、对于每个顶点a′j∈V′A,j=1,2,…,g,验证者PA构造一组多项式对{(F1(x),G1(y)),…,(Fg(x),Gg(y))},Fj(x)被定义为Fj(x)=(x-a′j),Gj(y)被定义为Fj(x)存在一个性质,当且仅当x=a′j时,Fj(x)=0;Gj(y)存在一个性质,当且仅当y∈N(a′j)时,Gj(y)=0;验证者PA将Gj(y)重写为形式,其中βi,j是Gj(y)的系数,步骤5.3、验证者PA在Paillier密码系统下,加密1≤i′≤g条件下的a′i′和βi′,加密后得到验证者PA将发送给证明者PB,然后执行步骤7;步骤6、验证者PA构造包含满足的所有顶点ai∈VA的集合V′A,其中V′A={a′1,本文档来自技高网
...

【技术保护点】
1.一种基于同态加密和多项式计算的子图匹配方法,包括两个角色,验证者PA和证明者PB,以及验证者PA的图GA和证明者PB的图GB,其特征在于:具体包括以下步骤:步骤1、验证者PA运行密钥生成算法(pk,sk)←KeyGen(1k)生成密钥,生成的密钥包括公钥和私钥,验证者PA将公钥发送给证明者PB,验证者PA将自己的图的每个顶点标记为域

【技术特征摘要】
1.一种基于同态加密和多项式计算的子图匹配方法,包括两个角色,验证者PA和证明者PB,以及验证者PA的图GA和证明者PB的图GB,其特征在于:具体包括以下步骤:步骤1、验证者PA运行密钥生成算法(pk,sk)←KeyGen(1k)生成密钥,生成的密钥包括公钥和私钥,验证者PA将公钥发送给证明者PB,验证者PA将自己的图的每个顶点标记为域<v中的值;验证者PA的Paillier密码系统的公钥包含一个大数N,要求N能够满足使得从明文域均匀生成的元素在域<v中表示元素的概率可忽略不计;步骤2、验证者PA构造多项式P(x),并使用Paillier密码系统加密多项式的系数获得密文,然后将密文发送给证明者PB;步骤3、证明者PB使用Paillier密码系统的同态性质,求多项式P(x)的值,并将其加密为单个密文,然后将密文发送给验证者PA;步骤4、验证者PA运行Paillier密码系统的解密函数解密所接收的密文,并获得解密之后的值r;如果解密结果r为零,则然后执行步骤5,若解密结果r不为零,则执行步骤6;步骤5、验证者PA构造自己持有的图的度为非零的所有顶点集合V′A,并构造一组多项式对,之后通过Paillier密码系统加密指定条件下的V′A中的顶点和多项式的系数,最后将密文发送给证明者PB,然后执行步骤7;步骤6、验证者PA构造包含满足的所有顶点ai∈VA的集合V′A,其中V′A={a′1,…,a′g},然后验证者PA为每个aj∈V′A构造g个集合,其中g是V′A中顶点的数量,每个集合定义为最后验证者PA将构造的发送给证明者PB;步骤7、证明者PB构造集合V′B,并计算多项式Fi(b′j)和Gi(bk),然后通过同态加密获得单个密文,将密文整合到集合中生成V′B集合中元素数量的密文集合,最后将密文集合发送给验证者PA;步骤8、如果步骤4中的r不为0,则证明者PB的图不是验证者PA的子图,即反之,验证者PA解密所有收到的密文,并检查每组中的零的个数;如果每组中确切有一个零,则证明者PB的图是验证者PA的图的子图,即否则,证明者PB的图不是验证者PA的图的子图,即2.根据权利要求1所述的一种基于同态加密和多项式计算的子图匹配方法,其特征在于:所述步骤2的具体方法为:步骤2.1、验证者PA构造多项式P(x),多项式定义为其中,ai∈VA,VA表示验证者PA持有的图的顶点集合,m为验证者PA持有的图的顶点个数;多项式P(x)的性质:当且仅当x∈VA时,P(x)=0;用C={α0,…,αm}来表示P(x)的所有的系数;步骤2.2、验证者PA使用Paillier密码系...

【专利技术属性】
技术研发人员:周福才孙僖泽徐紫枫郭斯栩
申请(专利权)人:东北大学
类型:发明
国别省市:辽宁,21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1