CN112199736A - 一种基于区块链的有序多重签名方法 - Google Patents

一种基于区块链的有序多重签名方法 Download PDF

Info

Publication number
CN112199736A
CN112199736A CN202011081391.6A CN202011081391A CN112199736A CN 112199736 A CN112199736 A CN 112199736A CN 202011081391 A CN202011081391 A CN 202011081391A CN 112199736 A CN112199736 A CN 112199736A
Authority
CN
China
Prior art keywords
signature
signer
intelligent contract
public key
block chain
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
CN202011081391.6A
Other languages
English (en)
Other versions
CN112199736B (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.)
Jiangsu Jingchuang Electronics Co ltd
Nanjing University of Posts and Telecommunications
Original Assignee
Jiangsu Jingchuang Electronics Co ltd
Nanjing University of Posts and Telecommunications
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 Jiangsu Jingchuang Electronics Co ltd, Nanjing University of Posts and Telecommunications filed Critical Jiangsu Jingchuang Electronics Co ltd
Priority to CN202011081391.6A priority Critical patent/CN112199736B/zh
Publication of CN112199736A publication Critical patent/CN112199736A/zh
Application granted granted Critical
Publication of CN112199736B publication Critical patent/CN112199736B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提出了一种基于区块链的有序多重签名方法,首先,签名者生成用于签名的公私钥对,并将公钥作为自己区块链上的地址;其次,数据拥有者生成一个deposit交易,设置保证金金额以及签名时间间隔,同时将需要签名的签名者公钥进行聚合以及生成签名顺序,并将这些消息公开;然后,每个签名者依次对文件签名,通过生成用于此次签名的部分公钥来保证签名安全性,签名完成后发送给智能合约以及下一签名者;当智能合约通过签名后,签名者通过deposit交易用于生成claim交易,拿回保证金;最后,由智能合约将最终的签名发送给数据拥有者。本发明通过使用聚合公钥减少了签名的验证时间以及基于罚金机制的公平交换协议保证签名过程中的高效。

Description

