CN112765668B - 一种零知识证明隐私保护方法、***、存储介质、设备 - Google Patents
一种零知识证明隐私保护方法、***、存储介质、设备 Download PDFInfo
- Publication number
- CN112765668B CN112765668B CN202110132123.0A CN202110132123A CN112765668B CN 112765668 B CN112765668 B CN 112765668B CN 202110132123 A CN202110132123 A CN 202110132123A CN 112765668 B CN112765668 B CN 112765668B
- Authority
- CN
- China
- Prior art keywords
- calculating
- modulo
- proof
- equal
- mod
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Storage Device Security (AREA)
Abstract
本发明属于隐私保护技术领域,公开了一种零知识证明隐私保护方法、***、存储介质、设备,所述零知识证明隐私保护方法包括四个证明流程,分别是会计平衡证明,用于证明发送方消费总金额等于发送金额与找零金额相等;格式正确证明,用于证明承诺格式为标准承诺格式;范围证明,用于证明发送方消费总金额、发送金额、找零金额均大于零;相等证明,用于证明密文所对应的明文和承诺所对应的明文相等;交易场景中假设有三种角色,包括发送方、接收方和监管方。本发明提供的零知识证明隐私保护方法、***、存储介质、设备,涉及在监管方可监管的情况下的匿名交易***,能够有效解决企业大量过度采集滥用用户隐私数据的问题,对用户隐私泄漏情况进行有效监管,保证用户的隐私安全。
Description
技术领域
本发明属于隐私保护技术领域,尤其涉及一种零知识证明隐私保护方法、***、存储介质、设备。
背景技术
目前,在实际应用中,电子商务企业对于用户隐私的保护方面尚存在问题:(1)用户隐私数据被电子商务企业大量过度收集。对网络运营者收集、使用个人信息有明确规定,但是对如何使用以及应该承担的责任,现有法律、法规中却没有相应的规定。在监管方面,目前对于政府类信息***和网站,有建立安全等级保护制度的要求,对安全漏洞有定期检查及提醒机制,但是对非政府网站及***,没有任何安全规范的要求。企业收集用户信息,很大程度上是为了验证用户身份,通过分析交易数据更好地把握市场动向。可是,大数据杀熟现象层出不穷,个性化推荐随处可见,直接或间接地损害了用户的利益。因此,在电子商务企业运作于市场的同时,需要解决企业大量过度采集滥用用用户隐私数据的问题,保证用户的隐私安全。(2)电字商务企业频繁出现隐私数据泄露事件。消费者个人信息逐渐成为一种重要资源,由此产生行业中的恶性竞争,“得信息者得客户”成为不少商家不良竞争手段。所有收集个人信息的部门和机构,从情理和法理上都负有保护公民个人信息的职责,包括中小学生在内的公民,在向有关部门和机构提供个人信息的时候,都不会同意自己的个人信息可以作为商业资源提供给其他部门和机构,如果公民的个人信息从这里被泄露出去,收集个人信息的部门和机构难辞其咎。
通过上述分析,现有技术存在的问题及缺陷为:
(1)无法有效监管电子商务企业对用户信息的过度收集使用行为。
(2)对用户隐私泄漏情况无法有效监管。
解决以上问题及缺陷的难度为:在电子商务企业获取到用户的隐私信息后,信息可以经历多次拷贝备份,使得用户隐私信息在人工监管情况下无法有效得到监管。而信息作为一种静态载体,其自身无法对任何外部行为作出判断与回应。用户隐私数据信息一旦被泄漏,网络黑产的存在使得被泄漏信息被倒卖,滥用,对用户造成困扰,且被泄漏信息无法抹除。要解决上述问题,难点在于如何既能保证政府可信方可监管的情况下,又能使政府企业及其他方无法获知数据明文的情况下认可数据的有效性与真实性。
解决以上问题及缺陷的意义为:能够在电子商务领域对于用户隐私保护的应用范畴极其广阔。在当今信息技术高速发展的时代,5G、物联网等尖端数据采集、传输技术势必会带来内容更丰富,时效性更强,体量更大的数据流,其中裹挟着无数隐私数据。在这个数据洪流奔涌的时代,无论是个人用户安心享用服务还是企业探索新兴商业模式,落实隐私保护都至关重要。结合区块链信任交换网络和隐私保护能深度分析理解,合法合规发掘数据中的价值,规避其中的风险,就有可能创造小至引发信息化产业新一轮爆发式增长、大至推动人类社会提前进入后信息时代的美好前景。这个过程中,发展隐私保护技术正是平衡价值收益与隐私风险、实现帕累托最优且可持续发展的关键。
发明内容
针对现有技术存在的问题,本发明提供了一种零知识证明隐私保护方法、***、存储介质、设备,尤其涉及在监管方可监管的情况下的匿名交易***。
本发明是这样实现的,一种零知识证明隐私保护方法,所述零知识证明隐私保护方法包括四个证明流程,分别是会计平衡证明、格式正确证明、范围证明和相等证明;交易场景中假设有三种角色,包括发送方、接收方和监管方。
进一步,所述零知识证明隐私保护方法的四个证明流程,包括:
(1)会计平衡证明:证明发送方消费总金额等于发送金额与找零金额相等;
(2)格式正确证明:证明承诺格式为标准承诺格式;
(3)范围证明:证明发送方消费总金额、发送金额、找零金额均大于零;
(4)相等证明:证明密文所对应的明文和承诺所对应的明文相等。
进一步,所述零知识证明隐私保护方法定义的三种角色,包括:
(1)发送方:向接收方发送财产数量,发出交易额;
(2)接收方:从发送方接收发送数量财产,接收交易额;
(3)监管方:可以从交易中验证交易有效性和真实性。
进一步,所述零知识证明隐私保护方法中,还包括用户注册,包括:
(1)发送方在本地生成公私钥,公钥对外公开;
(2)接收方在本地生成公私钥,公钥对外公开;
(3)监管方在本地生成公私钥,公钥对外公开。
进一步,所述零知识证明隐私保护方法中,还包括所述发送方通过零知识证明隐私保护算法计算交易披露数据,包括:
(1)生成会计平衡证明bp;
(2)生成格式正确证明fp;
(3)生成范围证明rp;
(4)生成相等证明ep;
(5)生成监管加密字段e。
进一步,所述零知识证明隐私保护方法中,还包括所述发送交易,包括:
(1)发送方将交易披露数据发送给接收方;
(2)接收方收到交易后验证零知识证明;
(3)监管方验证密文e;
(4)若通过验证,则交易存储并生效。
进一步,所述零知识证明隐私保护方法中,所述发送方、接收方和监管方分别生成属于自身的公私钥,包括:
(1)发送方公钥pub_S={G1,G2,H,P},私钥priv_S={X};
(2)接收方公钥pub_R={G1,G2,H,P},私钥priv_R={X};
(3)监管方公钥pub_G={G1,G2,H,P},私钥priv_G={X}。
进一步,所述发送方生成自身总财产,发出财产和找零财产金额的承诺和随机数。
进一步,所述发送方产生会计平衡证明,包括:
发送方使用pub_S,转账金额v_s及其承诺随机数r_s,找零金额v_r及其承诺随机数r_r,总金额承诺随机数r_o生成会计平衡证明bp,所述会计平衡证明生成,包括:
(1)取发送方公钥字段P,计算P-1,作为P_1
(2)取***Unix时间戳time,以time为种子生成随机数rnd
(3)取发送方公钥字段P,计算P-4,作为limit
(4)计算limit^5作为limit_5
(5)以rnd为种子,产生一个小于limit的随机数mix
(6)计算mix模limit的值加2作为a,计算mix/limit作为mix
(7)计算mix模limit的值加2作为b,计算mix/limit作为mix
(8)计算mix模limit的值加2作为d,计算mix/limit作为mix
(9)计算mix模limit的值加2作为e,计算mix/limit作为mix
(10)计算mix模limit的值加2作为f,计算mix/limit作为mix
(11)取发送方公钥字段G1,计算G1^a模P,作为g1a
(12)取发送方公钥字段H,计算H^b模P,作为hb
(13)计算g1a*hb模P,作为t1_p
(14)取发送方公钥字段G1,计算G1^d模P,作为g1d
(15)取发送方公钥字段H,计算H^e模P,作为he
(16)计算g1d*he模P,作为t2_p
(17)计算a+d模P_1,作为ad
(18)取发送方公钥字段G1,计算G1^ad模P,作为g1ad
(19)取发送方公钥字段H,计算H^f模P,作为hf
(20)计算g1ad*hf模P,作为t3_p
(21)拼接t1_p、t2_p、t3_p后计算其哈希值模P,作为c
(22)计算P_1-(c*v_r(mod P_1))+a模P_1,作为R_v
(23)计算P_1-(c*r_r(mod P_1))+b模P_1,作为R_r
(24)计算P_1-(c*v_s(mod P_1))+d模P_1,作为R_v
(25)计算P_1-(c*r_s(mod P_1))+e模P_1,作为R_r
(26)计算P_1-(c*r_o(mod P_1))+f模P_1,作为S_or
(27)bp={c,R_v,R_r,S_v,S_r,S_or}即为会计平衡证明。
进一步,所述发送方产生格式正确证明,包括:
发送方使用pub_S,金额v,金额v的承诺随机数r生成格式正确证明fp,所述格式正确证明生成,包括:
(1)取发送方公钥字段P,计算P-1,作为P_1
(2)取***Unix时间戳time,以time为种子生成随机数rnd_a
(3)以rnd_a为种子生成随机数rnd_b
(4)取发送方公钥字段P,计算P-4,作为limit
(5)以rnd_a为种子,产生一个小于limit的随机数a
(6)计算a+2,作为a
(7)以rnd_b为种子,产生一个小于limit的随机数b
(8)计算b+2,作为b
(9)计算G1^a模P,作为g1a
(10)计算H^b模P,作为hb
(11)计算g1a*hb模P,作为t1_p
(12)计算G2^b模P,作为t2_p
(13)拼接t1_p、t2_p后计算其哈希值模P,作为c
(14)计算P_1-v*c模P_1,作为vc
(15)计算a+vc模P_1,作为z1
(16)计算P_1-r*c模P_1,作为r1c
(17)计算b+r1c模P_1,作为z2
(18)fp={c,z1,z2}即为格式正确证明。
进一步,所述发送方产生相等证明,包括:
发送方使用pub_S={pub1.G1,pub1.G2,pub1.H,pub1.P},pub_R={pub2.G1,pub2.G2,pub2.H,pub2.P},承诺C1={C1.commitment,C1.r},承诺C2={C2.commitment,C2.r},用于生成承诺的金额V,所述相等证明ep生成,包括:
(1)计算C1.commitment*C2.commitment模P,作为y
(2)声明ep={t,s}作为相等证明结果
(3)令g为长度为4的数组,元素为{pub1.G1,pub2.G1,pub1.H,pub2.H}
(4)令x为长度为4的数组,元素为{V,V,C1.r,C2.r}
(5)令a为长度为4的数组,元素为{-1,-1,0,0}
(6)令pub为pub1
(7)声明v为长度为4的空数组
(8)取发送方公钥字段P,计算P-1,作为P_1
(9)声明ssnum为0
(10)遍历a,若遍历值不为0,则ssnum加1
(11)以pub为种子生成具有n个随机数的列表rbi,其中若ssnum为0则n=4,否则n=3
(12)声明line为0
(13)声明last为0
(14)依次遍历a中的每个元素,使每次遍历值为ai
若ai等于0,则令v[i]为rbi[line],line加1
若ai不等于0,则执行如下判定及其步骤
若ssnum等于1,则令v[i]为last*(ai mod P_1)模P_1,ssnum加1
若ssnum不等于1,则令v[i]为rbi[line],line加1,ssnum减1,令last为(last-a[i]*v[i])模P_1
(15)声明t等于1
(16)声明c_mash为空数组
(17)遍历g,使每次遍历值为gi,在第i次迭代中执行如下步骤
计算(gi^v[i])模P,作为新变量赋予gi
令t等于(t*Gi)模P
将gi加入c_mash
(18)将y加入c_mash
(19)将t加入c_mash
(20)计算c_mash的哈希,作为c
(21)计算c模P,作为c_bi
(22)遍历v,使每次遍历值为vi,在第i次迭代中执行如下步骤
计算(vi-c_bi*x[i])模P_1,计算mash
将mash加入ep.s
(23)ep.t=t
(24)故ep即为生成的相等证明。
进一步,所述发送方产生范围证明,包括:
发送方使用金额v,承诺C={C.commitment,C.r},发送方公钥pub_S={G1,G2,H,P},所述生成范围证明rp,包括:
(1)取发送方公钥字段P,计算P-1,作为P_1
(2)将v转为二进制存入aL,二进制低位位于aL低位
(3)声明aR为limit长度的数组
(4)循环limit次,在第i次循环中,计算(aL[i]-1)模P_1,作为aR[i]
(5)随机生成长度为4*(limit+1)的随机数数组mix
(6)取mix中第一个元素,及索引为0的元素,作为alpha
(7)取mix中第二个元素,及索引为1的元素,作为rou
(8)随机生成六个随机数,作为sL、sR、tao1、tao2、g和h
(9)计算H^alpha模P,作为A
(10)计算H^rou模P,作为S
(11)循环limit次,在第i次循环中,依次执行如下操作
计算g[i]^aL[i]模P,作为gaL
计算h[i]^aR[i]模P,作为haR
计算g[i]^sL[i]模P,作为gsL
计算h[i]^sR[i]模P,作为hsR
计算A*gaL*haR模P,作为A
计算S*gsL*hsR模P,作为S
(12)声明长度为2的数组AS,填充元素{A,S}
(13)对数组AS取哈希,作为y_bytes
(14)声明长度为2的数组ASy,填充元素{AS,y_bytes}
(15)对数组Asy取哈希,作为z_bytes
(16)声明长度为2的数组ASyz,填充元素{ASy,z_bytes}
(17)对数组Asyz取哈希,作为x_byt1es
(18)计算x_bytes模P_1,作为x
(19)计算y_bytes模P_1,作为y
(20)计算z_bytes模P_1,作为z
(21)声明l、r为limit长度的空数组
(22)使tv等于0
(23)使t1等于0
(24)使t2等于0
(25)使n2等于1
(26)使ny等于1
(27)循环limit次,在第i次循环中,依次执行如下操作
计算aL[i]-z,作为aLz
计算sL[i]*x,作为sLx
计算(aLz+sLx)模P,作为l[i]
计算z^2模P_1的值再乘以n2,作为z2n
计算aR[i]+z,作为arz
计算(arz+sR[i]*x mod P_1)*ny+z2n模P_1,作为r[i]
计算l[i]*r[i],作为lr
计算tv+lr模P_1,作为tv
计算ny*sR[i]模P_1,作为ysR
计算aLz*ysR模P_1,作为aLzysR
计算(ny*arz+z2n)mod P_1模sL[i],作为n2nyaRzsl
计算t1+(aLzysR*n2nyaRzsl mod P_1),作为t1
计算t2+sL[i]*ysR模P_1,作为t2
计算n2*2模P_1,作为n2
计算ny*y模P_1,作为ny
(28)计算(G1^t1 mod P)*(H^tao1 mod P)模P,作为T1
(29)计算(G1^t2 mod P)*(H^tao2 mod P)模P,作为T2
(30)计算(x^2mod P_1)*tao2,作为x2tao2
(31)计算(z^2mod P_1)*r,作为z2gama
(32)计算x2tao2+x*tao1+z2gama模P_1,作为tao_x
(33)计算rou*x+alpha模P_1,作为miu
(34)令n等于limit
(35)rp={n,tao_x,A,S,T1,T2,miu,l,r,g,h}即为范围证明。
进一步,所述发送方将所需监管内容包括发送方接收方的隐私信息及交易数据使用监管方公钥加密,生成密文e。
进一步,所述接收方验证会计平衡证明,包括:
接收方使用找零承诺CM_R,转账承诺CM_S,总承诺CM_O,公钥pub={G1,G2,H,P},所述会计平衡证明bp={c,R_v,R_r,S_v,S_r,S_or},包括:
(1)计算G1^R_v模P,作为g1rv
(2)计算H^R_r模P,作为hrr
(3)计算CM_R^c模P,作为cmrc
(4)计算(g1rv*hrr(mod P))*cmrc模P,作为t1_v
(5)计算G1^S_v模P,作为g1sv
(6)计算H^S_r模P,作为hsr
(7)计算CM_S^c模P,作为cmsc
(8)计算(g1sv*hsr(mod P))*cmsc模P,作为t2_v
(9)计算R_v+S_v,作为rvsv
(10)计算G1^rvsv模P,作为g1rvsv
(11)计算H^S_or模P,作为hsor
(12)计算CM_O^c模P,作为cmoc
(13)计算(g1rvsv*hsor(mod P))*cmoc模P,作为t3_v
(14)拼接t1_v、t2_v、t3_v后计算其哈希值后模P,作为c_v
(15)判断c_v是等于0,如果是,则验证通过,否则验证不通过。
进一步,所述接收方验证格式正确证明,包括:
接收方使用公钥pub={G1,G2,H,P},公钥pub对内容加密得到的密文C={c1,c2},格式正确证明fp={c,z1,z2},包括:
(1)计算c2^c模P,作为c1c
(2)计算G1^z1模P,作为g1z1
(3)计算H^z2模P,作为hz2
(4)计算clc*g1z1模P,作为c1c
(5)计算c1c*hz2模P,作为t1_v
(6)计算c1^c模P,作为c2c
(7)计算G2^z2模P,作为g2z2
(8)计算c2c*g2z2模P,作为t2_v
(9)拼接t1_v、t2_v后计算其哈希值后模P,作为c_v
(10)判断c_v是否等于0,如果是,则验证通过,否则验证不通过。
进一步,所述接收方使用公钥pub_S={pub1.G1,pub1.G2,pub1.H,pub1.P},pub_R={pub2.G1,pub2.G2,pub2.H,pub2.P},密文C1={C1.c1,C1.c2},密文C2={C2.c1,C2.c2},所述相等证明ep={s,t}验证相等证明,包括:
(1)取接收方公钥字段P,计算C1.C2*C2.C2模P,作为y
(2)令g为长度为4的数组,其中填充数组{pub1.G1,pub2.G1,pub1.H,pub2.H}
(3)将pub_S更名为pub
(4)令a为长度为4的数组,其中填充数组{1,-1,0,0}
(5)声明b等于0
(6)取接收方公钥字段P,计算P-1,作为P_1
(7)声明c_mash为无限长空数组
(8)遍历g,使每次遍历值为gi,在每次迭代中将gi加入c_mash中
(9)将y、lp.t依次加入到c_mash中
(10)计算c_mash的哈希值,作为c
(11)计算c模P的值,作为c_bi
(12)令新变量t_verify的值为y
(13)计算t_verify^c_bi模P,作为t_verify
(14)遍历g,使每次遍历值为gi,在第i次迭代中执行如下步骤
计算gi^lp.s[i]模P的值,作为buf
计算t_verify*buf模P的值,作为t_verify
(15)判断t_verify是否等于lp.t,若等于,则继续执行如下步骤,否则验证失败,终止流程
(16)计算-c_bi*b,作为cb
(17)声明新变量mix等于0
(18)遍历a,使每次遍历值为ai
计算ai*lp.s[i]模P_1的值,作为aisi
计算mix+aisi模P_1的值,作为mix
(19)判断mix是否等于cb,若等于,则验证成功,否则验证成失败。
进一步,所述接收方验证范围证明,包括:
接收方使用金额v,密文C={C1,C2},公钥pub={G1,G2,H,P},范围证明rp={n,tao_x,A,S,T1,T2,miu,l,r,g,h}验证相等证明,包括:
(1)取接收方公钥字段P,计算P-1,作为P_1
(2)取接收方公钥字段P,计算P-2,作为P_2
(3)声明l、r、g、h为长度为n的数组
(4)令新变量V等于C2
(5)令新变量tv等于0
(6)循环n次,在第i次循环中,执行如下步骤
计算(tv+l[i]*r[i])模P_1,作为tv
(7)声明长度为2的数组AS,填充元素{A,B}
(8)对数组As取哈希,作为y_bytes
(9)声明长度为2的数组ASy,填充元素{AS,y_bytes}
(10)对数组Asy取哈希,作为z_bytes
(11)声明长度为2的数组ASyz,填充元素{ASy,z_bytes}
(12)对数组Asyz取哈希,作为x_bytes
(13)计算x_bytes模P_1,作为x
(14)计算y_bytes模P_1,作为y
(15)计算z_bytes模P_1,作为z
(16)声明h_为长为n的空数组
(17)计算y^P_2模P_1,作为y_inv
(18)计算y^P_1模P,作为y_2p
(19)计算y*y_inv模P_1,作为vf
(20)令新变量y_1等于1
(21)循环n次,在第i次循环中执行如下步骤
计算h[i]^y_1模P,作为h_[i]
计算y_1*y_inv模P_1,作为y_1
(22)计算H^tao_x模P,作为htaox
(23)计算(G1^tv mod P)*htaox模P,作为left
(24)计算z^2模P_1,作为z2
(25)计算z^3模P_1,作为z3
(26)计算y^rp.n模P_1的值减1,作为ny_1
(27)计算y-1的值,作为y_x1
(28)计算y_x1模P_1的逆元,作为y_x1
(29)计算ny_1^y_x1模P_1,作为ny_1
(30)计算z-z2模P_1,作为z_z2
(31)计算z_z2*ny_1,作为ibx
(32)计算2^rp.n模P_1,作为n_1_2
(33)计算z3*n_1_2,作为z3n12
(34)计算ibx-z3n12,作为ibx
(35)计算pub.G1^ibx模P,作为gibx
(36)计算(V^z2 mod(P))*gibx模P,作为right
(37)计算x*x,作为x2
(38)计算T1^x模P,作为T1x
(39)计算T2^x2模P,作为T2x2
(40)计算(right*T1x mod P)*T2x2模P,作为right
(41)判断left是否等于right,若等于,则继续执行如下步骤,否则验证失败,终止流程
(42)计算S^x模P,作为p
(43)p=mod P计算p*A模P,作为p
(44)声明变量gz等于1;h_mix等于1;n2等于1;ny等于1;
(45)循环n次,在第i次循环中,执行如下步骤
计算g[i]^z模P,作为gz_inv
计算gz_inv模P的逆元乘以gz,作为gz
计算z*ny+z2*n2,作为mix
计算h_[i]^mix模P,作为mix
计算h_mix*mix模P,作为h_mix
计算n2*2模P_1,作为n2
计算ny*y模P_1,作为ny
(46)计算p*gz模P,作为p
(47)计算p*h_mix模P,作为p
(48)计算H^miu模P,作为P_check
(49)循环rp.n次,在第i次循环中,执行如下步骤
gl=mod P计算g[i]^l[i]模P,作为gl
计算h[i]^r[i]模P,作为hr
计算P_check*gl模P,作为P_check
计算P_check*hr模P,作为P_check
(50)判断P是否等于P_check,若等于,则范围证明验证通过,否怎验证不通过。
进一步,所述监管方验证密文e,若验证通过,则此次交易合法有效,否则认为交易无效,抛弃此交易。
本发明的另一目的在于提供一种应用所述的零知识证明隐私保护方法的零知识证明隐私保护***,所述零知识证明隐私保护***包括:
会计平衡证明模块,用于证明发送方消费总金额等于发送金额与找零金额相等;
格式正确证明模块,用于证明承诺格式为标准承诺格式;
范围证明模块,用于证明发送方消费总金额、发送金额、找零金额均大于零;
相等证明模块,用于证明密文所对应的明文和承诺所对应的明文相等。
本发明的另一目的在于提供一种存储在计算机可读介质上的计算机程序产品,包括计算机可读程序,供于电子装置上执行时,提供用户输入接口以实施所述的零知识证明隐私保护方法。
本发明的另一目的在于提供一种计算机可读存储介质,储存有指令,当所述指令在计算机上运行时,使得计算机执行所述的零知识证明隐私保护方法。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明提供的零知识证明隐私保护方法、***、存储介质、设备,涉及在监管方可监管的情况下的匿名交易***,能够有效解决企业大量过度采集滥用用用户隐私数据的问题,对用户隐私泄漏情况进行有效监管,保证用户的隐私安全。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的零知识证明隐私保护方法流程图。
图2是本发明实施例提供的零知识证明隐私保护***结构框图;
图中:1、会计平衡证明模块;2、格式正确证明模块;3、范围证明模块;4、相等证明模块。
图3是本发明实施例提供的用户注册的方法原理图。
图4是本发明实施例提供的发送方通过零知识证明隐私保护算法计算交易披露数据的方法原理图。
图5是本发明实施例提供的发送交易的方法原理图。
图6是本发明实施例提供的所生成的所有证明字段及加密字段,所有用户均可以验证零知识证明的正确性,监管方可以解密并获得隐私数据明文。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种零知识证明隐私保护方法、***、存储介质、设备,下面结合附图对本发明作详细的描述。
本发明实施例提供的零知识证明隐私保护方法包括四个证明流程,分别是会计平衡证明、格式正确证明、范围证明和相等证明;交易场景中假设有三种角色,包括发送方、接收方和监管方。
如图1所示,本发明实施例提供的零知识证明隐私保护方法包括以下步骤:
S101,会计平衡证明:证明发送方消费总金额等于发送金额与找零金额相等;
S102,格式正确证明:证明承诺格式为标准承诺格式;
S103,范围证明:证明发送方消费总金额、发送金额、找零金额均大于零;
S104,相等证明:证明密文所对应的明文和承诺所对应的明文相等。
本发明实施例提供的零知识证明隐私保护方法定义的三种角色,包括:
(1)发送方:向接收方发送财产数量,发出交易额;
(2)接收方:从发送方接收发送数量财产,接收交易额;
(3)监管方:可以从交易中验证交易有效性和真实性。
如图2所示,本发明实施例提供的零知识证明隐私保护***包括:
会计平衡证明模块1,用于证明发送方消费总金额等于发送金额与找零金额相等;
格式正确证明模块2,用于证明承诺格式为标准承诺格式;
范围证明模块3,用于证明发送方消费总金额、发送金额、找零金额均大于零;
相等证明模块4,用于证明密文所对应的明文和承诺所对应的明文相等。
下面结合实施例对本发明作进一步描述。
实施例1
针对现有技术存在的问题,本发明提供了一种零知识证明隐私保护方案。
本方案拥有四个证明流程,并假设有交易场景中三种角色。
四个证明流程及作用分别为:
会计平衡证明:证明发送方消费总金额等于发送金额与找零金额相等;
格式正确证明:证明承诺格式为标准承诺格式;
范围证明:证明发送方消费总金额、发送金额、找零金额均大于零;
相等证明:证明密文所对应的明文和承诺所对应的明文相等。
三种角色依次定义为:
发送方:向接收方发送财产数量,发出交易额;
接收方:从发送方接收发送数量财产,接收交易额;
监管方:可以从交易中验证交易有效性和真实性。
进一步,发送方、接收方和监管方分别生成属于自身的公私钥:
发送方公钥pub_S={G1,G2,H,P},私钥priv_S={X};
接收方公钥pub_R={G1,G2,H,P},私钥priv_R={X};
监管方公钥pub_G={G1,G2,H,P},私钥priv_G={X};
进一步,发送方生成自身总财产,发出财产和找零财产金额的承诺和随机数。
进一步,发送方产生会计平衡证明。发送方使用pub_S,转账金额v_s及其承诺随机数r_s,找零金额v_r及其承诺随机数r_r,总金额承诺随机数r_o生成会计平衡证明bp,会计平衡证明生成如以下步骤:
(1)P_1=P-1
(2)rnd=rand(time),time为当前时间
(3)limit=P-4
(4)limit_5=limit^5
(5)mix=rand(rnd)且mix<limit
(6)a=(mix mod limit)+2,mix=mix/limit
(7)b=(mix mod limit)+2,mix=mix/limit
(8)d=(mix mod limit)+2,mix=mix/limit
(9)e=(mix mod limit)+2,mix=mix/limit
(10)f=(mix mod limit)+2,mix=mix/limit
(11)g1a=G1^a(mod P)
(12)hb=H^b(mod P)
(13)t1_p=g1a*hb(mod P)
(14)g1d=G1^d(mod P)
(15)he=H^e(mod P)
(16)t2_p=g1d*he(mod P)
(17)ad=a+d(mod P_1)
(18)g1ad=G1^ad(mod P)
(19)hf=H^f(mod P)
(20)t3_p=g1ad*hf(mod P)
(21)c=Hash(t1_p:+t2_p:+t3_p)(mod P)
(22)R_v=(P_1-(c*v_r(mod P_1))+a)mod P_1
(23)R_r=(P_1-(c*r_r(mod P_1))+b)mod P_1
(24)S_v=(P_1-(c*v_s(mod P_1))+d)mod P_1
(25)S_r=(P_1-(c*r_s(mod P_1))+e)mod P_1
(26)S_or=(P_1-(c*r_o(mod P_1))f)mod P_1
(27)bp={c,R_v,R_r,S_v,S_r,S_or}即为会计平衡证明。
进一步,发送方产生格式正确证明。发送方使用pub_S,金额v,金额v的承诺随机数r生成格式正确证明fp,格式正确证明生成如以下步骤:
(1)P_1=P-1
(2)rnd_a=rand(time)
(3)rnd_b=rand(rnd_a)
(4)limit=P-4
(5)a=rand(rnd_a),其中a<limit
(6)a=a+2
(7)b=rand(rnd_b),其中b<limit
(8)b=b+2
(9)g1a=G1^a(mod P)
(10)hb=H^b(mod P)
(11)t1_p=g1a*hb(mod P)
(12)t2_p=G2^b(mod P)
(13)c=Hash(t1_p:+t2_p)(mod P)
(14)vc=P_1-v*c(mod P_1)
(15)z1=a+vc(mod P_1)
(16)r1c=P_1-r*c(mod P_1)
(17)z2=b+r1c(mod P_1)
(18)fp={c,z1,z2}即为格式正确证明。
进一步,发送方产生相等证明。发送方使用pub_S={pub1.G1,pub1.G2,pub1.H,pub1.P},pub_R={pub2.G1,pub2.G2,pub2.H,pub2.P},承诺C1={C1.commitment,C1.r},承诺C2={C2.commitment,C2.r},用于生成承诺的金额V,相等证明ep生成如以下步骤:
(1)y=C1.commitment*C2.commitment(mod P)
(2)声明ep={t,s}作为相等证明结果
(3)g={pub1.G1,pub2.G1,pub1.H,pub2.H}
(4)x={V,V,C1.r,C2.r}
(5)a={-1,-1,0,0}
(6)pub=pub1
(7)声明v为长度为4的数组
(8)P_1=P-1
(9)ssnum=0
(10)遍历a,若遍历值不为0,则ssnum=ssnum+1
(11)rbi=rand(n,pub),其中若ssnum为0则n=4,否则n=3,rbi是数组,n为数组长度
(12)line=0
(13)last=0
(14)遍历a,遍历值为ai
若ai=0,则v[i]=rbi[line],line=line+1
若ai!=0,则
若ssnum=1,则v[i]=last*(ai mod P_1)mod P_1,ssnum=ssnum-1
若ssnum!=1,则v[i]=rbi[line],line=line+1,ssnum=ssnum-1,last=(last-a[i]*v[i])mod P_1
(15)t=1
(16)声明c_mash为空数组
(17)遍历g,遍历值为gi,迭代基数为i
gi=(gi^v[i])mod P
t=(t*Gi)mod P
将gi加入c_mash
(18)将y加入c_mash
(19)将t加入c_mash
(20)c=Hash(c_mash)
(21)c_bi=c mod P
(22)遍历v,遍历值为vi,迭代基数为i
mash=(vi-c_bi*x[i])mod P_1
将mash加入ep.s
(23)ep.t=t
(24)故ep即为生成的相等证明。
进一步,发送方产生范围证明。发送方使用金额v,承诺C={C.commitment,C.r},发送方公钥pub_S={G1,G2,H,P},生成范围证明rp如以下步骤:
(1)P_1=P-1
(2)将v转为二进制存入aL,二进制低位位于aL低位
(3)声明aR为limit长度的数组
(4)循环limit次,i为循环次数,aR[i]=(aL[i]-1)mod P_1
(5)随机生成长度为4*(limit+1)的随机数数组mix
(6)alpha=mix[0]
(7)rou=mix[1]
(8)随机生成sL sR tao1 tao2 g h
(9)A=H^alpha mod P
(10)S=H^rou mod P
(11)循环limit次,i为循环次数
gaL=(g[i]^aL[i])mod P
haR=(h[i]^aR[i])mod P
gsL=(g[i]^sL[i])mod P
hsR=(h[i]^sR[i])mod P
A=(A*gaL*haR)mod P
S=(S*gsL*hsR)mod P
(12)AS=[A,S]
(13)y_bytes=Hash(AS)
(14)ASy=[AS,y_bytes]
(15)z_bytes=Hash(ASy)
(16)ASyz=[ASy,z_bytes]
(17)x_bytes=Hash(ASyz)
(18)x=x_bytes mod P_1
(19)y=y_bytes mod P_1
(20)z=z_bytes mod P_1
(21)声明l、r为limit长度的数组
(22)tv=0
(23)t1=0
(24)t2=0
(25)n2=1
(26)ny=1
(27)循环limit次,i为循环次数
aLz=aL[i]-z
sLx=sL[i]*x
l[i]=(aLz+sLx)mod P
z2n=(z^2mod P_1)*n2
arz=aR[i]+z
r[i]=((arz+sR[i]*x mod P_1)*ny+z2n)mod P_1
lr=l[i]*r[i]
tv=(tv+lr)mod P_1
ysR=(ny*sR[i])mod P_1
aLzysR=(aLz*ysR)mod P_1
n2nyaRzsl=((ny*arz+z2n)mod P_1)mod sL[i]
t1=t1+(aLzysR*n2nyaRzsl mod P_1)
t2=(t2+sL[i]*ysR)mod P_1
n2=(n2*2)mod P_1
ny=(ny*y)mod P_1
(28)T1=(G1^t1 mod P)*(H^tao1 mod P)mod P
(29)T2=(G1^t2 mod P)*(H^tao2 mod P)mod P
(30)x2tao2=(x^2mod P_1)*tao2
(31)z2gama=(z^2mod P_1)*r
(32)tao_x=(x2tao2+x*tao1+z2gama)mod P_1
(33)miu=(rou*x+alpha)mod P_1
(34)n=limit
(35)rp={n,tao_x,A,S,T1,T2,miu,l,r,g,h}即为范围证明。
进一步,发送方将所需监管内容包括发送方接收方的隐私信息及交易数据使用监管方公钥加密,生成密文e。
进一步,接收方验证会计平衡证明。接收方使用找零承诺CM_R,转账承诺CM_S,总承诺CM_O,公钥pub={G1,G2,H,P},会计平衡证明bp={c,R_v,R_r,S_v,S_r,S_or}进行以下步骤:
(1)g1rv=G1^R_v(mod P)
(2)hrr=H^R_r(mod P)
(3)cmrc=CM_R^c(mod P)
(4)t1_v=(g1rv*hrr(mod P))*cmrc(mod P)
(5)g1sv=G1^S_v(mod P)
(6)hsr=H^S_r(mod P)
(7)cmsc=CM_S^c(mod P)
(8)t2_v=(g1sv*hsr(mod P))*cmsc(mod P)
(9)rvsv=R_v+S_v
(10)g1rvsv=G1^rvsv(mod P)
(11)hsor=H^S_or(mod P)
(12)cmoc=CM_O^c(mod P)
(13)t3_v=(g1rvsv*hsor(mod P))*cmoc(mod P)
(14)c_v=Hash(t1_v:+t2_v:+t3_v)(mod P)
(15)若c_v==0则验证通过,否则不通过。
进一步,接收方验证格式正确证明。接收方使用公钥pub={G1,G2,H,P},公钥pub对内容加密得到的密文C={c1,c2},格式正确证明fp={c,z1,z2},进行以下步骤:
(1)c1c=c2^c(mod P)
(2)g1z1=G1^z1(mod P)
(3)hz2=H^z2(mod P)
(4)c1c=clc*g1z1(mod P)
(5)t1_v=c1c*hz2(mod P)
(6)c2c=c1^c(mod P)
(7)g2z2=G2^z2(mod P)
(8)t2_v=c2c*g2z2(mod P)
(9)c=Hash(t1_v:+t2_v)(mod P)
(10)若c_v==0则验证通过,否则不通过。
进一步,接收方使用公钥pub_S={pub1.G1,pub1.G2,pub1.H,pub1.P},pub_R={pub2.G1,pub2.G2,pub2.H,pub2.P},密文C1={C1.c1,C1.c2},密文C2={C2.c1,C2.c2},相等证明ep={s,t}验证相等证明。进行以下步骤:
(1)y=C1.C2*C2.C2(mod P)
(2)g={pub1.G1,pub2.G1,pub1.H,pub2.H}
(3)pub=pub1
(4)a={1,-1,0,0}
(5)b=0
(6)P_1=P-1
(7)声明c_mash为空数组
(8)遍历g,遍历值为gi,将gi加入c_mash中
(9)将y、lp.t依次加入到c_mash中
(10)c=Hash(c_mash)
(11)c_bi=c mod P
(12)t_verify=y
(13)t_verify=(t_verify^c_bi)mod P
(14)遍历g,遍历值为gi,迭代基数为i
buf=(gi^lp.s[i])mod P
t_verify=(t_verify*buf)mod P
(15)若t_verify!=lp.t,则验证失败
(16)cb=-c_bi*b
(17)mix=0
(18)遍历a,遍历值为ai
aisi=(ai*lp.s[i])mod P_1
mix=(mix+aisi)mod P_1
(19)若mix不等于cb,则验证失败,否则验证成功。
进一步,接收方验证范围证明。接收方使用金额v,密文C={C1,C2},公钥pub={G1,G2,H,P},范围证明rp={n,tao_x,A,S,T1,T2,miu,l,r,g,h}验证相等证明,进行以下步骤:
(1)P_1=P-1
(2)P_2=P-2
(3)声明l、r、g、h为n长度数组
(4)V=C2
(5)tv=0
(6)循环n次,i为循环次数
tv=(tv+l[i]*r[i])mod P_1
(7)AS=[A,B]
(8)y_bytes=Hash(AS)
(9)ASy=[AS,y_bytes]
(10)z_bytes=Hash(ASy)
(11)ASyz=[ASy,z_bytes]
(12)x_bytes=Hash(ASyz)
(13)x=x_bytes mod P_1
(14)y=y_bytes mod P_1
(15)z=z_bytes mod P_1
(16)声明h_为长为n的数组
(17)y_inv=y^P_2mod P_1
(18)y_2p=y^P_1mod P
(19)vf=y*y_inv mod P_1
(20)y_1=1
(21)循环n次,i为循环次数
h_[i]=h[i]^y_1mod P
y_1=(y_1*y_inv)mod P_1
(22)htaox=H^tao_x mod P
(23)left=(G1^tv mod P)*htaox mod P
(24)z2=z^2mod(P_1)
(25)z3=z^3mod(P_1)
(26)ny_1=y^rp.n mod(P_1)-1
(27)y_x1=y-1
(28)y_x1=y_x1^(-1)mod P_1
(29)ny_1=ny_1^y_x1 mod(P_1)
(30)z_z2=(z-z2)mod(P_1)
(31)ibx=z_z2*ny_1
(32)n_1_2=2^rp.n mod(P_1)
(33)z3n12=z3*n_1_2
(34)ibx=ibx-z3n12
(35)gibx=pub.G1^ibx mod P
(36)right=(V^z2 mod P)*gibx modP
(37)x2=x*x
(38)T1x=T1^x mod P
(39)T2x2=T2^x2 mod P
(40)right=(right*T1x mod P)*T2x2 mod P
(41)如果left与right不相等,则判定验证不通过
(42)p=S^x mod P
(43)p=p*A mod P
(44)gz=1;h_mix=1;n2=1;ny=1;
(45)循环rp.n次,i为循环次数
gz_inv=g[i]^z mod P
gz=gz*(gz_inv^(-1)mod P)
mix=z*ny+z2*n2
mix=h_[i]^mix mod P
h_mix=h_mix*mix mod P
n2=n2*2mod(P_1)
ny=ny*y mod(P_1)
(46)p=p*gz mod P
(47)p=p*h_mix mod P
(48)P_check=H^miu mod P
(49)循环rp.n次,i为循环次数
gl=g[i]^l[i]mod P
hr=h[i]^r[i]mod P
P_check=P_check*gl mod P
P_check=P_check*hr mod P
(50)如果P和P_check相等,则范围证明验证通过,否怎验证不通过。
进一步,监管方验证密文e,若验证通过,则此次交易合法有效,否则认为交易无效,抛弃此交易。
实施例2
如图3所示,用户注册,按照如下步骤执行:
(1)发送方在本地生成公私钥,公钥对外公开;
(2)接收方在本地生成公私钥,公钥对外公开;
(3)监管方在本地生成公私钥,公钥对外公开。
如图4所示,发送方通过零知识证明隐私保护算法计算交易披露数据,将按照以下步骤进行:
(1)生成会计平衡证明bp;
(2)生成格式正确证明fp;
(3)生成范围证明rp;
(4)生成相等证明ep;
(5)生成监管加密字段e。
如图5所示,发送交易,按照如下步骤执行:
(1)发送方将交易披露数据发送给接收方;
(2)接收方收到交易后验证零知识证明;
(3)监管方验证密文e;
(4)若通过验证,则交易存储并生效。
现以具体实例说明发明本发明的具体流程。
在拍卖实例中,本发明可以保证拍卖过程全程匿名且可监管,具体实施流程如下。
(1)拍卖开始前,潜在买方、拍卖方、监管方均在本***注册账户,获得各自的公钥与私钥,并给予潜在买方无穷多的***账户资金。
(2)拍卖过程中,潜在买方出价,出价流程如上述转账流程相同,即潜在买方向拍卖方转账。买方生成会计平衡证明bp,格式正确证明fp,范围证明rp,相等证明ep,监管加密字段e,然后拍卖方发起转账。
(3)拍卖方收到交易后验证零知识证明;
(4)监管方验证密文e;
(5)若通过验证,则交易存储并生效,认为此次竞价成功,等待下次竞价。
(6)竞价结束后,由监管方解密并仅由监管方查看所有竞价内容,并给出竞价成功方。
(7)拍卖全程隐藏了竞价方身份与竞价金额,最终结果也仅由可信监管方依据所有交易内容给出。
下面结合实验对本发明的技术效果作详细的描述。
对本发明进行实验性实现,实验输出如下:
公钥:
P:33333f914834ced561c145797d9b5782719dbd1b43a668d4b01151f9c0e67d9f
G1:3174504ed79fb7791f5980fd36107f441286198271ebc8e02499005520e4013a
G2:231dba42e1eb3afd09fae4f7f2b13e1686d744b003d200b5bd37bdf877bcadb9
H:65449a792d4abe211d1be86b74e158ff32e708d5717e854e162a9f1a0633394
私钥:
X:1da7643b396061c17ac2cbd08d700a6f71cf56826a23af231a872dfa9af1e55f
生成格式正确证明:
C:26ac016ded7c755456e2f98b621d2481403845ec93d55851b4dd5a74ae1d395b
Z1:31dcd46aab6cc21f248316069fc34a28ff1a24862061f3dac1ddf0edcc9e2005
Z2:296471ee814fdab02845c36c4ecbd759554ef4891d732eeddc512cbba88eefbc
验证格式正确证明:
格式正确证明验证通过!
设定金额:16
使用不同公钥加密相同内容
生成相等证明:
s:[0b4eb86f14a4b5f016706df6e15bfa830414c318cf44707831b9e61fb1bdcc8f0b4eb86f14a4b5f016706df6e15bfa830414c318cf44707831b9e61fb1bdcc8f02f06aaf43e24b96bcf3baf345f0dcac47aa8f67cd8fb16fba5092f3f00710922776d6ba325a83705a5479504165d388ca27d101235e16340f5d997581004040]
t:73572ad326fd564027cb8b2e6bbced7303b71e37e750ca25eed9c72f71cccf
验证相等证明:
相等证明验证通过!
设定合法交易
生成会计平衡证明:
s:[16728e075b434a946683d1f9d7cf99f6da8e1f7357bd942497f8df37330bce1c]
t:09fb9a71955cc1fa6483aebedac802b777b466042a8e680d4d102595aacabb53
验证会计平衡证明:
会计平衡证明验证通过!
设定不合法交易:
生成会计平衡证明:
s:[1dce60d7d17eee182ec299f98d20f9becfbfca2c55f5357cda8c0a27f7b1e7ce0d4011e5042ac5abe5ec1e721944351fa2bc3dc53d1b50337d80045de98b45a9]
t:1368dcd8658813075e551a2277a60100f214263d351c7384525187dcba93a82b
验证会计平衡证明:
会计平衡证明验证不通过!
生成相等证明:
s:[21fab46a3bb6ee942faf63fa6efa7c89c39c198a8e35e501646d76d5fa79e76621fab46a3bb6ee942faf63fa6efa7c89c39c198a8e35e501646d76d5fa79e76622715bb53e845add06c994dcaf636e97fcf0c2b41b189a8197bd157a1c1acf510699e9734ce3aeec542e933aa5673a836f66a812d456b21f17e4da80e750398c]
t:0434568b2029a5f5d150c7f66e9a44d927c7716766ff3701ba351603c120977e
验证相等证明:
相等证明验证通过!
生成格式正确证明:
C:04879e7df788c0c4d37e83d87e08b27cd944884a51176edc8ecb32578e1e000d
Z1:24e32f1a37c91e4e6396c5bfd1f8331acb9ff5ea483701c3ac0273dab87cca46
Z2:0ada337717dde4f7fa74c6b9efcd1187a59db6193ae1925cbbfd4463cb9bec91
验证格式正确证明:
格式正确证明验证通过!
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
Claims (4)
1.一种零知识证明隐私保护方法,其特征在于,所述零知识证明隐私保护方法中,还包括发送方通过零知识证明隐私保护算法计算交易披露数据,包括:
(1)生成会计平衡证明bp;
(2)生成格式正确证明fp;
(3)生成范围证明rp;
(4)生成相等证明ep;
(5)生成监管加密字段e;
所述零知识证明隐私保护方法中,还包括发送交易,包括:
(1)发送方将交易披露数据发送给接收方;
(2)接收方收到交易后验证零知识证明;
(3)监管方验证密文e;
(4)若通过验证,则交易存储并生效;
所述零知识证明隐私保护方法中,所述发送方、接收方和监管方分别生成属于自身的公私钥,包括:
(1)发送方公钥pub_S={G1,G2,H,P},私钥priv_S={X};
(2)接收方公钥pub_R={G1,G2,H,P},私钥priv_R={X};
(3)监管方公钥pub_G={G1,G2,H,P},私钥priv_G ={X};
所述发送方生成自身总财产,发出财产和找零财产金额的承诺和随机数;
所述发送方产生会计平衡证明,包括:
发送方使用pub_S,转账金额v_s及其承诺随机数r_s,找零金额v_r及其承诺随机数r_r,总金额承诺随机数r_o生成会计平衡证明bp,所述会计平衡证明生成,包括:
(1)取发送方公钥字段P,计算P-1,作为P_1;
(2)取***Unix时间戳time,以time为种子生成随机数rnd;
(3)取发送方公钥字段P,计算P-4,作为limit;
(4)计算limit^5作为limit_5;
(5)以rnd为种子,产生一个小于limit的随机数mix;
(6)计算mix模limit的值加2作为a,计算mix/limit作为mix;
(7)计算mix模limit的值加2作为b,计算mix/limit作为mix;
(8)计算mix模limit的值加2作为d,计算mix/limit作为mix;
(9)计算mix模limit的值加2作为e,计算mix/limit作为mix;
(10)计算mix模limit的值加2作为f,计算mix/limit作为mix;
(11)取发送方公钥字段G1,计算G1^a模P,作为g1a;
(12)取发送方公钥字段H,计算H^b模P,作为hb;
(13)计算g1a*hb模P,作为t1_p;
(14)取发送方公钥字段G1,计算G1^d模P,作为g1d;
(15)取发送方公钥字段H,计算H^e模P,作为he;
(16)计算g1d*he模P,作为t2_p;
(17)计算a+d模P_1,作为ad;
(18)取发送方公钥字段G1,计算G1^ad模P,作为g1ad;
(19)取发送方公钥字段H,计算H^f模P,作为hf;
(20)计算g1ad*hf模P,作为t3_p;
(21)拼接t1_p、t2_p、t3_p后计算其哈希值模P,作为c;
(22)计算P_1 - (c*v_r (mod P_1) ) +a模P_1,作为R_v;
(23)计算P_1 - (c*r_r (mod P_1) ) +b模P_1,作为R_r;
(24)计算P_1 - (c*v_s (mod P_1) ) +d模P_1,作为S_v;
(25)计算P_1 - (c*r_s (mod P_1) ) +e模P_1,作为S_r;
(26)计算P_1 - (c*r_o (mod P_1) ) + f模P_1,作为S_or;
(27)bp={c,R_v,R_r,S_v,S_r,S_or}即为会计平衡证明;
所述发送方产生格式正确证明,包括:
发送方使用pub_S,金额v,金额v的承诺随机数r生成格式正确证明fp,所述格式正确证明生成,包括:
(1)取发送方公钥字段P,计算P-1,作为P_1;
(2)取***Unix时间戳time,以time为种子生成随机数rnd_a;
(3)以rnd_a为种子生成随机数rnd_b;
(4)取发送方公钥字段P,计算P-4,作为limit;
(5)以rnd_a为种子,产生一个小于limit的随机数a;
(6)计算a+2,作为a;
(7)以rnd_b为种子,产生一个小于limit的随机数b;
(8)计算b+2,作为b;
(9)计算G1^a模P,作为g1a;
(10)计算H^b模P,作为hb;
(11)计算g1a*hb模P,作为t1_p;
(12)计算G2^b模P,作为t2_p;
(13)拼接t1_p、t2_p后计算其哈希值模P,作为c;
(14)计算P_1 - v*c模P_1,作为vc;
(15)计算a+vc模P_1,作为z1;
(16)计算P_1 - r*c模P_1,作为r1c;
(17)计算b + r1c模P_1,作为z2;
(18)fp={c,z1,z2}即为格式正确证明;
所述发送方产生相等证明,包括:发送方使用pub_S={pub1.G1,pub1.G2,pub1.H,pub1.P},pub_R={pub2.G1,pub2.G2,pub2.H,pub2.P},承诺C1={C1.commitment,C1.r},承诺C2={C2.commitment,C2.r},用于生成承诺的金额V,所述相等证明ep生成,包括:
(1)计算C1.commitment*C2.commitment模P,作为y;
(2)声明ep={t,s}作为相等证明结果;
(3)令g为长度为4的数组,元素为{pub1.G1, pub2.G1, pub1.H, pub2.H};
(4)令x为长度为4的数组,元素为{V, V, C1.r, C2.r};
(5)令a为长度为4的数组,元素为{-1,-1,0,0};
(6)令pub为pub1;
(7)声明v为长度为4的空数组;
(8)取发送方公钥字段P,计算P-1,作为P_1;
(9)声明ssnum为0;
(10)遍历a,若遍历值不为0,则ssnum加1;
(11)以pub为种子生成具有n个随机数的列表rbi,其中若ssnum为0则n=4,否则n=3;
(12)声明line为0;
(13)声明last为0;
(14)依次遍历a中的每个元素,使每次遍历值为ai
若ai等于0,则令v[i]为rbi[line],line加1;
若ai不等于0,则执行如下判定及其步骤;
若ssnum等于1,则令v[i]为last*(ai mod P_1)模P_1,ssnum加1;
若ssnum不等于1,则令v[i]为rbi[line],line加1,ssnum减1, 令last为(last-a[i]*v[i])模P_1;
(15)声明t等于1;
(16)声明c_mash为空数组;
(17)遍历g,使每次遍历值为gi,在第i次迭代中执行如下步骤:
计算(gi^v[i]) 模P,作为新变量赋予gi;
令t等于(t*Gi) 模P;
将gi加入c_mash;
(18)将y加入c_mash;
(19)将t加入c_mash;
(20)计算c_mash的哈希,作为c;
(21)计算c模P,作为c_bi;
(22)遍历v,使每次遍历值为vi,在第i次迭代中执行如下步骤:
计算(vi-c_bi*x[i])模P_1,计算mash;
将mash加入ep.s;
(23)ep.t=t;
(24)故ep即为生成的相等证明;
所述发送方产生范围证明,包括:
发送方使用金额v,承诺C={C.commitment,C.r},发送方公钥pub_S={G1,G2,H,P},所述生成范围证明rp,包括:
(1)取发送方公钥字段P,计算P-1,作为P_1;
(2)将v转为二进制存入aL,二进制低位位于aL低位;
(3)声明aR为limit长度的数组;
(4)循环limit次,在第i次循环中,计算(aL[i]-1)模P_1,作为aR[i];
(5)随机生成长度为4*(limit+1)的随机数数组mix;
(6)取mix中第一个元素,及索引为0的元素,作为alpha;
(7)取mix中第二个元素,及索引为1的元素,作为rou;
(8)随机生成六个随机数,作为sL、sR、tao1、tao2、g和h;
(9)计算H^alpha模P,作为A;
(10)计算H^rou模P,作为S;
(11)循环limit次,在第i次循环中,依次执行如下操作
计算g[i]^aL[i]模P,作为gaL;
计算h[i]^aR[i]模P,作为haR;
计算g[i]^sL[i]模P,作为gsL;
计算h[i]^sR[i]模P,作为hsR;
计算A*gaL*haR模P,作为A;
计算S*gsL*hsR模P,作为S;
(12)声明长度为2的数组AS,填充元素{A,S};
(13)对数组AS取哈希,作为y_bytes;
(14)声明长度为2的数组ASy,填充元素{AS,y_bytes};
(15)对数组Asy取哈希,作为z_bytes;
(16)声明长度为2的数组ASyz,填充元素{ASy,z_bytes};
(17)对数组Asyz取哈希,作为x_byt1es;
(18)计算x_bytes模P_1,作为x;
(19)计算y_bytes模P_1,作为y;
(20)计算z _bytes模P_1,作为z;
(21)声明l、r为limit长度的空数组;
(22)使tv等于0;
(23)使t1等于0;
(24)使t2等于0;
(25)使n2等于1;
(26)使ny等于1;
(27)循环limit次,在第i次循环中,依次执行如下操作
计算aL[i]-z,作为aLz;
计算sL[i]*x,作为sLx;
计算(aLz+sLx)模P,作为l[i];
计算z^2模P_1的值再乘以n2,作为z2n;
计算aR[i]+z,作为arz;
计算(arz+sR[i]*x mod P_1)*ny+z2n模P_1,作为r[i];
计算l[i]*r[i],作为lr;
计算tv+lr模P_1,作为tv;
计算ny*sR[i]模P_1,作为ysR;
计算aLz*ysR模P_1,作为aLzysR;
计算(ny*arz+z2n) mod P_1模sL[i],作为n2nyaRzsl;
计算t1+(aLzysR*n2nyaRzsl mod P_1),作为t1;
计算t2+sL[i]*ysR模P_1,作为t2;
计算n2*2模P_1,作为n2;
计算ny*y模P_1,作为ny;
(28)计算(G1^t1 mod P)*(H^tao1 mod P)模P,作为T1;
(29)计算(G1^t2 mod P)*(H^tao2 mod P)模P ,作为T2;
(30)计算(x^2 mod P_1)*tao2,作为x2tao2;
(31)计算(z^2 mod P_1)*r,作为z2gama;
(32)计算x2tao2+x*tao1+z2gama模P_1,作为tao_x;
(33)计算rou*x+alpha模P_1,作为miu;
(34)令n等于limit;
(35)rp={n, tao_x,A,S,T1,T2,miu,l,r,g,h}即为范围证明;
所述发送方将所需监管内容包括发送方接收方的隐私信息及交易数据使用监管方公钥加密,生成密文e;
所述接收方验证会计平衡证明,包括:
接收方使用找零承诺CM_R,转账承诺CM_S,总承诺 CM_O,公钥pub={G1,G2,H,P},所述会计平衡证明bp={c,R_v,R_r,S_v,S_r,S_or},包括:
(1)计算G1^R_v模P,作为g1rv;
(2)计算H^R_r模P,作为hrr;
(3)计算CM_R^c模P,作为cmrc;
(4)计算(g1rv*hrr (mod P))*cmrc模P,作为t1_v;
(5)计算G1^S_v模P,作为g1sv;
(6)计算H^S_r模P,作为hsr;
(7)计算CM_S^c模P,作为cmsc;
(8)计算(g1sv*hsr (mod P))*cmsc模P,作为t2_v;
(9)计算R_v+S_v,作为rvsv;
(10)计算G1^rvsv模P,作为g1rvsv;
(11)计算H^S_or模P,作为hsor;
(12)计算CM_O^c模P,作为cmoc;
(13)计算(g1rvsv*hsor (mod P))*cmoc模P,作为t3_v;
(14)拼接t1_v、t2_v、t3_v后计算其哈希值后模P,作为c_v;
(15)判断c_v是否等于0,如果是,则验证通过,否则验证不通过;
所述接收方验证格式正确证明,包括:
接收方使用公钥pub={G1,G2,H,P},公钥pub对内容加密得到的密文C={c1,c2},格式正确证明fp={c,z1,z2},包括:
(1)计算c2^c模P,作为c1c;
(2)计算G1^z1模P,作为g1z1;
(3)计算H^z2模P,作为hz2;
(4)计算clc * g1z1模P,作为c1c;
(5)计算c1c*hz2模P,作为t1_v;
(6)计算c1^c模P,作为c2c;
(7)计算G2^z2模P,作为g2z2;
(8)计算c2c*g2z2模P,作为t2_v;
(9)拼接t1_v、t2_v后计算其哈希值后模P,作为c_v;
(10)判断c_v是否等于0,如果是,则验证通过,否则验证不通过;
所述接收方使用公钥pub_S={pub1.G1,pub1.G2,pub1.H,pub1.P},pub_R={pub2.G1,pub2.G2,pub2.H,pub2.P},密文C1={C1.c1,C1.c2},密文C2={C2.c1,C2.c2},所述相等证明ep={s,t}验证相等证明,包括:
(1)取接收方公钥字段P,计算C1.C2*C2.C2模P,作为y;
(2)令g为长度为4的数组,其中填充数组{pub1.G1, pub2.G1, pub1.H, pub2.H};
(3)将pub_S更名为pub;
(4)令a为长度为4的数组,其中填充数组{1,-1,0,0};
(5)声明b等于0;
(6)取接收方公钥字段P,计算P-1,作为P_1;
(7)声明c_mash为无限长空数组;
(8)遍历g,使每次遍历值为gi,在每次迭代中将gi加入c_mash中;
(9)将y、lp.t依次加入到c_mash中;
(10)计算c_mash的哈希值,作为c;
(11)计算c模P的值,作为c_bi;
(12)令新变量t_verify的值为y;
(13)计算t_verify^c_bi模P,作为t_verify;
(14)遍历g,使每次遍历值为gi,在第i次迭代中执行如下步骤:
计算gi^lp.s[i]模P的值,作为buf;
计算t_verify*buf模P的值,作为t_verify;
(15)判断t_verify是否等于lp.t,若等于,则继续执行如下步骤,否则验证失败,终止流程;
(16)计算-c_bi*b,作为cb;
(17)声明新变量mix等于0;
(18)遍历a,使每次遍历值为ai;
计算ai*lp.s[i]模P_1的值,作为aisi;
计算mix+aisi模P_1的值,作为mix;
(19)判断mix是否等于cb,若等于,则验证成功,否则验证成失败;
所述接收方验证范围证明,包括:
接收方使用金额v,密文C={C1,C2},公钥pub={G1,G2,H,P},范围证明rp={n, tao_x,A,S,T1,T2,miu,l,r,g,h}验证相等证明,包括:
(1)取接收方公钥字段P,计算P-1,作为P_1;
(2)取接收方公钥字段P,计算P-2,作为P_2;
(3)声明l、r、g、h为长度为n的数组;
(4)令新变量V等于C2;
(5)令新变量tv等于0;
(6)循环n次,在第i次循环中,执行如下步骤:
计算 (tv+l[i]*r[i])模P_1,作为tv;
(7)声明长度为2的数组AS,填充元素{A,B};
(8)对数组As取哈希,作为y_bytes;
(9)声明长度为2的数组ASy,填充元素{AS,y_bytes};
(10)对数组Asy取哈希,作为z_bytes;
(11)声明长度为2的数组ASyz,填充元素{ASy,z_bytes};
(12)对数组Asyz取哈希,作为x_bytes;
(13)计算x_bytes模P_1,作为x;
(14)计算y_bytes模P_1,作为y;
(15)计算z_bytes模P_1,作为z;
(16)声明h_为长为n的空数组;
(17)计算y^P_2模P_1,作为y_inv;
(18)计算y^P_1模P,作为y_2p;
(19)计算y*y_inv模P_1,作为vf;
(20)令新变量y_1等于1;
(21)循环n次,在第i次循环中执行如下步骤:
计算h[i]^y_1模P,作为h_[i];
计算y_1*y_inv模P_1,作为y_1;
(22)计算H^tao_x模P,作为htaox;
(23)计算(G1^tv mod P)*htaox模P,作为left;
(24)计算z^2模P_1,作为z2;
(25)计算z^3模P_1,作为z3;
(26)计算y^rp.n模P_1的值减1,作为ny_1;
(27)计算y - 1的值,作为y_x1;
(28)计算y_x1模P_1的逆元,作为y_x1;
(29)计算ny_1 ^ y_x1模P_1,作为ny_1;
(30)计算z - z2模P_1,作为z_z2;
(31)计算z_z2 * ny_1,作为ibx;
(32)计算2 ^ rp.n模P_1,作为n_1_2;
(33)计算z3 * n_1_2,作为z3n12;
(34)计算ibx - z3n12,作为ibx;
(35)计算pub.G1 ^ ibx模P,作为gibx;
(36)计算( V ^ z2 mod (P) ) * gibx模P,作为right;
(37)计算x * x,作为x2;
(38)计算T1 ^ x模P,作为T1x;
(39)计算T2 ^ x2模P,作为T2x2;
(40)计算(right*T1x mod P)*T2x2模P,作为right;
(41)判断left是否等于right,若等于,则继续执行如下步骤,否则验证失败,终止流程;
(42)计算S ^ x模P,作为p;
(43)p = mod P 计算p * A模P,作为p;
(44)声明变量gz等于1 ; h_mix等于1 ; n2等于1 ; ny等于1;
(45)循环n次,在第i次循环中,执行如下步骤:
计算g[i] ^ z模P,作为gz_inv;
计算gz_inv模P的逆元乘以gz,作为gz;
计算z * ny + z2 * n2,作为mix;
计算h_[i] ^ mix模P,作为mix;
计算h_mix * mix模P,作为h_mix;
计算n2 * 2模P_1,作为n2;
计算ny * y模P_1,作为ny;
(46)计算p * gz模P,作为p;
(47)计算p * h_mix模P,作为p;
(48)计算H ^ miu模P,作为P_check;
(49)循环 rp.n 次,在第i次循环中,执行如下步骤:
gl = mod P 计算g[i] ^ l[i]模P,作为gl;
计算h[i] ^ r[i]模P,作为hr;
计算P_check * gl模P,作为P_check;
计算P_check * hr模P,作为P_check;
(50)判断P是否等于P_check,若等于,则范围证明验证通过,否则验证不通过;
所述监管方验证密文e,若验证通过,则此次交易合法有效,否则认为交易无效,抛弃此交易。
2.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1所述零知识证明隐私保护方法,四个证明流程是:
(1)会计平衡证明:证明发送方消费总金额等于发送金额与找零金额相等;
(2)格式正确证明:证明承诺格式为标准承诺格式;
(3)范围证明:证明发送方消费总金额、发送金额、找零金额均大于零;
(4)相等证明:证明密文所对应的明文和承诺所对应的明文相等。
3.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1所述零知识证明隐私保护方法,
四个证明流程是:
(1)会计平衡证明:证明发送方消费总金额等于发送金额与找零金额相等;
(2)格式正确证明:证明承诺格式为标准承诺格式;
(3)范围证明:证明发送方消费总金额、发送金额、找零金额均大于零;
(4)相等证明:证明密文所对应的明文和承诺所对应的明文相等。
4.一种应用如权利要求1所述的零知识证明隐私保护方法的零知识证明隐私保护***,其特征在于,所述零知识证明隐私保护***包括:
会计平衡证明模块,用于证明发送方消费总金额等于发送金额与找零金额相等;
格式正确证明模块,用于证明承诺格式为标准承诺格式;
范围证明模块,用于证明发送方消费总金额、发送金额、找零金额均大于零;
相等证明模块,用于证明密文所对应的明文和承诺所对应的明文相等。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110132123.0A CN112765668B (zh) | 2021-01-31 | 2021-01-31 | 一种零知识证明隐私保护方法、***、存储介质、设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110132123.0A CN112765668B (zh) | 2021-01-31 | 2021-01-31 | 一种零知识证明隐私保护方法、***、存储介质、设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112765668A CN112765668A (zh) | 2021-05-07 |
CN112765668B true CN112765668B (zh) | 2023-01-03 |
Family
ID=75704244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110132123.0A Active CN112765668B (zh) | 2021-01-31 | 2021-01-31 | 一种零知识证明隐私保护方法、***、存储介质、设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112765668B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114580029A (zh) * | 2022-04-28 | 2022-06-03 | 浙江甲骨文超级码科技股份有限公司 | 一种区块链数字资产隐私保护方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110011781A (zh) * | 2019-03-04 | 2019-07-12 | 华中科技大学 | 一种用于交易金额加密且支持零知识证明的同态加密方法 |
CN110473105A (zh) * | 2019-08-20 | 2019-11-19 | 深圳市网心科技有限公司 | 一种区块链交易结算方法、***及相关设备 |
CN110933045A (zh) * | 2019-11-08 | 2020-03-27 | 中国电子科技网络信息安全有限公司 | 一种基于承诺的区块链数字资产隐私保护方法 |
CN111966976A (zh) * | 2020-07-22 | 2020-11-20 | 复旦大学 | 一种基于零知识证明与区块链的匿名调查方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11475444B2 (en) * | 2019-04-25 | 2022-10-18 | Consensys Software Inc. | Systems and methods for anonymous cryptocurrency transactions |
-
2021
- 2021-01-31 CN CN202110132123.0A patent/CN112765668B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110011781A (zh) * | 2019-03-04 | 2019-07-12 | 华中科技大学 | 一种用于交易金额加密且支持零知识证明的同态加密方法 |
CN110473105A (zh) * | 2019-08-20 | 2019-11-19 | 深圳市网心科技有限公司 | 一种区块链交易结算方法、***及相关设备 |
CN110933045A (zh) * | 2019-11-08 | 2020-03-27 | 中国电子科技网络信息安全有限公司 | 一种基于承诺的区块链数字资产隐私保护方法 |
CN111966976A (zh) * | 2020-07-22 | 2020-11-20 | 复旦大学 | 一种基于零知识证明与区块链的匿名调查方法 |
Non-Patent Citations (5)
Title |
---|
DAPS: A Decentralized Anonymous Payment Scheme with Supervision;zhaoyang wang等;《Algorithms and Architecture for Parallel Processing》;20201202;全文 * |
Enabling Privacy and Traceability in Supply Chains using Blockchain and Zero Knowledge Proofs;Shubham Sahai等;《2020 IEEE International Conference on Blockchain (Blockchain)》;20201211;全文 * |
区块链隐私保护技术;刘滋润等;《计算机工程与设计》;20190630(第06期);全文 * |
基于身份自证实的秘密共享方案;裴庆祺等;《计算机学报》;20100131(第01期);全文 * |
基于零知识证明的区块链隐私保护算法;李龚亮等;《华中科技大学学报(自然科学版)》;20200731;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112765668A (zh) | 2021-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240054437A1 (en) | Blockchain-Based Authentication And Authorization | |
Eckey et al. | Optiswap: Fast optimistic fair exchange | |
Wang et al. | Privacy-preserving public auditing for data storage security in cloud computing | |
Wei et al. | SecCloud: Bridging secure storage and computation in cloud | |
Awadallah et al. | An integrated architecture for maintaining security in cloud computing based on blockchain | |
US20200250655A1 (en) | Efficient, environmental and consumer friendly consensus method for cryptographic transactions | |
US20190305968A1 (en) | Human-solved puzzles as proof-of-work for blockchain | |
KR20210017432A (ko) | 블록체인 기반 개인정보 관리 장치 및 방법 | |
CN111861480B (zh) | 一种流量检测模型交易方法、装置、电子设备及存储介质 | |
Li et al. | A decentralized and secure blockchain platform for open fair data trading | |
EP4092984A1 (en) | Data processing method and apparatus, device and medium | |
Oppermann et al. | Secure cloud computing: Reference architecture for measuring instrument under legal control | |
US8117456B2 (en) | Network system, server and information terminal for list matching | |
Zheng et al. | A novel insurance claim blockchain scheme based on zero-knowledge proof technology | |
Wang et al. | A Fair and Privacy‐Preserving Image Trading System Based on Blockchain and Group Signature | |
CN112765668B (zh) | 一种零知识证明隐私保护方法、***、存储介质、设备 | |
Liang et al. | Decentralized crowdsourcing for human intelligence tasks with efficient on-chain cost | |
Peters et al. | IT Security for measuring instruments: Confidential checking of software functionality | |
Zhang et al. | A dual auditing protocol for fine-grained access control in the edge-cloud-based smart home | |
CN116527322A (zh) | 基于区块链和隐私计算的联合征信方法及装置 | |
KR102494873B1 (ko) | 일반 연산 검증용 영지식 증명 서킷 기반 가상머신을 구현하기 위한 거래 수행장치 | |
Zhang et al. | OWL: A data sharing scheme with controllable anonymity and integrity for group users | |
CN114026586A (zh) | 用于授予对加密资产的访问权的零知识或有支付协议 | |
US11263063B1 (en) | Methods and systems for device-specific event handler generation | |
US11856095B2 (en) | Apparatus and methods for validating user data by using cryptography |
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 | ||
CB02 | Change of applicant information |
Address after: 710071 Xi'an Electronic and Science University, 2 Taibai South Road, Shaanxi, Xi'an Applicant after: XIDIAN University Applicant after: Xi'an Lianrong Technology Co.,Ltd. Address before: 710071 Xi'an Electronic and Science University, 2 Taibai South Road, Shaanxi, Xi'an Applicant before: XIDIAN University Applicant before: XI'AN XIDIAN LIANRONG TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |