CN111159745A - 一种适用于区块链的验证方法及装置 - Google Patents
一种适用于区块链的验证方法及装置 Download PDFInfo
- Publication number
- CN111159745A CN111159745A CN201911404391.2A CN201911404391A CN111159745A CN 111159745 A CN111159745 A CN 111159745A CN 201911404391 A CN201911404391 A CN 201911404391A CN 111159745 A CN111159745 A CN 111159745A
- Authority
- CN
- China
- Prior art keywords
- ciphertext
- encryption
- sub
- encrypted
- substitute
- 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
Links
- 238000012795 verification Methods 0.000 title claims abstract description 66
- 238000000034 method Methods 0.000 title claims abstract description 34
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 13
- 238000012545 processing Methods 0.000 claims description 13
- 238000005516 engineering process Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
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/602—Providing cryptographic facilities or services
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种适用于区块链的验证方法及装置,其中方法为:加密节点按照预设的加密算法,通过主公钥、N个加密干扰值和q阶循环群中不同的生成元对待加密信息进行加密,得到加密密文;所述加密节点按照所述加密算法,通过所述N个替代加密干扰值和所述生成元对所述替代加密信息进行加密,得到替代加密密文,所述加密节点将所述加密密文和密文格式证明上传至区块链。上述方法应用于金融科技(Fintech)时,从而通过密文格式证明,可以在不暴露待加密信息和N个替代加密干扰值的基础上,即可验证加密密文的加密正确性。
Description
技术领域
本发明涉及金融科技(Fintech)领域和区块链(Blockchain)领域,尤其涉及一种适用于区块链的验证方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。目前,金融科技领域中,金融数据的安全至关重要,所以在传输过程中需要对金融数据进行加密。
现有技术中,Elgamal加密算法(基于迪菲-赫尔曼密钥交换的非对称加密算法)是一种常用的加密方法。但是,目前的Elgamal加密算法加密后,仅能得到一条密文,但却不能对密文的加密正确性验证;这是一个亟待解决的问题。
发明内容
本申请实施例提供一种适用于区块链的验证方法及装置,解决了现有技术中不能对密文的加密正确性验证的问题。
第一方面,本申请实施例提供一种适用于区块链的验证方法:加密节点按照预设的加密算法,通过主公钥、N个加密干扰值和q阶循环群中不同的生成元对待加密信息进行加密,得到加密密文;所述加密密文包括N+1个子密文;所述主公钥是根据各解密节点的私钥确定的;所述主公钥和所述生成元记录于所述区块链中;q为素数;N为正整数;所述加密节点确定所述待加密信息的替代加密信息及所述N个加密干扰值对应的N个替代加密干扰值;所述加密节点按照所述加密算法,通过所述N个替代加密干扰值和所述生成元对所述替代加密信息进行加密,得到替代加密密文,所述替代加密密文包括N+1个替代子密文;所述加密节点按照预设的哈希算法对所述N+1个替代子密文进行哈希运算,得到初始验证值;所述加密节点针对每个替代子密文,根据所述初始验证值、所述替代子密文、所述替代子密文对应的加密干扰值和所述替代子密文对应的子密文生成所述替代子密文的子验证值;所述加密节点将所述加密密文和密文格式证明上传至区块链,所述密文格式证明包括所述初始验证值和每个替代子密文的子验证值;所述密文格式证明用于验证所述加密密文的加密正确性。
一种可选实施方式中,所述N个加密干扰值为从1至q-1的q-1个整数中随机选择的N个不同的整数;所述生成元包括q阶椭圆曲线上的两个生成元G1和G2;所述主公钥H=Σx_i*G2,x_i为第i个解密节点的私钥;i为正整数。
一种可选实施方式中,所述加密节点按照所述加密算法,根据所述N个加密干扰值、主公钥和所述生成元,对所述待加密消息进行加密获得所述加密密文,包括:
通过如下公式获得每个子密文和所述加密密文:
C1=(m*G1+(r1+r2+……+rn)*H)mod q;
C2=(r1*G2)mod q;
……
Cn+1=(rn*G2)mod q;
E=(C1,C2,……Cn+1);
其中,mod表示取模运算,E为所述加密密文;C1、C2……Cn+1为N+1个子密文;m为所述待加密信息;r1、r2……rn为所述N个加密干扰值。
一种可选实施方式中,所述加密节点按照预设的哈希算法对所述N+1个替代子密文进行哈希运算,得到初始验证值,包括:
c=Hash(t1_p,t2_p,……tn+1_p);其中,t1_p=(a*G1+(b 1+b2+……+bn)*H)modq;
t2_p=(b1*G2)mod q;
t3_p=(b2*G2)mod q;
……
tn+1_p=(bn*G2)mod q;
其中,c为所述初始验证值;t1_p、t2_p……tn+1_p为所述N+1个替代子密文;a为所述替代加密消息;b1、b2……bn为所述N个替代加密干扰值;Hash为所述哈希算法。
一种可选实施方式中,所述加密节点针对每个替代子密文,根据所述初始验证值、所述替代子密文、所述替代子密文对应的加密干扰值和所述替代子密文对应的子密文生成所述替代子密文的子验证值,包括:
Z1=(a-c*m)mod q;
Z2=(b1-c*r1)mod q;
Z3=(b2-c*r2)mod q;
……
Zn+1=(bn-c*rn)mod q;
其中,Z1、Z2、Z3……Zn+1为所述替代子密文的子验证值;r1、r2、r3……rn为所述N个替代加密干扰值。
一种可选实施方式中,N为1。
第二方面,本申请提供一种适用于区块链的验证装置,包括:加密模块,用于按照预设的加密算法,通过主公钥、N个加密干扰值和q阶循环群中不同的生成元对待加密信息进行加密,得到加密密文;所述加密密文包括N+1个子密文;所述主公钥是根据各解密节点的私钥确定的;所述主公钥和所述生成元记录于所述区块链中;q为素数;N为正整数;确定模块,用于确定所述待加密信息的替代加密信息及所述N个加密干扰值对应的N个替代加密干扰值;所述加密模块,还用于按照所述加密算法,通过所述N个替代加密干扰值和所述生成元对所述替代加密信息进行加密,得到替代加密密文,所述替代加密密文包括N+1个替代子密文;处理模块,用于按照预设的哈希算法对所述N+1个替代子密文进行哈希运算,得到初始验证值;所述处理模块,还用于针对每个替代子密文,根据所述初始验证值、所述替代子密文、所述替代子密文对应的加密干扰值和所述替代子密文对应的子密文生成所述替代子密文的子验证值;将所述加密密文和密文格式证明上传至区块链,所述密文格式证明包括所述初始验证值和每个替代子密文的子验证值;所述密文格式证明用于验证所述加密密文的加密正确性。
一种可选实施方式中,所述N个加密干扰值为从1至q-1的q-1个整数中随机选择的N个不同的整数;所述生成元包括q阶椭圆曲线上的两个生成元G1和G2;所述主公钥H=Σx_i*G2,x_i为第i个解密节点的私钥;i为正整数。
一种可选实施方式中,所述加密模块具体用于:通过如下公式获得每个子密文和所述加密密文:
C1=(m*G1+(r1+r2+……+rn)*H)mod q;
C2=(r1*G2)mod q;
……
Cn+1=(rn*G2)mod q;
E=(C1,C2,……Cn+1);
其中,mod表示取模运算,E为所述加密密文;C1、C2……Cn+1为N+1个子密文;m为所述待加密信息;r1、r2……rn为所述N个加密干扰值。
一种可选实施方式中,所述处理模块具体用于:c=Hash(t1_p,t2_p,……tn+1_p);其中,
t1_p=(a*G1+(b 1+b2+……+bn)*H)mod q;
t2_p=(b1*G2)mod q;
t3_p=(b2*G2)mod q;
……
tn+1_p=(bn*G2)mod q;
其中,c为所述初始验证值;t1_p、t2_p……tn+1_p为所述N+1个替代子密文;a为所述替代加密消息;b1、b2……bn为所述N个替代加密干扰值;Hash为所述哈希算法。
一种可选实施方式中,所述处理模块具体用于:
Z1=(a-c*m)mod q;
Z2=(b1-c*r1)mod q;
Z3=(b2-c*r2)mod q;
……
Zn+1=(bn-c*rn)mod q;
其中,Z1、Z2、Z3……Zn+1为所述替代子密文的子验证值;r1、r2、r3……rn为所述N个替代加密干扰值。
一种可选实施方式中,N为1。
第三方面,本申请实施例提供一种计算机设备,包括程序或指令,当所述程序或指令被执行时,用以执行上述第一方面及第一方面各个实施例的方法。
第四方面,本申请实施例提供一种存储介质,包括程序或指令,当所述程序或指令被执行时,用以执行上述第一方面及第一方面各个实施例的方法。
本申请实施例提供一种是用于区块链的验证方法及装置中,加密节点按照预设的加密算法,通过主公钥、N个加密干扰值和q阶循环群中不同的生成元对待加密信息进行加密,得到加密密文后,又确定所述待加密信息的替代加密信息及所述N个加密干扰值对应的N个替代加密干扰值,同样再按照所述加密算法,通过所述N个替代加密干扰值和所述生成元对所述替代加密信息进行加密,得到另一份做了同样运算的替代加密密文,并根据替代加密密文的N+1个替代子密文生成初始验证值,进而生成每个替代子密文的子验证值,从而通过密文格式证明,可以在不暴露待加密信息和N个替代加密干扰值的基础上,即可验证加密密文的加密正确性。
附图说明
图1为区块链的结构示意图;
图2为本申请实施例提供的一种适用于区块链的验证方法的步骤流程示意图;
图3为本申请实施例提供的一种适用于区块链的验证装置的结构示意图。
具体实施方式
为了更好的理解上述技术方案,下面将结合说明书附图及具体的实施方式对上述技术方案进行详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互结合。
下面首先解释本申请实施例中出现的名词。
区块链:如图1所示,区块链是由一系列区块组成的一条链,每个块上除了记录本块的数据还会记录上一块的哈希值,通过这种方式组成一条链。区块链的核心理念有两个,一个是密码学技术,另一个是去中心化思想,基于这两个理念做到区块链上的历史信息无法被篡改。
节点:网络中的每一个参与者就是一个节点,节点参与网络组建和数据交换。在区块链网络中,一个节点是指一个具有唯一身份的参与者,该节点具有一份完整的账本拷贝,具有参与区块链网络共识和账本维护的能力。
零知识证明:零知识证明指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。零知识证明实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。
在金融机构(银行机构、保险机构或证券机构)在进行业务(如银行的贷款业务、存款业务等)运转过程中,金融数据的安全至关重要,所以在传输过程中需要对金融数据进行加密。目前的Elgamal加密算法加密后,仅能得到一条密文,但却不能对密文的加密正确性验证。这种情况不符合银行等金融机构的需求,无法保证金融机构各项业务的高效运转。
为此,如图2所示,根据零知识证明的性质,本申请提供一种适用于区块链的验证方法。
步骤201:加密节点按照预设的加密算法,通过主公钥、N个加密干扰值和q阶循环群中不同的生成元对待加密信息进行加密,得到加密密文。
步骤202:所述加密节点确定所述待加密信息的替代加密信息及所述N个加密干扰值对应的N个替代加密干扰值。
步骤203:所述加密节点按照所述加密算法,通过所述N个替代加密干扰值和所述生成元对所述替代加密信息进行加密,得到替代加密密文。
所述替代加密密文包括N+1个替代子密文。
步骤204:所述加密节点按照预设的哈希算法对所述N+1个替代子密文进行哈希运算,得到初始验证值。
步骤205:所述加密节点针对每个替代子密文,根据所述初始验证值、所述替代子密文、所述替代子密文对应的加密干扰值和所述替代子密文对应的子密文生成所述替代子密文的子验证值。
步骤206:所述加密节点将所述加密密文和密文格式证明上传至区块链,所述密文格式证明包括所述初始验证值和每个替代子密文的子验证值。
所述密文格式证明用于验证所述加密密文的加密正确性。
步骤201中,所述加密密文包括N+1个子密文;所述主公钥是根据各解密节点的私钥确定的;所述主公钥和所述生成元记录于所述区块链中;q为素数;N为正整数。其中,如果为了保证q中的整数足够多,不至于随机取数时容易出现重复,q可以为大素数,大素数指2^256位的数量级的素数。q阶循环群可以为q阶椭圆曲线循环群。
所述N个加密干扰值可以为随机取值,在一种可选实施方式中,所述N个加密干扰值为从1至q-1的q-1个整数中随机选择的N个不同的整数;所述生成元包括q阶椭圆曲线上的两个生成元G1和G2;所述主公钥H=Σx_i*G2,x_i为第i个解密节点的私钥;i为正整数。
具体来说,可以在步骤201之前,进行如下初始化流程:
(1)所有解密节点拥有一个q阶椭圆曲线循环群G,其中q为大素数,循环群G可看作q个椭圆曲线点的集合。
(2)所有解密节点需要在循环群G中随机选择两个独立的椭圆曲线点作为生成元G1、G2。
(3)所以每个解密节点都需要从{1,2,…q-1}中随机选择一个数,作为自己的一个子密文x_i;每个解密节点计算(x_i*G2)mod q,作为主公钥H的一部分,发送到区块链。其中,q为取模运算。其中,x_i*G:表示标量x_i与q阶椭圆曲线的任一点G2的点乘运算。
(4)所以主公钥H需组合构造,即每个解密节点计算(Σx_i*G2)mod q=(x*G2)modq=H,其中主秘密x为所有子密文x_i之和。
(5)所有解密节点公布公钥:G1、G2、H,保留子密文x_i作为每个解密节点的私钥。
步骤201的一种可选实施方式中,步骤201具体可以为:
通过如下公式获得每个子密文和所述加密密文:
C1=(m*G1+(r1+r2+……+rn)*H)mod q;
C2=(r1*G2)mod q;
……
Cn+1=(rn*G2)mod q;
E=(C1,C2,……Cn+1);
其中,mod表示取模运算,E为所述加密密文;C1、C2……Cn+1为N+1个子密文;m为所述待加密信息;r1、r2……rn为所述N个加密干扰值。
特别地,当N取1时,N个加密干扰值为一个随机数r,上述可选实施方式可以为:
(1)加密节点P确定待加密消息m。
(2)加密节点P从{1,2,…q-1}中选择随机数r。
(3)加密节点P利用Elgamal加密算法加密待加密消息m得到加密密文E=(C1,C2)=(m*G1+r*H,r*G2),其中G1、G2为初始化流程中q阶循环群G的两个生成元,H为初始化流程中的主公钥。
步骤203的一种可选实施方式中,可以通过如下公式得到替代加密密文的N+1个替代子密文:
t1_p=(a*G1+(b 1+b2+……+bn)*H)mod q;
t2_p=(b1*G2)mod q;
t3_p=(b2*G2)mod q;
……
tn+1_p=(bn*G2)mod q;
t1_p、t2_p……tn+1_p为所述N+1个替代子密文;a为所述替代加密消息;b1、b2……bn为所述N个替代加密干扰值;Hash为所述哈希算法。
特别地,N为1时,N个替代加密干扰值为随机数b,上述可选实施方式为:
t1_p=(a*G1+b*H)mod q,t2_p=(b*G2)mod q。
上述实施方式适用于加密节点P利用密文格式证明生成算法对加密密文生成密文格式证明format_proof的情景。其中format_proof的内容为“密文E中y1=m*G1+r*H和y2=r*G2中的r是相等的”。即加密节点需证明y=m*G1+r1*H+r2*G2中的m、r1、r2满足关系0*m+r1-r2=0。其中G1,G2,H,y1,y2为公开参数。可表示为:(y1,y2,G1,G2,H)→(format_proof);其中(input)→(output):表示函数或算法输入为input,输出为output。
因此,步骤204的一种可选实施方式中,步骤204具体可以为:
c=Hash(t1_p,t2_p,……tn+1_p);其中,
t1_p=(a*G1+(b 1+b2+……+bn)*H)mod q;
t2_p=(b1*G2)mod q;
t3_p=(b2*G2)mod q;
……
tn+1_p=(bn*G2)mod q;
其中,c为所述初始验证值;t1_p、t2_p……tn+1_p为所述N+1个替代子密文;a为所述替代加密消息;b1、b2……bn为所述N个替代加密干扰值;Hash为所述哈希算法。
步骤205的一种可选实施方式中,步骤205具体可以为:
Z1=(a-c*m)mod q;
Z2=(b1-c*r1)mod q;
Z3=(b2-c*r2)mod q;
……
Zn+1=(bn-c*rn)mod q;
其中,Z1、Z2、Z3……Zn+1为所述替代子密文的子验证值;r1、r2、r3……rn为所述N个替代加密干扰值。
特别地,N为1时,上述实施方式具体可以为:
Z1=a-c*m,Z2=b-c*r。
密文格式证明具体可以为format_proof=(c,Z1,Z2)。
步骤206中,加密节点将所述加密密文和密文格式证明上传至区块链,从而实现对用户数据安全可信的公开多方保存,因此,可以支持在保证数据隐私的前提下,解密节点对区块链上的密文进行验证。
具体来说,一种情形可以为加密节点将加密结果E及离散对数密文格式零知识证明format_proof公布于区块链上,在保证消息m隐私的前提下供所有解密节点验证密文格式的正确性。
具体来说,验证者在区块链上查询得到密文E及零知识密文格式证明format_proof,通过密文格式证明验证算法验证加密者公布的密文格式证明format_proof。可以表示为(y1,y2,G1,G2,H,format_proof)→(bool),具体来说,解密节点验证的方式如下,构造以下验证值:t1_v,t2_v,t3_v……tn+1_v。
t1_v=c*C1+z1*G1+(z2+z3+……+zn+1)*H;
t2_v=c*C2+z2*G2;
t3_v=c*C3+z3*G2;
……
tn+1_v=c*Cn+1+zn+1*G2。
检验c=?Hash(t1_v,t2_v,t3_v……tn+1_v);其中,=?表示判断是否相等,c为所述初始验证值,若相等,则确定加密密文是按照预设的加密算法,通过主公钥、N个加密干扰值和q阶循环群中不同的生成元对待加密信息进行加密得到的。
特殊地,当N为1时,上述实施方式具体为:
t1_v=c*C1+z1*G1+z2*H;
t2_v=c*C2+z1*G2。
检验c=?Hash(t1_v,t2_v)。
如图3所示,本申请提供一种适用于区块链的验证装置,包括:加密模块301,用于按照预设的加密算法,通过主公钥、N个加密干扰值和q阶循环群中不同的生成元对待加密信息进行加密,得到加密密文;所述加密密文包括N+1个子密文;所述主公钥是根据各解密节点的私钥确定的;所述主公钥和所述生成元记录于所述区块链中;q为素数;N为正整数;确定模块302,用于确定所述待加密信息的替代加密信息及所述N个加密干扰值对应的N个替代加密干扰值;所述加密模块301,还用于按照所述加密算法,通过所述N个替代加密干扰值和所述生成元对所述替代加密信息进行加密,得到替代加密密文,所述替代加密密文包括N+1个替代子密文;处理模块303,用于按照预设的哈希算法对所述N+1个替代子密文进行哈希运算,得到初始验证值;所述处理模块303,还用于针对每个替代子密文,根据所述初始验证值、所述替代子密文、所述替代子密文对应的加密干扰值和所述替代子密文对应的子密文生成所述替代子密文的子验证值;将所述加密密文和密文格式证明上传至区块链,所述密文格式证明包括所述初始验证值和每个替代子密文的子验证值;所述密文格式证明用于验证所述加密密文的加密正确性。
一种可选实施方式中,所述N个加密干扰值为从1至q-1的q-1个整数中随机选择的N个不同的整数;所述生成元包括q阶椭圆曲线上的两个生成元G1和G2;所述主公钥H=Σx_i*G2,x_i为第i个解密节点的私钥;i为正整数。
一种可选实施方式中,所述加密模块301具体用于:通过如下公式获得每个子密文和所述加密密文:
C1=(m*G1+(r1+r2+……+rn)*H)mod q;
C2=(r1*G2)mod q;
……
Cn+1=(rn*G2)mod q;
E=(C1,C2,……Cn+1);
其中,mod表示取模运算,E为所述加密密文;C1、C2……Cn+1为N+1个子密文;m为所述待加密信息;r1、r2……rn为所述N个加密干扰值。
一种可选实施方式中,所述处理模块303具体用于:c=Hash(t1_p,t2_p,……tn+1_p);其中,
t1_p=(a*G1+(b 1+b2+……+bn)*H)mod q;
t2_p=(b1*G2)mod q;
t3_p=(b2*G2)mod q;
……
tn+1_p=(bn*G2)mod q;
其中,c为所述初始验证值;t1_p、t2_p……tn+1_p为所述N+1个替代子密文;a为所述替代加密消息;b1、b2……bn为所述N个替代加密干扰值;Hash为所述哈希算法。
一种可选实施方式中,所述处理模块303具体用于:
Z1=(a-c*m)mod q;
Z2=(b1-c*r1)mod q;
Z3=(b2-c*r2)mod q;
……
Zn+1=(bn-c*rn)mod q;
其中,Z1、Z2、Z3……Zn+1为所述替代子密文的子验证值;r1、r2、r3……rn为所述N个替代加密干扰值。
一种可选实施方式中,N为1。
本申请实施例提供一种计算机设备,包括程序或指令,当所述程序或指令被执行时,用以执行本申请实施例提供的一种适用于区块链的验证方法及任一可选方法。
本申请实施例提供一种存储介质,包括程序或指令,当所述程序或指令被执行时,用以执行本申请实施例提供的一种适用于区块链的验证方法及任一可选方法。
最后应说明的是:本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种适用于区块链的验证方法,其特征在于,包括:
加密节点按照预设的加密算法,通过主公钥、N个加密干扰值和q阶循环群中不同的生成元对待加密信息进行加密,得到加密密文;所述加密密文包括N+1个子密文;所述主公钥是根据各解密节点的私钥确定的;所述主公钥和所述生成元记录于所述区块链中;q为素数;N为正整数;
所述加密节点确定所述待加密信息的替代加密信息及所述N个加密干扰值对应的N个替代加密干扰值;
所述加密节点按照所述加密算法,通过所述N个替代加密干扰值和所述生成元对所述替代加密信息进行加密,得到替代加密密文,所述替代加密密文包括N+1个替代子密文;
所述加密节点按照预设的哈希算法对所述N+1个替代子密文进行哈希运算,得到初始验证值;
所述加密节点针对每个替代子密文,根据所述初始验证值、所述替代子密文、所述替代子密文对应的加密干扰值和所述替代子密文对应的子密文生成所述替代子密文的子验证值;
所述加密节点将所述加密密文和密文格式证明上传至区块链,所述密文格式证明包括所述初始验证值和每个替代子密文的子验证值;所述密文格式证明用于验证所述加密密文的加密正确性。
2.如权利要求1所述的方法,其特征在于,所述N个加密干扰值为从1至q-1的q-1个整数中随机选择的N个不同的整数;所述生成元包括q阶椭圆曲线上的两个生成元G1和G2;所述主公钥H=Σx_i*G2,x_i为第i个解密节点的私钥;i为正整数。
3.如权利要求2所述的方法,其特征在于,所述加密节点按照所述加密算法,根据所述N个加密干扰值、主公钥和所述生成元,对所述待加密消息进行加密获得所述加密密文,包括:
通过如下公式获得每个子密文和所述加密密文:
C1=(m*G1+(r1+r2+……+rn)*H)mod q;
C2=(r1*G2)mod q;
……
Cn+1=(rn*G2)mod q;
E=(C1,C2,……Cn+1);
其中,mod表示取模运算,E为所述加密密文;C1、C2……Cn+1为N+1个子密文;m为所述待加密信息;r1、r2……rn为所述N个加密干扰值。
4.如权利要求3所述的方法,其特征在于,所述加密节点按照预设的哈希算法对所述N+1个替代子密文进行哈希运算,得到初始验证值,包括:
c=Hash(t1_p,t2_p,……tn+1_p);其中,
t1_p=(a*G1+(b 1+b2+……+bn)*H)mod q;
t2_p=(b1*G2)mod q;
t3_p=(b2*G2)mod q;
……
tn+1_p=(bn*G2)mod q;
其中,c为所述初始验证值;t1_p、t2_p……tn+1_p为所述N+1个替代子密文;a为所述替代加密消息;b1、b2……bn为所述N个替代加密干扰值;Hash为所述哈希算法。
5.如权利要求4所述的方法,其特征在于,所述加密节点针对每个替代子密文,根据所述初始验证值、所述替代子密文、所述替代子密文对应的加密干扰值和所述替代子密文对应的子密文生成所述替代子密文的子验证值,包括:
Z1=(a-c*m)mod q;
Z2=(b1-c*r1)mod q;
Z3=(b2-c*r2)mod q;
……
Zn+1=(bn-c*rn)mod q;
其中,Z1、Z2、Z3……Zn+1为所述替代子密文的子验证值;r1、r2、r3……rn为所述N个替代加密干扰值。
6.如权利要求1-5任一所述的方法,其特征在于,N为1。
7.一种适用于区块链的验证装置,其特征在于,包括:
加密模块,用于按照预设的加密算法,通过主公钥、N个加密干扰值和q阶循环群中不同的生成元对待加密信息进行加密,得到加密密文;所述加密密文包括N+1个子密文;所述主公钥是根据各解密节点的私钥确定的;所述主公钥和所述生成元记录于所述区块链中;q为素数;N为正整数;
确定模块,用于确定所述待加密信息的替代加密信息及所述N个加密干扰值对应的N个替代加密干扰值;
所述加密模块,还用于按照所述加密算法,通过所述N个替代加密干扰值和所述生成元对所述替代加密信息进行加密,得到替代加密密文,所述替代加密密文包括N+1个替代子密文;
处理模块,用于按照预设的哈希算法对所述N+1个替代子密文进行哈希运算,得到初始验证值;
所述处理模块,还用于针对每个替代子密文,根据所述初始验证值、所述替代子密文、所述替代子密文对应的加密干扰值和所述替代子密文对应的子密文生成所述替代子密文的子验证值;将所述加密密文和密文格式证明上传至区块链,所述密文格式证明包括所述初始验证值和每个替代子密文的子验证值;所述密文格式证明用于验证所述加密密文的加密正确性。
8.如权利要求7所述的装置,其特征在于,所述N个加密干扰值为从1至q-1的q-1个整数中随机选择的N个不同的整数;所述生成元包括q阶椭圆曲线上的两个生成元G1和G2;所述主公钥H=Σx_i*G2,x_i为第i个解密节点的私钥;i为正整数。
9.一种计算机设备,其特征在于,包括程序或指令,当所述程序或指令被执行时,如权利要求1至6中任意一项所述的方法被执行。
10.一种存储介质,其特征在于,包括程序或指令,当所述程序或指令被执行时,如权利要求1至6中任意一项所述的方法被执行。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911404391.2A CN111159745B (zh) | 2019-12-30 | 2019-12-30 | 一种适用于区块链的验证方法及装置 |
PCT/CN2020/129481 WO2021135694A1 (zh) | 2019-12-30 | 2020-11-17 | 一种适用于区块链的验证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911404391.2A CN111159745B (zh) | 2019-12-30 | 2019-12-30 | 一种适用于区块链的验证方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111159745A true CN111159745A (zh) | 2020-05-15 |
CN111159745B CN111159745B (zh) | 2023-04-07 |
Family
ID=70559558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911404391.2A Active CN111159745B (zh) | 2019-12-30 | 2019-12-30 | 一种适用于区块链的验证方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111159745B (zh) |
WO (1) | WO2021135694A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111738857A (zh) * | 2020-06-28 | 2020-10-02 | 深圳前海微众银行股份有限公司 | 应用于区块链的隐匿支付证明的生成与验证方法及装置 |
CN112541197A (zh) * | 2020-12-28 | 2021-03-23 | 深圳前海微众银行股份有限公司 | 一种结果验证方法及装置 |
WO2021135694A1 (zh) * | 2019-12-30 | 2021-07-08 | 深圳前海微众银行股份有限公司 | 一种适用于区块链的验证方法及装置 |
CN113904869A (zh) * | 2021-11-10 | 2022-01-07 | 深圳前海微众银行股份有限公司 | 一种区块链中恶意节点的检测方法及区块链 |
CN113972984A (zh) * | 2020-07-24 | 2022-01-25 | 中国移动通信集团浙江有限公司 | ElGamal密文等价判断方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114785511A (zh) * | 2022-02-25 | 2022-07-22 | 蚂蚁区块链科技(上海)有限公司 | 证明生成方法及装置、电子设备、存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170279783A1 (en) * | 2016-03-28 | 2017-09-28 | Accenture Global Solutions Limited | Secure 3d model sharing using distributed ledger |
CN107666388A (zh) * | 2016-07-28 | 2018-02-06 | 郑珂威 | 基于完全同态加密方法的区块链信息加密方法 |
US20180278410A1 (en) * | 2015-10-09 | 2018-09-27 | Mitsubishi Electric Corporation | Secret search system, management device, secret search method and computer readable medium |
CN108768988A (zh) * | 2018-05-17 | 2018-11-06 | 深圳前海微众银行股份有限公司 | 区块链访问控制方法、设备及计算机可读存储介质 |
CN108898475A (zh) * | 2018-05-08 | 2018-11-27 | 众安信息技术服务有限公司 | 基于属性加密的联盟区块链实现信贷方法及系统 |
US20190213821A1 (en) * | 2018-01-11 | 2019-07-11 | Mastercard International Incorporated | Method and system for public elections on a moderated blockchain |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109559117B (zh) * | 2018-11-14 | 2022-05-20 | 北京科技大学 | 基于属性基加密的区块链合约隐私保护方法与系统 |
CN111159745B (zh) * | 2019-12-30 | 2023-04-07 | 深圳前海微众银行股份有限公司 | 一种适用于区块链的验证方法及装置 |
-
2019
- 2019-12-30 CN CN201911404391.2A patent/CN111159745B/zh active Active
-
2020
- 2020-11-17 WO PCT/CN2020/129481 patent/WO2021135694A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180278410A1 (en) * | 2015-10-09 | 2018-09-27 | Mitsubishi Electric Corporation | Secret search system, management device, secret search method and computer readable medium |
US20170279783A1 (en) * | 2016-03-28 | 2017-09-28 | Accenture Global Solutions Limited | Secure 3d model sharing using distributed ledger |
CN107666388A (zh) * | 2016-07-28 | 2018-02-06 | 郑珂威 | 基于完全同态加密方法的区块链信息加密方法 |
US20190213821A1 (en) * | 2018-01-11 | 2019-07-11 | Mastercard International Incorporated | Method and system for public elections on a moderated blockchain |
CN108898475A (zh) * | 2018-05-08 | 2018-11-27 | 众安信息技术服务有限公司 | 基于属性加密的联盟区块链实现信贷方法及系统 |
CN108768988A (zh) * | 2018-05-17 | 2018-11-06 | 深圳前海微众银行股份有限公司 | 区块链访问控制方法、设备及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
庞辽军等: "一个单方加密-多方解密的公钥加密方案", 《计算机学报》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021135694A1 (zh) * | 2019-12-30 | 2021-07-08 | 深圳前海微众银行股份有限公司 | 一种适用于区块链的验证方法及装置 |
CN111738857A (zh) * | 2020-06-28 | 2020-10-02 | 深圳前海微众银行股份有限公司 | 应用于区块链的隐匿支付证明的生成与验证方法及装置 |
CN111738857B (zh) * | 2020-06-28 | 2021-07-06 | 深圳前海微众银行股份有限公司 | 应用于区块链的隐匿支付证明的生成与验证方法及装置 |
CN113972984A (zh) * | 2020-07-24 | 2022-01-25 | 中国移动通信集团浙江有限公司 | ElGamal密文等价判断方法及装置 |
CN113972984B (zh) * | 2020-07-24 | 2024-03-19 | 中国移动通信集团浙江有限公司 | ElGamal密文等价判断方法及装置 |
CN112541197A (zh) * | 2020-12-28 | 2021-03-23 | 深圳前海微众银行股份有限公司 | 一种结果验证方法及装置 |
CN112541197B (zh) * | 2020-12-28 | 2024-07-09 | 深圳前海微众银行股份有限公司 | 一种结果验证方法及装置 |
CN113904869A (zh) * | 2021-11-10 | 2022-01-07 | 深圳前海微众银行股份有限公司 | 一种区块链中恶意节点的检测方法及区块链 |
CN113904869B (zh) * | 2021-11-10 | 2024-04-19 | 深圳前海微众银行股份有限公司 | 一种区块链中恶意节点的检测方法及区块链 |
Also Published As
Publication number | Publication date |
---|---|
CN111159745B (zh) | 2023-04-07 |
WO2021135694A1 (zh) | 2021-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111159745B (zh) | 一种适用于区块链的验证方法及装置 | |
Sonnino et al. | Coconut: Threshold issuance selective disclosure credentials with applications to distributed ledgers | |
CN109951443B (zh) | 一种云环境下隐私保护的集合交集计算方法及系统 | |
CN111162912B (zh) | 一种适用于区块链的验证方法、装置及存储介质 | |
EP0786178B1 (en) | Secret-key certificates | |
CN108667625B (zh) | 协同sm2的数字签名方法 | |
CN114157427B (zh) | 基于sm2数字签名的门限签名方法 | |
CN110545279A (zh) | 兼具隐私和监管功能的区块链交易方法、装置及系统 | |
Nguyen-Van et al. | Scalable distributed random number generation based on homomorphic encryption | |
CN109768863A (zh) | 一种基于椭圆曲线的区块链密钥共享和动态更新方法 | |
JP2005253083A (ja) | 新しいフェア・ブラインド署名プロセス | |
TWI511517B (zh) | Information processing apparatus, information processing method, program and recording medium | |
CN111030821B (zh) | 一种基于双线性映射技术的联盟链的加密方法 | |
Battagliola et al. | Threshold ecdsa with an offline recovery party | |
Liu et al. | Key-insulated and privacy-preserving signature scheme with publicly derived public key | |
TW202318833A (zh) | 臨界簽章方案 | |
CN111738857A (zh) | 应用于区块链的隐匿支付证明的生成与验证方法及装置 | |
CN108964906B (zh) | 协同ecc的数字签名方法 | |
CN108055134B (zh) | 椭圆曲线点数乘及配对运算的协同计算方法及系统 | |
Battagliola et al. | Provably unforgeable threshold EdDSA with an offline participant and trustless setup | |
Battagliola et al. | A provably-unforgeable threshold eddsa with an offline recovery party | |
Muleravicius et al. | Security, trustworthiness and effectivity analysis of an offline E-cash system with observers | |
TW201325180A (zh) | 資訊處理裝置、署名生成裝置、署名驗證裝置、資訊處理方法、署名生成方法及署名驗證方法 | |
JP2012244232A (ja) | 情報共有システム、方法、装置及びプログラム | |
Boneh et al. | Exponent-VRFs and Their Applications |
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 |