一种基于区块链的有序多重签名方法
技术领域
本发明提出一种基于区块链的有序多重签名方法,属于信息安全领域。
背景技术
随着现代信息技术的飞速发展,如今签署合同更多的是依赖于互联网去完成,签署双方可以通过电子签名的形式,由第三方认证来达成合同签署,这在法律上也得到了认可。由于电子合同在签名过程中的异步性以及有序多重签名方案的签名过程较长,一旦存在签名者拖延签名,必然造成经济上的损失,而且互联网本身缺少一定的安全维护技术,电子合同在传播过程中面临着被不法分子利用的危险,同时当签署方出现争端时,也面临着无法查证的问题。为了确保电子交易的合法性,有序多重数字签名在身份验证、交易者身份以及交易完整性方面起着非常重要的作用。
在现实生活中,签署合同已经成为公司必不可少的一部分,而有序多重签名需要合同的签名者按照一定的顺序才能完成签名,例如在公司中,只有当下属签署完成后,上级才会签署。目前的商业合同由于其商业价值以及合同本身具有一定的实效性,签名过程中每个签名者必须控制好签名的时间。同时由于有序多重签名的签名过程是在每个签名者之间互相传递的,一旦出现签名者拖延签名时间,必然造成整个合同的经济损失,因此,引入罚金机制也是必要的。
针对上述问题,为了保证了合约的时效性避免合同的损失,应保证签名过程的透明性以及签署合约各方的公平性、不可抵赖性,同时通过智能合约完成签名验证,减轻签名者的计算消耗。
发明内容
发明目的:为了解决有序多重签名过程中签名验证时间消耗以及保证签名的公平性,本发明提出了一种基于区块链的有序多重签名方法,实现了低时耗和高实效的优点。
技术方案:一种基于区块链的有序多重签名方法,包括以下步骤:
步骤1:初始化***参数,签名者生成各自的公私钥对;
步骤2:数据拥有者发送公开消息、签名顺序、聚合公钥以及生成deposit交易;
步骤3:签名者生成签名并将签名σi发送到下一签名者以及智能合约;
步骤4:智能合约验证签名σi的正确性;
步骤5:签名者生成claim交易,拿回保证金,下一签名者继续签名;
步骤6:签名者Nn完成签名后发送给智能合约,由智能合约返回到数据拥有者。
进一步地,步骤1具体为:
步骤1.1,设
Figure BDA0002718762640000021
分别是阶为素数q的加法循环群和乘法循环群,给定安全参数
Figure BDA00027187626400000217
Figure BDA0002718762640000022
为参数生成算法,首先通过
Figure BDA0002718762640000023
生成
Figure BDA0002718762640000024
其中
Figure BDA0002718762640000025
为素数阶q的双线性群对,双线性映射为
Figure BDA0002718762640000026
表示从
Figure BDA0002718762640000027
Figure BDA0002718762640000028
的映设,P是
Figure BDA0002718762640000029
的一个生成元,3个安全散列函数
Figure BDA00027187626400000210
Figure BDA00027187626400000211
其中,Zq表示集合{0,1,…,q-1},而
Figure BDA00027187626400000212
表示集合{1,2,…,q-1},
Figure BDA00027187626400000213
表示一个属于{0,1}*范围内的值经过H0后得到一个属于群
Figure BDA00027187626400000214
范围内的值,***参数存储在区块链并对所有用户公开;
步骤1.2,每个签名者随机的选取一个
Figure BDA00027187626400000215
作为私钥并计算公钥Si=siP(ie1,2,…,n),这里的公钥被签名者用作在区块链上的地址;
进一步地,步骤2具体为:
步骤2.1,数据拥有者上传文件,并将文件进行加密处理,随机选取
Figure BDA00027187626400000216
步骤2.2,数据拥有者生成签名顺序M=(M1,M2,…Mn)到区块链上,其中Mi包含前Ni个签名者的签名顺序;
步骤2.3,数据拥有者规定每个签名者签名的时间间隔ΔT1,ΔT2,…ΔTn-1,ΔT1代表N1→N2时间间隔,ΔTn-1代表Nn-1→Nn的时间间隔,保证签名者Ni在指定时间间隔(ti-1,ti-1+ΔTi-1)内释放实际签名时间ti,下一签名者根据ti以及ΔTi确定ti+1(i∈(2,3,…,n),ti是签名者在签名时选取的,对所有签名用户公开,数据拥有者对签名者公钥S1,S2,…Sn进行聚合处理,并将聚合公钥发送到区块链中;
步骤2.4,数据拥有者对签名者公钥S1,S2,…Sn进行聚合处理,设公钥集合PK={S1,S2,…Sn},并通过计算公钥集合的hash值和签名者的公钥得到βi=H1(Si,PK)用于聚合公钥,减少签名长度,聚合公钥
Figure BDA0002718762640000031
Figure BDA0002718762640000032
并将聚合公钥发送到区块链中;
步骤2.5,数据拥有者生成一个deposit交易,设置保证金金额cash。
进一步地,步骤3具体为:
步骤3.1,每个签名者随机的选取一个部分私钥
Figure BDA0002718762640000033
同时计算部分公钥Ri=riP(i∈1,2,…,n)并上传到区块链中,这里的公钥Ri作为交易地址;
步骤3.2,每个签名者执行deposit交易,只有账户中余额大于cash才能执行此协议,执行完成后计算各自的Li=H2(apki,Mi),其中apki,Mi是数据拥有者上传到区块链的,Li是对(apki,Mi)进行hash得到的值,用于智能合约验证签名是否为此公钥集合(i∈1,2,…,n);
步骤3.3,有序签名阶段,首先签名者Ni对消息m签名,选取一个签名时间ti并对时间进行hash处理,得到Di=H1(ti),Di为计算ti得到的hash值,用于保证签名的时效性;
步骤3.4,计算hi=H0(apkn,m),其次得到签名
Figure BDA0002718762640000034
步骤3.5,签名者Ni完成后将签名σi发送到智能合约以及ti发送到区块链,将σi发送给签名者Ni+1
步骤3.6,签名者Ni+1验证签名σi是否有效,由于验证的过程在智能合约完成,签名者Ni+1只需等待智能合约返回验证的结果即可(i∈1,2,…,n-1)。
进一步地,步骤4具体为:
步骤4.1,当智能合约接收到签名以及ti时,首先验证ti是否属于(ti-1,ti-1+ΔTi-1);
步骤4.2,验证签名σi是否成立;
步骤4.3,当智能合约返回的结果为σi无效时,签名者Ni需在指定时间间隔内上传ti以及签名σi,此时返回步骤4.1;
步骤4.4,否则下一位签名者拒绝签名,签名终止;
步骤4.5,此时除签名者Ni-1外生成refund交易,拿回保证金,而签名者Ni由于没有广播有效的claim交易,失去保证金,由前i-1个已经广播的签名者获得奖励。
进一步地,步骤5具体为:
步骤5.1,当智能合约返回的结果为σi有效时,签名者Ni生成refund交易,拿回保证金cash。
步骤5.2,签名者Ni+1根据签名者Ni发送的签名σi、签名者Ni上传的ti以及数据拥有者上传的ΔTi继续签名
进一步地,步骤6具体为:
步骤6.1,签名者Nn完成签名后发送σn到智能合约,智能合约验证σn的有效性。
步骤6.2,当通过智能合约验证,由智能合约将最终的签名发送给数据拥有者,签名者Nn生成refund交易,拿回保证金,否则失去保证金。
附图说明
图1为本发明的算法流程示意图;
具体实施方式
为了解决有序多重签名过程中签名验证时间消耗以及保证签名的公平性,本发明提出了一种基于区块链的有序多重签名方法,实现了低时耗和高实效的优点,为了达到上述目的,本发明的参与实体如下:
数据拥有者:定制策略;计算签名者的聚合公钥、制定签名顺序以及每个签名者签名的时间,将生成的***息传送到区块链中,同时生成一个deposit交易,设置保证金金额以及秘密值,这里的秘密值为签名σi,σi在签名者签名之前是秘密的,当上传到区块链后,对所有用户公开,最后等待智能合约返回所有签名者签名完成后的签名。
签名者:依次签名;首先生成各自的公私钥,同时根据数据拥有者上传的签名顺序以及签名时间间隔签名,完成签名后将签名消息发送到智能合约和下一签名者,当智能合约通过后,签名者通过deposit交易作为输入生成claim交易,拿回保证金。当智能合约未通过签名时,其他签名者生成refund交易,拿回保证金,而这个签名者Ni将失去保证金,由前i-1个签名者获得奖励,平分签名者Ni的保证金(i∈2,3…,n)。这里的签名者的公开参数对区块链的所有用户公开。
区块链:利用区块链的不可篡改性、可追溯性、可自动执行一些预先定义好的规则和条款的特点,同时区块链上的交易信息对所有用户是公开的,但是用户的隐私信息是高度加密的,只有在有授权的情况下才能访问到。智能合约是基于这些可信的不可篡改的信息,验证合约是否正确,如果签名未通过,返回验证未通过信息给下一位签名者,停止签名,当最后一位签名者验证通过后,由智能合约直接返回签名给数据拥有者。
本发明的算法流程如下:
步骤1,初始化***参数,参与方生成各自的公私钥对。具体步骤如下:
步骤1.1,给定安全参数
Figure BDA0002718762640000059
首先通过
Figure BDA0002718762640000051
生成
Figure BDA0002718762640000052
其中
Figure BDA0002718762640000053
为素数阶q的双线性群对,双线性映射为
Figure BDA0002718762640000054
P是
Figure BDA0002718762640000055
的一个生成元,3个安全散列函数
Figure BDA0002718762640000056
***参数存储在区块链并对所有用户公开;
步骤1.2,每个签名者随机的选取一个
Figure BDA0002718762640000057
作为私钥并计算它的公钥Si=siP(i∈1,2,…,n),这里的公钥被签名者用作在区块链上的地址。
步骤2,数据拥有者发送公开消息、签名顺序、聚合公钥以及生成deposit交易,具体步骤如下:
步骤2.1,数据拥有者上传文件
Figure BDA0002718762640000058
步骤2.2,数据拥有者生成签名顺序M=(M1,M2,…Mn)到区块链上,其中Mi包含前Ni个签名者的签名顺序,如M1代表N1,M2代表N1→N2
步骤2.3,数据拥有者规定每个签名者签名的时间间隔ΔT1,ΔT2,…ΔTn-1,ΔT1代表N1→N2时间间隔,ΔTn-1代表Nn-1→Nn的时间间隔,保证签名者Ni在指定时间间隔(ti-1,ti-1+ΔTi-1)内释放实际签名时间ti,下一签名者根据ti以及ΔTi确定ti+1(i∈(2,3,…,n),ti是签名者在签名时选取的,对所有签名用户公开。数据拥有者对签名者公钥S1,S2,…Sn进行聚合处理,并将聚合公钥发送到区块链中;
步骤2.4,数据拥有者对签名者公钥S1,S2,…Sn进行聚合处理,设PK={S1,S2,…Sn},计算βi=H1(Si,PK),聚合公钥
Figure BDA0002718762640000061
并将聚合公钥发送到区块链中;
步骤2.5,数据拥有者生成一个deposit交易,设置保证金金额cash。
步骤3,签名者生成签名并将签名发送到下一签名者以及智能合约。具体步骤如下:
步骤3.1,每个签名者随机的选取一个
Figure BDA0002718762640000062
同时计算Ri=riP(i∈1,2,…,n)并上传到区块链中;
步骤3.2,每个签名者执行deposit交易,只有账户中余额大于cash才能执行此协议,执行完成后计算各自的Li=H2(apki,Mi)(i∈1,2,…,n);
步骤3.3,有序签名阶段,首先签名者Ni对消息m签名,选取一个签名时间ti并对时间进行hash处理,得到Di=H1(ti);
步骤3.4,计算hi=H0(apkn,m),得到签名δi=(βi*si+DiLi*ri)hi
Figure BDA0002718762640000063
Figure BDA0002718762640000064
步骤3.5,签名者Ni完成后将签名σi发送到智能合约以及ti发送到区块链,将σi发送给签名者Ni+1
步骤3.6,签名者Ni+1验证签名σi是否有效,由于验证的过程在智能合约完成,签名者Ni+1只需等待智能合约返回验证的结果即可(i∈1,2,…,n-1)。
步骤4,智能合约验证签名σi的正确性。具体步骤如下:
步骤4.1,当智能合约接收到签名σi以及ti时,首先验证ti是否属于(ti-1,ti-1+ΔTi-1);
步骤4.2,其次,验证签名σi是否满足
Figure BDA0002718762640000065
Figure BDA0002718762640000066
步骤4.3,当智能合约返回的结果为σi无效时,签名者Ni需在指定时间间隔(ti-1,ti-1+ΔTi-1)内上传ti以及签名σi,此时返回步骤4.1。
步骤4.4,否则下一位签名者拒绝签名,签名终止。
步骤4.5,此时除签名者Ni-1外生成refund交易,拿回保证金,而签名者Ni由于没有广播有效的claim交易,失去保证金,由前i-1个已经广播的签名者获得奖励。
步骤5,签名者生成claim交易,拿回保证金,下一签名者继续签名。具体步骤如下:
步骤5.1.当智能合约返回的结果为σi有效时,签名者Ni生成refund交易,拿回保证金cash。
步骤5.2.签名者Ni+1根据签名者Ni发送的签名σi、签名者Ni上传的ti以及数据拥有者上传的ΔTi,签名者Ni+1计算hi+1=H0(apkn,m),Di+1=H1(ti+1)以及δi+1=(βi+1*si+1+Di+ 1Li+1*ri+1)hi+1
Figure BDA0002718762640000071
步骤6,签名者Nn完成签名后发送给智能合约,由智能合约返回到数据拥有者。具体步骤如下:
步骤6.1,签名者Nn完成签名后发送σn到智能合约,智能合约验证σn的有效性。
步骤6.2,当通过智能合约验证,由智能合约将最终的签名发送给数据拥有者,签名者Nn生成refund交易,拿回保证金cash。当未通过智能合约验证,需在指定时间内重新上传tn以及签名σn,否则前n-1个签名者生成refund交易,拿回保证金cash,而签名者Nn由于没有广播有效的claim交易,失去保证金,由前n-1个已经广播的签名者获得奖励,每人获得奖励cash/(n-1)。
安全性分析
定理1(正确性)如果签名者Ni(i∈2,3,…,n)上传的签名是正确的,则可以通过智能合约的验证。
证明:
Figure BDA0002718762640000072
Figure BDA0002718762640000081
定理2(不可伪造性):设群G1为(t′,∈′)-GDH群,则在随机预言机中,我们的基于区块链的有序多重签名方案是(t,ε)存在不可伪造的,即,敌手A在运行时间不超过t时,成功的概率不高于ε,ε为敌手A可以伪造出签名的概率,其中,
ε≥e(qs+1)·ε’
Figure BDA0002718762640000082
Figure BDA0002718762640000083
分别表示初始时间,对预言机H0,数字签名H1,H2的请求次数,e是自然对象的底,0表示算法的渐进时间复杂度。
证明:假设C是CDHP挑战者,C创造了模拟的攻击环境,与真实的攻击环境是计算不可区分的。挑战者C收到三元组
Figure BDA0002718762640000084
其中U1,U2为模拟环境中的公钥,设U1=aP,挑战者C的目标计算aU2。挑战者C与敌手A的交互如下
初始化:挑战者C生成***参数params:(G1,G2,e,P,H0,H1,H2)并发送给A,挑战者C发送给敌手签名者Ni的公钥U1+siP,其中
Figure BDA0002718762640000085
并初始化表格L0
H0-请求:挑战者C利用表格L0存储元组(vi,wi,bi,ci),其中vi表示H0中的(apkn,mi),wi表示计算H0(apkn,mi)的值,bi表示在
Figure BDA0002718762640000086
中随机取的值,ci表示在{0,1}中随机取的值。当A对vi=(apkn,mi)请求H0时,挑战者C响应如下:
1)如果请求vi已经存储在表格L0中,则挑战者C输出H0(apkn,mi)=wi
2)否则,挑战者C随机选取一个ci∈{0,1}使得Pr[ci=0]=1/(qs+1),其中qs表示签名请求次数。
3)挑战者C选取一个
Figure BDA0002718762640000087
并计算wi=(1-ci)U2+biP。
4)挑战者C将(vi,wi,bi,ci)添加到表格L0中,并将wi发送给敌手A。
H1-请求,H2-请求:当A向C请求H1-预言机或H2-预言机时,C根据实际哈希函数计算相应哈希值,并把相应哈希值返回给A。
签名请求:敌手A向C请求消息mi的签名请求,C对该查询的请求如下:
1)A对mi和apkn请求H0-预言机,得到wi,设(vi,wi,bi,ci)为L0中的元组。若ci=0,则挑战失败并终止。
2)否则,wi=biP,通过请求H1-预言机和H2-预言机获得βi,1i,C选取随机数
Figure BDA0002718762640000091
并计算δi=biiSi+liriP)。因为δi=biiSi+liriP)=(βi(a+si)+1iri)biP=(βi(a+si)+1iri)wi
=(βi(a+si)+1iri)H0(apkn,mi),所以δi是mi的有效签名。挑战者C将签名δi发送给敌手A。
输出:最后,假设A伪造了一个有效的消息签名对(mf,δf),其中mf未对C进行签名请求。由于H0是随机预言机和A成功攻击,A已经对mf请求了H0,则(vf,wf,bf,cf)属于L0,其中vf=(apkn,mf)。当cf=1,则挑战者C报告失败并终止;当cf=0时,H0(apkn,mf)=U2+bfP,此时δf=(βf(a+sf)+lfdfrf)(U2+bfP),则C计算可得aU2,即
Figure BDA0002718762640000092
Figure BDA0002718762640000093
在签名请求中,当c=0时,签名仿真失败,失败概率为
Figure BDA0002718762640000094
由于c的独立性,在签名请求中挑战者C不会中止的概率至少为
Figure BDA0002718762640000095
当A伪造的消息签名对中cf=0时,aU2才能被求出,概率为
Figure BDA0002718762640000096
这样,aU2能够被求出的概率∈′满足
Figure BDA0002718762640000101
即ε≥e(qs+1)ε’。
在A与C的交互中,对于H0预言机,每次请求C需要1次数乘;对于签名预言机,每次请求C需要2次数乘;对于H1预言机和H2预言机,仅作正常哈希函数计算即可。这样,上述交互的时间消耗为
Figure BDA0002718762640000102
其中
Figure BDA0002718762640000103
分别表示对预言机H0,数字签名,H1,H2的请求次数。
根据概率分析,得到CDHP被破解的概率为ε≥e(qs+1)ε’。如果∈是不可忽略函数,则ε’也是不可忽略函数,这跟G1为(t’,ε’)-GDH群矛盾。根据反证法,ε’是一个可忽略函数,我们提出的方案满足不可伪造性。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (7)

1.一种基于区块链的有序多重签名方法,其特征在于:包括以下步骤:
步骤1:初始化***参数,签名者生成各自的公私钥对;
步骤2:数据拥有者发送公开消息、签名顺序、聚合公钥以及生成deposit交易;
步骤3:签名者生成签名并将签名σi发送到下一签名者以及智能合约;
步骤4:智能合约验证签名σi的正确性;
步骤5:签名者生成claim交易,拿回保证金,下一签名者继续签名;
步骤6:签名者Nn完成签名后发送给智能合约,由智能合约返回到数据拥有者。
2.根据权利要求1所述的基于区块链的有序多重签名方法,其特征在于,步骤1具体为:
步骤1.1,设
Figure FDA0002718762630000011
分别是阶为素数q的加法循环群和乘法循环群,给定安全参数
Figure FDA0002718762630000012
Figure FDA00027187626300000118
为参数生成算法,首先通过
Figure FDA0002718762630000013
生成
Figure FDA0002718762630000014
其中
Figure FDA0002718762630000015
为素数阶q的双线性群对,双线性映射为e:
Figure FDA0002718762630000016
表示从
Figure FDA0002718762630000017
Figure FDA0002718762630000018
的映射,P是
Figure FDA0002718762630000019
的一个生成元,3个安全散列函数H0
Figure FDA00027187626300000110
H1
Figure FDA00027187626300000111
H2
Figure FDA00027187626300000112
其中,Zq表示集合{0,1,...,q-1},而
Figure FDA00027187626300000113
表示集合{1,2,...,q-1},H0
Figure FDA00027187626300000114
表示一个属于{0,1}*范围内的值经过H0后得到一个属于群
Figure FDA00027187626300000115
范围内的值,***参数存储在区块链并对所有用户公开;
步骤1.2,每个签名者随机的选取一个
Figure FDA00027187626300000116
作为私钥并计算公钥Si=siP(i∈1,2,…,n),这里的公钥被签名者用作在区块链上的地址。
3.根据权利要求1所述的基于区块链的有序多重签名方法,其特征在于,步骤2具体为:
步骤2.1,数据拥有者上传文件,并将文件进行加密处理,随机选取
Figure FDA00027187626300000117
步骤2.2,数据拥有者生成签名顺序M=(M1,M2,…Mn)到区块链上,其中Mi包含前Ni个签名者的签名顺序;
步骤2.3,数据拥有者规定每个签名者签名的时间间隔ΔT1,ΔT2,…ΔTn-1,ΔT1代表N1→N2时间间隔,ΔTn-1代表Nn-1→Nn的时间间隔,保证签名者Ni在指定时间间隔(ti-1,ti-1+ΔTi-1)内释放实际签名时间ti,下一签名者根据ti以及ΔTi确定ti+1(i∈(2,3,…,n),ti是签名者在签名时选取的,对所有签名用户公开,数据拥有者对签名者公钥S1,S2,…Sn进行聚合处理,并将聚合公钥发送到区块链中;
步骤2.4,数据拥有者对签名者公钥S1,S2,…Sn进行聚合处理,设公钥集合PK={S1,S2,…Sn},并通过计算公钥集合的hash值和签名者的公钥得到βi=H1(Si,PK)用于聚合公钥,减少签名长度,聚合公钥
Figure FDA0002718762630000021
Figure FDA0002718762630000022
并将聚合公钥发送到区块链中;
步骤2.5,数据拥有者生成一个deposit交易,设置保证金金额cash。
4.根据权利要求1所述的基于区块链的有序多重签名方法,其特征在于,步骤3具体为:
步骤3.1,每个签名者随机的选取一个部分私钥
Figure FDA0002718762630000023
同时计算部分公钥Ri=riP(i∈1,2,…,n)并上传到区块链中,这里的公钥Ri作为交易地址;
步骤3.2,每个签名者执行deposit交易,只有账户中余额大于cash才能执行此协议,执行完成后计算各自的Li=H2(apki,Mi),其中apki,Mi是数据拥有者上传到区块链的,Li是对(apki,Mi)进行hash得到的值,用于智能合约验证签名是否为此公钥集合(i∈1,2,…,n);
步骤3.3,有序签名阶段,首先签名者Ni对消息m签名,选取一个签名时间ti并对时间进行hash处理,得到Di=H1(ti),Di为计算ti得到的hash值,用于保证签名的时效性;
步骤3.4,计算hi=H0(apkn,m),其次得到签名δi=(βi*si+DiLi*ri)hi
Figure FDA0002718762630000024
步骤3.5,签名者Ni完成后将签名σi发送到智能合约以及ti发送到区块链,将σi发送给签名者Ni+1
步骤3.6,签名者Ni+1验证签名σi是否有效,由于验证的过程在智能合约完成,签名者Ni+1只需等待智能合约返回验证的结果即可(i∈1,2,…,n-1)。
5.根据权利要求1所述的基于区块链的有序多重签名方法,其特征在于,步骤4具体为:
步骤4.1,当智能合约接收到签名以及ti时,首先验证ti是否属于(ti-1,ti-1+ΔTi-1);
步骤4.2,验证签名σi是否成立;
步骤4.3,当智能合约返回的结果为σi无效时,签名者Ni需在指定时间间隔内上传ti以及签名σi,此时返回步骤4.1;
步骤4.4,否则下一位签名者拒绝签名,签名终止;
步骤4.5,此时除签名者Ni-1外生成refund交易,拿回保证金,而签名者Ni由于没有广播有效的claim交易,失去保证金,由前i-1个已经广播的签名者获得奖励。
6.根据权利要求1所述的基于区块链的有序多重签名方法,其特征在于,步骤5具体为:
步骤5.1,当智能合约返回的结果为σi有效时,签名者Ni生成refund交易,拿回保证金cash。
步骤5.2,签名者Ni+1根据签名者Ni发送的签名σi、签名者Ni上传的ti以及数据拥有者上传的ΔTi继续签名。
7.根据权利要求1所述的基于区块链的有序多重签名方法,其特征在于,步骤6具体为:
步骤6.1,签名者Nn完成签名后发送σn到智能合约,智能合约验证σn的有效性。
步骤6.2,当通过智能合约验证,由智能合约将最终的签名发送给数据拥有者,签名者Nn生成refund交易,拿回保证金,否则失去保证金。
CN202011081391.6A 2020-10-12 2020-10-12 一种基于区块链的有序多重签名方法 Active CN112199736B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011081391.6A CN112199736B (zh) 2020-10-12 2020-10-12 一种基于区块链的有序多重签名方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011081391.6A CN112199736B (zh) 2020-10-12 2020-10-12 一种基于区块链的有序多重签名方法

Publications (2)

Publication Number Publication Date
CN112199736A true CN112199736A (zh) 2021-01-08
CN112199736B CN112199736B (zh) 2022-12-02

Family

ID=74013429

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011081391.6A Active CN112199736B (zh) 2020-10-12 2020-10-12 一种基于区块链的有序多重签名方法

Country Status (1)

Country Link
CN (1) CN112199736B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112953978A (zh) * 2021-05-13 2021-06-11 众连智能科技有限公司 一种多重签名认证方法、装置、设备及介质
CN112989436A (zh) * 2021-03-30 2021-06-18 广西师范大学 一种基于区块链平台的多重签名方法
CN113407944A (zh) * 2021-06-03 2021-09-17 广东辰宜信息科技有限公司 智能合约的可信配置方法、装置、计算机设备及存储介质
CN113259456B (zh) * 2021-06-02 2021-10-15 支付宝(杭州)信息技术有限公司 跨链交互方法及装置
CN113556237A (zh) * 2021-09-17 2021-10-26 杭州链网科技有限公司 基于聚合多签的阈值签名方法、***、装置及存储介质
CN114978531A (zh) * 2022-05-11 2022-08-30 上海健交科技服务有限责任公司 一种面向深度学习的数据可信溯源标记方法和***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106779704A (zh) * 2016-12-06 2017-05-31 杭州趣链科技有限公司 一种基于环签名的区块链匿名交易方法
CN107040383A (zh) * 2017-04-24 2017-08-11 中山大学 一种基于区块链的盲可验证加密签名方法
CN109768866A (zh) * 2019-03-05 2019-05-17 同济大学 基于椭圆曲线数字签名的区块链智能合约不可拆分签名方法
CN110233733A (zh) * 2019-06-05 2019-09-13 同济大学 面向区块链智能合约的不可拆分数字签名通用构造方法
CN111342973A (zh) * 2020-02-27 2020-06-26 中南民族大学 一种安全的pki与ibc之间的双向异构数字签名方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106779704A (zh) * 2016-12-06 2017-05-31 杭州趣链科技有限公司 一种基于环签名的区块链匿名交易方法
CN107040383A (zh) * 2017-04-24 2017-08-11 中山大学 一种基于区块链的盲可验证加密签名方法
CN109768866A (zh) * 2019-03-05 2019-05-17 同济大学 基于椭圆曲线数字签名的区块链智能合约不可拆分签名方法
CN110233733A (zh) * 2019-06-05 2019-09-13 同济大学 面向区块链智能合约的不可拆分数字签名通用构造方法
CN111342973A (zh) * 2020-02-27 2020-06-26 中南民族大学 一种安全的pki与ibc之间的双向异构数字签名方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112989436A (zh) * 2021-03-30 2021-06-18 广西师范大学 一种基于区块链平台的多重签名方法
CN112989436B (zh) * 2021-03-30 2022-04-22 广西师范大学 一种基于区块链平台的多重签名方法
CN112953978A (zh) * 2021-05-13 2021-06-11 众连智能科技有限公司 一种多重签名认证方法、装置、设备及介质
CN112953978B (zh) * 2021-05-13 2021-09-14 众连智能科技有限公司 一种多重签名认证方法、装置、设备及介质
CN113259456B (zh) * 2021-06-02 2021-10-15 支付宝(杭州)信息技术有限公司 跨链交互方法及装置
CN113407944A (zh) * 2021-06-03 2021-09-17 广东辰宜信息科技有限公司 智能合约的可信配置方法、装置、计算机设备及存储介质
CN113407944B (zh) * 2021-06-03 2023-09-26 广东辰宜信息科技有限公司 智能合约的可信配置方法、装置、计算机设备及存储介质
CN113556237A (zh) * 2021-09-17 2021-10-26 杭州链网科技有限公司 基于聚合多签的阈值签名方法、***、装置及存储介质
CN113556237B (zh) * 2021-09-17 2021-12-17 杭州链网科技有限公司 基于聚合多签的阈值签名方法、***、装置及存储介质
CN114978531A (zh) * 2022-05-11 2022-08-30 上海健交科技服务有限责任公司 一种面向深度学习的数据可信溯源标记方法和***
CN114978531B (zh) * 2022-05-11 2024-04-30 上海健交科技服务有限责任公司 一种面向深度学习的数据可信溯源标记方法和***

Also Published As

Publication number Publication date
CN112199736B (zh) 2022-12-02

Similar Documents

Publication Publication Date Title
CN112199736B (zh) 一种基于区块链的有序多重签名方法
Chen et al. Concurrent signatures
US12014364B2 (en) Computer-implemented system and method for trustless zero-knowledge contingent payment
CN108418689B (zh) 一种适合区块链隐私保护的零知识证明方法和介质
CN110912705B (zh) 一种基于区块链的分布式电子投票方法及***
CN115801260B (zh) 一种不可信网络环境下区块链辅助的协作式攻防博弈方法
CN109685505A (zh) 基于关联环签名的拜占庭容错共识优化方法
CN114463009B (zh) 一种用于提高大规模能源节点交易安全性的方法
El Kassem et al. More efficient, provably-secure direct anonymous attestation from lattices
CN110990790B (zh) 一种数据处理方法及设备
Arun et al. Short-lived zero-knowledge proofs and signatures
CN111046439A (zh) 一种基于区块链的智能合约任务可验证方法和***
CN112989436B (zh) 一种基于区块链平台的多重签名方法
Blanton Improved conditional e-payments
Susilo et al. Tripartite concurrent signatures
Lee et al. Tight security for the generic construction of identity-based signature (in the multi-instance setting)
CN114362962B (zh) 区块链工作量证明生成方法
Wang et al. Consensus algorithm based on verifiable randomness
Huang et al. Ambiguous optimistic fair exchange: Definition and constructions
Zhou et al. Fair cloud auditing based on blockchain for resource-constrained IoT devices
Heidarvand et al. A fair and abuse-free contract signing protocol from boneh-boyen signature
Zeng et al. Tightly‐secure two‐pass authenticated key exchange protocol using twin Diffie–Hellman problem
CN101729258B (zh) 一种模糊性可明确废除的并发签名方法
Liu et al. Nominative signature: Application, security model and construction
CN113972987B (zh) 一种基于子分组的身份基多重签名方法

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