CN111277406A - 一种基于区块链的安全两方向量优势比较方法 - Google Patents

一种基于区块链的安全两方向量优势比较方法 Download PDF

Info

Publication number
CN111277406A
CN111277406A CN202010019019.6A CN202010019019A CN111277406A CN 111277406 A CN111277406 A CN 111277406A CN 202010019019 A CN202010019019 A CN 202010019019A CN 111277406 A CN111277406 A CN 111277406A
Authority
CN
China
Prior art keywords
vector
equal
node
bob
alice
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010019019.6A
Other languages
English (en)
Other versions
CN111277406B (zh
Inventor
钟汉锐
桑应朋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Yat Sen University
Original Assignee
Sun Yat Sen University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Yat Sen University filed Critical Sun Yat Sen University
Priority to CN202010019019.6A priority Critical patent/CN111277406B/zh
Publication of CN111277406A publication Critical patent/CN111277406A/zh
Application granted granted Critical
Publication of CN111277406B publication Critical patent/CN111277406B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Computing Systems (AREA)
  • Strategic Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明属于密码学与信息安全领域,更具体地,涉及一种基于区块链的安全两方向量优势比较方法。方法采用了区块链加云外包计算作为基础框架,利用区块链作为驱动工具,代替可信任第三方来管理和监督整个计算过程,确保向量比较正常运行。利用云外包计算,将繁重的计算任务从用户转移到拥有足够计算力的外包服务器,减轻了用户的负担,充分利用了额外的计算资源。将云外包计算和区块链结合起来,提供可靠的奖励惩罚机制,减轻用户计算开销的同时,大大增加了恶意服务器的攻击成本,从而使得原本在实际运行中受限严重的半诚实模型协议有了保障。

Description

一种基于区块链的安全两方向量优势比较方法
技术领域
本发明属于密码学与信息安全领域,更具体地,涉及一种基于区块链的安全两方向量优势比较方法。
背景技术
随着信息技术的飞速发展,互联网在人们的日常生活中变得越来越重要。近年来,互联网应用和服务如雨后春笋般涌现。尽管这些互联网应用给人们的生活带来了巨大的便利,但同时许多应用也在这个过程中收集了大量的用户数据,因此这也引起了人们对隐私信息泄露的关注。作为一种有效保护隐私的技术,多方安全计算是研究人员重点关注的方向之一,它关注如何在分布式场景中,利用参与者的私有信息来完成相关计算任务。两方向量优势比较是多方安全计算的一个子课题,是单个数字比较的一个扩展,同时也增加了新的限制条件。假定Alice和Bob分别持有私人的向量A和向量B,它要求Alice和Bob 能进行比较,查看是否存在某一个向量中的所有元素都大于另外一个向量对应元素的情况,并且在这个过程中既不能向对方暴露向量里面的元素信息,也不能暴露对应元素的大小关系。两方向量优势比较作为多方安全计算的一个子课题,使用了大量的以密码学知识为基础的技术,属于密码学与信息安全领域。
2001年,Atallah等首次提出了两方向量优势比较的定义,并给出了一种利用置换和混淆输入的方法完成比较。通过混淆输入和置换,Atallah将A与B两个n维向量扩展成为4n维向量A′与向量B′,然后利用A′与B′对元素进行逐个比较。2006年,Ibrahim提出了新的算法,算法第一步利用对应位置的元素计算是否存在向量优势,在确定存在向量优势后,第二步两方分别计算各自向量的元素的总和,然后以总和进行比较判断谁的向量是优势。2008年,Jin等提出了以按位比较为基础的方法来解决向量优势问题。首先Alice将加密密钥和加密后的向量比特发送给Bob,Bob收到Alice的数据后在加密的环境下计算对应元素对应比特的差值,并将差值累计起来。Bob将累计的结果经过混淆后发送给Alice,Alice解密后由差值判断向量之间是否存在优势比较。
上述的方法虽然能够解决两方向量比较问题,但是他们都只适用与半诚实模型,即参与者都必须诚实地执行每个步骤,无法对恶意行为进行抵抗。同时, Atallah提出的方法使用了可信任的第三方,在实际使用中缺乏可行性。Ibrahim 的方法缺少针对向量节点相等的情况,在不进行预处理的前提下,可能会造成用户隐私泄露。同时,以上方法用户要做大量的计算和通信操作,给用户带来更多的开销。
发明内容
本发明为克服上述现有技术中的缺陷,提供一种基于区块链的安全两方向量优势比较方法,利用云外包计算,将繁重的计算任务从用户转移到拥有足够计算力的外包服务器,减轻了用户的负担,充分利用了额外的计算资源。
为解决上述技术问题,本发明采用的技术方案是:一种基于区块链的安全两方向量优势比较方法,包括以下步骤:
S1.假定Alice持有向量A=[a1 ... an],Bob持有向量B=[b1 ... bn],每个元素都可以表示为K比特的整数;
S2.密钥协商:Alice和Bob通信协商ELGamal加密所需的参数p、q,各自在群Zq中选取随机元素SA、SB,并计算
Figure BDA0002360025000000021
得到
Figure BDA0002360025000000022
在Gq中选取元素f,使用h,f和群Gq的生成元g构造加密密钥(g,h,f);其中,p、q是两个大素数,满足条件p=2q+1,Gq是群
Figure BDA0002360025000000023
的q阶乘法子群,它的生成元是g;
S3.Alice将自己的数据按位进行秘密分享,将矩阵A=[a1 ... an]的每个元素ai分为K份分享,其中1≤i≤n,每一份分享都包含了元素ai的一个bit,可以表示为[ai]p=[[ai1]p [ai2]p ... [aik]p],其中[aik]p∈{0,1};同时,Alice计算ai的最长前缀a′i的长度Ji,Alice将分享后的数据、Ji和加密密钥(g,h,f)上传到区块链;
S4.Bob根据自己的向量B计算每个元素的前缀集合,对于每个元素 bi,其中1≤i≤n,Bob使用零编码算法计算bi所有的前缀,得到含有Ki个元素的集合
Figure BDA0002360025000000024
Bob将每个
Figure BDA0002360025000000025
按位进行秘密分享得到
Figure BDA0002360025000000026
其中
Figure BDA0002360025000000027
mj表示
Figure BDA0002360025000000028
的长度,然后将数据上传到区块链;
S5.区块链收到Alice和Bob上传的数据,将数据和计算任务分配给计算节点进行计算,计算得到加密数据yi,K,其中1≤i≤n;
S6.在步骤S5中,第i轮可以得到yi,K,最后n轮计算完成后,区块链和计算节点通过通信和计算可以获得Y=y1,K·y2,K...·yn,K=(x,y),将结果Y返回给 Alice和Bob;
S7.Alice和Bob根据ELGamal密码体制的要求,利用步骤S2中的SA、SB和步骤S6所得到的Y中的x,分别计算
Figure BDA0002360025000000031
Figure BDA0002360025000000032
并交换,然后对Y进行解密,若解密的结果
Figure BDA0002360025000000033
则A>B,即向量A对向量B存在向量优势,否则向量A对向量B不存在向量优势。
进一步的,所述的S5步骤具体包括:首先区块链随机选择2K个计算节点,每个节点获取ai
Figure BDA0002360025000000034
中的一个比特,然后这2K个节点重复执行以下操作n次,其中i=1,2...n;
S51.负责[ai]p的节点从群Zq中选取两个随机数
Figure BDA0002360025000000035
Figure BDA0002360025000000036
设节点持有
Figure BDA0002360025000000037
这一比特,i对应元素在A中的位置,j对应轮数,l表示在元素ai中的位置;
当j=1时,负责前Ji位的节点进行以下计算,其中1≤l≤K:
Figure BDA0002360025000000038
生成向量
Figure BDA0002360025000000039
Figure BDA00023600250000000310
生成向量
Figure BDA00023600250000000311
其他位的节点生成向量
Figure BDA00023600250000000312
当j>1时,负责前Ji位的节点根据收到的yi,j-1进行以下计算,其中1≤l≤ K:
Figure BDA00023600250000000313
生成向量
Figure BDA00023600250000000314
Figure BDA00023600250000000315
生成向量
Figure BDA00023600250000000316
其他位的节点生成向量
Figure BDA00023600250000000317
S52.负责[ai]p的节点将计算得到的向量发送给区块链,由区块链转发给对应的
Figure BDA00023600250000000318
的节点;
S53.负责
Figure BDA00023600250000000319
的节点收到向量后,根据自己的数据选取向量中的某一元素;设节点持有
Figure BDA00023600250000000320
i和j对应在
Figure BDA00023600250000000321
中的位置,l,1≤l≤mj表示在元素
Figure BDA00023600250000000322
中的位置;当1≤j≤Ki时,若
Figure BDA00023600250000000323
则选取z[i,j,l]=z[i,j,0],若
Figure BDA00023600250000000324
则选取z[i,j,l]=z[i,j,1];节点通信计算得到yi,j=z[i,j,mj]·z[i,j,mj-1]...·z[i,j,1]·E(0);当(Ki+1)≤j≤K时,在Zn中随机选取元素rj,计算
Figure BDA0002360025000000041
然后节点将yi,j返回给区块链;
S54.当j=2,3...K时,回到步骤S51并进行下一轮计算,在第K轮结束后,节点通过计算得到加密数据yi,K,其中1≤i≤n。
在本发明中,ELGamal加密框架包括:
密钥生成:p、q是两个大素数,满足条件p=2q+1;Gq是群
Figure BDA0002360025000000042
的q阶乘法子群,它的生成元是g;Alice在群Zq中随机选取一个元素SA,Bob在群Zq中随机选取一个元素SB;Alice和Bob分别计算
Figure BDA0002360025000000043
Figure BDA0002360025000000044
并交换,得出
Figure BDA0002360025000000045
在Gq中选取元素f,至此得到加密的公钥(g,h,f);
加密运算:给定明文m∈Zq,可加密得到E(m)=(x,y)=(gα,hαfm),其中α是在Zq中选取的随机元素;
解密运算:给定密文c=(x,y),Alice和Bob分别计算和分享
Figure BDA0002360025000000046
Figure BDA0002360025000000047
可解密得到
Figure BDA0002360025000000048
在本发明中,提出的方法采用了区块链加云外包计算作为基础框架,利用区块链作为驱动工具,代替可信任第三方来管理和监督整个计算过程,确保向量比较正常运行。利用云外包计算,将繁重的计算任务从用户转移到拥有足够计算力的外包服务器,减轻了用户的负担,充分利用了额外的计算资源。而每一个计算服务器都必须在区块链中进行注册,并且需要抵押一定的电子资产在区块链作为保证金。如果服务器在计算的过程中没有按照协议进行计算,区块链可以对服务器的电子资产进行惩罚,扣除该服务器的电子资产,补偿给诚信运行的节点还有用户。而诚信运行的节点的电子资产可以在计算任务后自由取回,并且会收到来自区块链的诚信奖励和用户的服务费。这样将云外包计算和区块链结合起来,提供可靠的奖励惩罚机制,减轻用户计算开销的同时,大大增加了恶意服务器的攻击成本,从而使得原本在实际运行中受限严重的半诚实模型协议有了保障。服务器为了获取奖励,会更倾向于诚实运行而非打破协议,使自己的资产受损。
效率分析:本方案的开销分为计算开销和通信开销两个部分。对于用户 Alice和Bob,主要开销来自密钥协商和上传数据,他们的通信开销都是O(nK)。对于云服务器,需要接收用户的数据,并进行加密比较,单个服务器的通信开销位O(nK),计算开销位O(nK),所有云服务器的总开销为O(nK2),n代表用户向量元素个数,K代表单个元素的长度。
安全性分析:本方案使用了零编码和隐私保护前缀检测。假设向量A对向量B存在向量优势,那么向量B中元素bi的零编码合集
Figure BDA0002360025000000051
中必定含有对应元素ai的前缀。在本方案的步骤S5中,对于每一个元素ai
Figure BDA0002360025000000052
中的每个元素
Figure BDA0002360025000000053
都进行了隐私保护前缀测试,若
Figure BDA0002360025000000054
元素ai的前缀,那么对于得到的yi,j=E(Ri,j)中有 Ri,j=0。如果A对B存在向量优势,那么最终汇总的结果
Figure BDA0002360025000000055
Figure BDA0002360025000000056
且D(Y)=1。而如果A对B存在向量优势不成立,那么存在i′,j′使得 Ri′,j′≠0,从而最终结果
Figure BDA0002360025000000057
Figure BDA0002360025000000058
由于Ri′,j′由服务器随机产生,所以只有极小的概率Ri′,j′=0,因此本方案是完备的。
与现有技术相比,有益效果是:本发明提供的一种基于区块链的安全两方向量优势比较方法,用了区块链加云外包计算作为基础框架,利用区块链作为驱动工具,代替可信任第三方来管理和监督整个计算过程,确保向量比较正常运行。利用云外包计算,将繁重的计算任务从用户转移到拥有足够计算力的外包服务器,减轻了用户的负担,充分利用了额外的计算资源。将云外包计算和区块链结合起来,提供可靠的奖励惩罚机制,减轻用户计算开销的同时,大大增加了恶意服务器的攻击成本,从而使得原本在实际运行中受限严重的半诚实模型协议有了保障。
具体实施方式
一种基于区块链的安全两方向量优势比较方法,包括以下步骤:
S1.假定Alice持有向量A=[a1 ... an],Bob持有向量B=[b1 ... bn],每个元素都可以表示为K比特的整数;
S2.密钥协商:Alice和Bob通信协商ELGamal加密所需的参数p、q,各自在群Zq中选取随机元素SA、SB,并计算
Figure BDA0002360025000000059
得到
Figure BDA00023600250000000510
在Gq中选取元素f,使用h,f和群Gq的生成元g构造加密密钥(g,h,f);其中,p、q是两个大素数,满足条件p=2q+1,Gq是群
Figure BDA00023600250000000511
的q阶乘法子群,它的生成元是g;
S3.Alice将自己的数据按位进行秘密分享,将矩阵A=[a1 ... an]的每个元素ai分为K份分享,其中1≤i≤n,每一份分享都包含了元素ai的一个bit,可以表示为[ai]p=[[ai1]p [ai2]p ... [aik]p],其中[aik]p∈{0,1};同时,Alice计算ai的最长前缀a′i的长度Ji,Alice将分享后的数据、Ji和加密密钥(g,h,f)上传到区块链;
S4.Bob根据自己的向量B计算每个元素的前缀集合,对于每个元素 bi,其中1≤i≤n,Bob使用零编码算法计算bi所有的前缀,得到含有Ki个元素的集合
Figure BDA0002360025000000061
Bob将每个
Figure BDA0002360025000000062
安位进行秘密分享得到
Figure BDA0002360025000000063
其中
Figure BDA0002360025000000064
mj表示
Figure BDA0002360025000000065
的长度,然后将数据上传到区块链;
S5.区块链收到Alice和Bob上传的数据,将数据和计算任务分配给计算节点进行计算,计算得到加密数据yi,k,其中1≤i≤n;
S6.在步骤S5中,第i轮可以得到yi,K,最后n轮计算完成后,区块链和计算节点通过通信和计算可以获得Y=y1,K·y2,K...·ynK=(x,y),将结果Y返回给 Alice和Bob;
S7.Alice和Bob根据ELGamal密码体制的要求,利用步骤S2中的.SA、SB和步骤S6所得到的Y中的x,分别计算
Figure BDA0002360025000000066
Figure BDA0002360025000000067
并交换,然后对Y进行解密,若解密的结果
Figure BDA0002360025000000068
则A>B,即向量A对向量B存在向量优势,否则向量A对向量B不存在向量优势。
其中,所述的S5步骤具体包括:首先区块链随机选择2K个计算节点,每个节点获取ai
Figure BDA0002360025000000069
中的一个比特,然后这2K个节点重复执行以下操作n次,其中 i=1,2...n;
S51.负责[ai]p的节点从群Zq中选取两个随机数
Figure BDA00023600250000000610
Figure BDA00023600250000000611
设节点持有
Figure BDA00023600250000000612
这一比特,i对应元素在A中的位置,j对应轮数,l表示在元素ai中的位置;
当j=1时,负责前Ji位的节点进行以下计算,其中1≤l≤K:
Figure BDA00023600250000000613
生成向量
Figure BDA00023600250000000614
Figure BDA00023600250000000615
生成向量
Figure BDA00023600250000000616
其他位的节点生成向量
Figure BDA00023600250000000617
当j>1时,负责前Ji位的节点根据收到的yi,j-1进行以下计算,其中1≤l≤K:
Figure BDA0002360025000000071
生成向量
Figure BDA0002360025000000072
Figure BDA0002360025000000073
生成向量
Figure BDA0002360025000000074
其他位的节点生成向量
Figure BDA0002360025000000075
S52.负责[ai]p的节点将计算得到的向量发送给区块链,由区块链转发给对应的
Figure BDA0002360025000000076
的节点;
S53.负责
Figure BDA0002360025000000077
的节点收到向量后,根据自己的数据选取向量中的某一元素;设节点持有
Figure BDA0002360025000000078
i和j对应在
Figure BDA0002360025000000079
中的位置,l,1≤l≤mj表示在元素
Figure BDA00023600250000000710
中的位置;当1≤j≤Ki时,若
Figure BDA00023600250000000711
则选取z[i,j,l]=z[i,j,0],若
Figure BDA00023600250000000712
则选取z[i,j,l]=z[i,j,1];节点通信计算得到yi,j=z[i,j,mj]·z[i,j,mj-1]...· z[i,j,1]·E(0);当(Ki+1)≤j≤K时,在Zn中随机选取元素rj,计算
Figure BDA00023600250000000713
然后节点将yi,j返回给区块链;
S54.当j=2,3...K时,回到步骤S51并进行下一轮计算,在第K轮结束后,节点通过计算得到加密数据yi,K,其中1≤i≤n。
以下为与本发明相关的一些算法:
1.ELGamal加密框架包括:
密钥生成:p、q是两个大素数,满足条件p=2q+1;Gq是群
Figure BDA00023600250000000714
的q阶乘法子群,它的生成元是g;Alice在群Zq中随机选取一个元素SA,Bob在群Zq中随机选取一个元素SB;Alice和Bob分别计算
Figure BDA00023600250000000715
Figure BDA00023600250000000716
并交换,得出
Figure BDA00023600250000000717
在Gq中选取元素f,至此得到加密的公钥(g,h,f);
加密运算:给定明文m∈Zq,可加密得到E(m)=(x,y)=(gα,hαfm),其中α是在Zq中选取的随机元素;
解密运算:给定密文c=(x,y),Alice和Bob分别计算和分享
Figure BDA00023600250000000718
Figure BDA00023600250000000719
可解密得到
Figure BDA00023600250000000720
2.零编码:假设有长度为k的二进制字符串s=(s1s2...sk),其中si(i∈[1,k]) 代表一个比特位,那么它的零编码可以表示为:
Figure BDA00023600250000000721
Figure BDA00023600250000000722
零编码在数字比较中有重要作用,它具有以下性质:给定两个长度为k的二进制字符串a和b,当且仅当a>b时,b的零编码
Figure BDA0002360025000000081
集合中包含a的前缀。
3.隐私保护前缀检测:
根据零编码的性质,可以检测两个数的大小关系。假定Alice有二进制字符串a=(akak-1...a1),Bob有二进制字符串b=(bkbk-1...b1),Alice和Bob 可以通过隐私保护前缀检测来判定b的零编码是否是a的前缀,从而判断a和b的大小关系。完整的过程如下所示:
1)Bob根据字符串b计算b的零编码,得到含有kj个元素的集合
Figure BDA0002360025000000082
Figure BDA0002360025000000083
设其中一个待测元素的二进制表示为
Figure BDA0002360025000000084
其长度
Figure BDA0002360025000000085
2)Alice使用零编码算法计算a的最长前缀a′,其长度为|a′|=Ja,并在Zq中随机选取两个元素r0、r1,构造2×K矩阵
Figure BDA0002360025000000086
其中Z的每个元素如下:
当k≥i≥Ja且ai=0时,
Figure BDA0002360025000000087
当k≥i≥Ja且ai=1时,
Figure BDA0002360025000000088
当Ja-1≥i≥1时,
Figure BDA0002360025000000089
Alice将矩阵Z发送给Bob;
3)Bob根据矩阵Z、
Figure BDA00023600250000000810
计算
Figure BDA00023600250000000811
然后Bob 并将yj发送给Alice;
4)Alice和Bob将yj进行解密,如果D(yj)=1,则
Figure BDA00023600250000000812
是a的前缀,且可以推出a>b。
4.秘密分享:秘密分享一般分为分享和重构两个部分。分享是将秘密分解成若干个分享,而重构就是将这个若干个分享重新组成秘密。(n,t)秘密分享,代表了将秘密分为n份,而任意的t+1份分享都能重新组成秘密,而少于等于t 份则不能。在本发明创造中,使用一种按位分享的秘密分享机制,即将一个k位的整数分享成k份,每份一个比特。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (3)

1.一种基于区块链的安全两方向量优势比较方法,其特征在于,包括以下步骤:
S1.假定Alice持有向量A=[a1...an],Bob持有向量B=[b1...bn],每个元素都可以表示为K比特的整数;
S2.密钥协商:Alice和Bob通信协商ELGamal加密所需的参数p、q,各自在群Zq中选取随机元素SA、SB,并计算
Figure FDA0002360024990000011
得到
Figure FDA0002360024990000012
在Gq中选取元素f,使用h,f和群Gq的生成元g构造加密密钥(g,h,f);其中,p、q是两个大素数,满足条件p=2q+1,Gq是群
Figure FDA0002360024990000013
的q阶乘法子群,它的生成元是g;
S3.Alice将自己的数据按位进行秘密分享,将矩阵A=[a1...an]的每个元素ai分为K份分享,其中1≤i≤n,每一份分享都包含了元素ai的一个bit,可以表示为[ai]p=[[ai1]p[ai2]p...[aik]p],其中[aik]p∈{0,1};同时,Alice计算ai的最长前缀a′i的长度Ji,Alice将分享后的数据、Ji和加密密钥(g,h,f)上传到区块链;
S4.Bob根据自己的向量B计算每个元素的前缀集合,对于每个元素bi,其中1≤i≤n,Bob使用零编码算法计算bi所有的前缀,得到含有Ki个元素的集合
Figure FDA0002360024990000014
Bob将每个
Figure FDA0002360024990000015
按位进行秘密分享得到
Figure FDA0002360024990000016
其中
Figure FDA0002360024990000017
mj表示
Figure FDA0002360024990000018
的长度,然后将数据上传到区块链;
S5.区块链收到Alice和Bob上传的数据,将数据和计算任务分配给计算节点进行计算,计算得到加密数据yi,K,其中1≤i≤n;
S6.在步骤S5中,第i轮可以得到yi,K,最后n轮计算完成后,区块链和计算节点通过通信和计算可以获得Y=y1,K·y2,K...·yn,K=(x,y),将结果Y返回给Alice和Bob;
S7.Alice和Bob根据ELGamal密码体制的要求,利用步骤S2中的SA、SB和步骤S6所得到的Y中的x,分别计算
Figure FDA0002360024990000019
Figure FDA00023600249900000110
并交换,然后对Y进行解密,若解密的结果
Figure FDA00023600249900000111
则A>B,即向量A对向量B存在向量优势,否则向量A对向量B不存在向量优势。
2.根据权利要求1所述的基于区块链的安全两方向量优势比较方法,其特征在于,所述的S5步骤具体包括:首先区块链随机选择2K个计算节点,每个节点获取ai
Figure FDA0002360024990000021
中的一个比特,然后这2K个节点重复执行以下操作n次,其中i=1,2...n;
S51.负责[ai]p的节点从群Zq中选取两个随机数
Figure FDA0002360024990000022
Figure FDA0002360024990000023
设节点持有
Figure FDA0002360024990000024
这一比特,i对应元素在A中的位置,j对应轮数,l表示在元素ai中的位置;
当j=1时,负责前Ji位的节点进行以下计算,其中1≤l≤K:
Figure FDA0002360024990000025
生成向量[[z[i,l,0]=E(0),
Figure FDA0002360024990000026
Figure FDA0002360024990000027
生成向量
Figure FDA0002360024990000028
其他位的节点生成向量
Figure FDA0002360024990000029
当j>1时,负责前Ji位的节点根据收到的yi,j-1进行以下计算,其中1≤l≤K:
Figure FDA00023600249900000210
生成向量
Figure FDA00023600249900000211
Figure FDA00023600249900000212
生成向量
Figure FDA00023600249900000213
其他位的节点生成向量
Figure FDA00023600249900000214
S52.负责[ai]p的节点将计算得到的向量发送给区块链,由区块链转发给对应的
Figure FDA00023600249900000215
的节点;
S53.负责
Figure FDA00023600249900000216
的节点收到向量后,根据自己的数据选取向量中的某一元素;设节点持有
Figure FDA00023600249900000217
i和j对应在
Figure FDA00023600249900000218
中的位置,l,1≤l≤mj表示在元素
Figure FDA00023600249900000219
中的位置;当1≤j≤Ki时,若
Figure FDA00023600249900000220
则选取z[i,j,l]=z[i,j,0],若
Figure FDA00023600249900000221
则选取z[i,j,l]=z[i,j,1];节点通信计算得到yi,j=z[i,j,mj]·z[i,j,mj-1]...·z[i,j,1]·E(0);当(Ki+1)≤j≤K时,在Zn中随机选取元素rj,计算
Figure FDA00023600249900000223
然后节点将yi,j返回给区块链;
S54.当j=2,3...K时,回到步骤S51并进行下一轮计算,在第K轮结束后,节点通过计算得到加密数据yi,K,其中1≤i≤n。
3.根据权利要求2所述的基于区块链的安全两方向量优势比较方法,其特征在于,ELGamal加密框架包括:
密钥生成:p、q是两个大素数,满足条件p=2q+1;Gq是群
Figure FDA00023600249900000222
的q阶乘法子群,它的生成元是g;Alice在群Zq中随机选取一个元素SA,Bob在群Zq中随机选取一个元素SB;Alice和Bob分别计算
Figure FDA0002360024990000031
Figure FDA0002360024990000032
并交换,得出
Figure FDA0002360024990000033
在Gq中选取元素f,至此得到加密的公钥(g,h,f);
加密运算:给定明文m∈Zq,可加密得到E(m)=(x,y)=(gα,hαfm),其中α是在Zq中选取的随机元素;
解密运算:给定密文c=(x,y),Alice和Bob分别计算和分享
Figure FDA0002360024990000034
Figure FDA0002360024990000035
可解密得到
Figure FDA0002360024990000036
CN202010019019.6A 2020-01-08 2020-01-08 一种基于区块链的安全两方向量优势比较方法 Active CN111277406B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010019019.6A CN111277406B (zh) 2020-01-08 2020-01-08 一种基于区块链的安全两方向量优势比较方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010019019.6A CN111277406B (zh) 2020-01-08 2020-01-08 一种基于区块链的安全两方向量优势比较方法

Publications (2)

Publication Number Publication Date
CN111277406A true CN111277406A (zh) 2020-06-12
CN111277406B CN111277406B (zh) 2021-09-21

Family

ID=71000092

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010019019.6A Active CN111277406B (zh) 2020-01-08 2020-01-08 一种基于区块链的安全两方向量优势比较方法

Country Status (1)

Country Link
CN (1) CN111277406B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112328699A (zh) * 2020-11-20 2021-02-05 中山大学 一种基于区块链的全同态加密算法的安全外包方法及系统
CN113792322A (zh) * 2021-11-15 2021-12-14 南京可信区块链与算法经济研究院有限公司 一种安全两方比较方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103248478A (zh) * 2013-05-08 2013-08-14 天津大学 基于多方安全协议的密封式电子拍卖方案与验证方法
WO2016178655A1 (en) * 2015-05-01 2016-11-10 Hewlett Packard Enterprise Development Lp Secure multi-party information retrieval
US20190155603A1 (en) * 2016-07-27 2019-05-23 Intel Corporation System and method for multiplexing vector compare
CN110071796A (zh) * 2018-01-22 2019-07-30 中山大学 一种基于共享秘密的计算方法
CN110299987A (zh) * 2019-06-24 2019-10-01 暨南大学 一种基于同态加密的百万富翁问题解决方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103248478A (zh) * 2013-05-08 2013-08-14 天津大学 基于多方安全协议的密封式电子拍卖方案与验证方法
WO2016178655A1 (en) * 2015-05-01 2016-11-10 Hewlett Packard Enterprise Development Lp Secure multi-party information retrieval
US20190155603A1 (en) * 2016-07-27 2019-05-23 Intel Corporation System and method for multiplexing vector compare
CN110071796A (zh) * 2018-01-22 2019-07-30 中山大学 一种基于共享秘密的计算方法
CN110299987A (zh) * 2019-06-24 2019-10-01 暨南大学 一种基于同态加密的百万富翁问题解决方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JIN YUAN ET AL.: "《Secure Computation of the Vector Dominance Problem》", 《INTERNATIONAL CONFERENCE ON INFORMATION SECURITY PRACTICE AND EXPERIENCE》 *
YINGPENG SANG ET AL.: "《An Efficient Protocol for the Problem of Secure Two-party Vector Dominance》", 《SIXTH INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED COMPUTING APPLICATION AND TECHNOLOGIES(PDCAT"05)》 *
李顺东等: "《安全向量优势协议及其应用》", 《电子学报》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112328699A (zh) * 2020-11-20 2021-02-05 中山大学 一种基于区块链的全同态加密算法的安全外包方法及系统
CN112328699B (zh) * 2020-11-20 2023-07-28 中山大学 一种基于区块链的全同态加密算法的安全外包方法及系统
CN113792322A (zh) * 2021-11-15 2021-12-14 南京可信区块链与算法经济研究院有限公司 一种安全两方比较方法及系统

Also Published As

Publication number Publication date
CN111277406B (zh) 2021-09-21

Similar Documents

Publication Publication Date Title
Bonawitz et al. Practical secure aggregation for privacy-preserving machine learning
Jha et al. Towards practical privacy for genomic computation
CN110795762B (zh) 基于流密码的保留格式加密方法
Kengnou Telem et al. A simple and robust gray image encryption scheme using chaotic logistic map and artificial neural network
Gupta et al. Single secret image sharing scheme using neural cryptography
CN112769542B (zh) 基于椭圆曲线的乘法三元组生成方法、装置、设备及介质
JP2008513811A (ja) 計算変換の方法及びシステム
JP4869824B2 (ja) 受信者装置及び送信者装置及び暗号通信システム及びプログラム
CN111277406B (zh) 一种基于区块链的安全两方向量优势比较方法
CN110175169A (zh) 一种加密数据去重方法、系统及相关装置
Tallapally et al. Competent multi-level encryption methods for implementing cloud security
Alkhodaidi et al. Scalable shares generation to increase participants of counting-based secret sharing technique
CN113726512A (zh) 密钥生成和分发方法、密钥生成装置、密钥管理系统
CN116743713B (zh) 基于物联网的远程在线无纸会议方法、装置
Hitaswi et al. A bio-inspired model to provide data security in cloud storage
Cui et al. A new image encryption algorithm based on DNA dynamic encoding and hyper-chaotic system
Zhou et al. A survey of security aggregation
Aguilar et al. The multilayer random neural network
Kuppuswamy et al. Enrichment of security through cryptographic public key algorithm based on block cipher
Al-Attab et al. Lightweight effective encryption algorithm for securing data in cloud computing
Li et al. A Privacy-Preserving Federated Learning Scheme Against Poisoning Attacks in Smart Grid
Zhao et al. An efficient outsourced oblivious transfer extension protocol and its applications
Ke et al. Reversible data hiding in encrypted domain with public key embedding mechanism
CN115442103B (zh) 一种群体学习抗毒化攻击方法、系统、设备及存储介质
Hu et al. The blockchain-based edge computing framework for privacy-preserving federated learning

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant