CN108650097B - 一种高效的聚合数字签名方法 - Google Patents
一种高效的聚合数字签名方法 Download PDFInfo
- Publication number
- CN108650097B CN108650097B CN201810399463.8A CN201810399463A CN108650097B CN 108650097 B CN108650097 B CN 108650097B CN 201810399463 A CN201810399463 A CN 201810399463A CN 108650097 B CN108650097 B CN 108650097B
- Authority
- CN
- China
- Prior art keywords
- signature
- signer
- aggregated
- function
- invalid
- 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
- 238000000034 method Methods 0.000 title claims abstract description 75
- 230000002776 aggregation Effects 0.000 title abstract description 8
- 238000004220 aggregation Methods 0.000 title abstract description 8
- 238000012795 verification Methods 0.000 claims abstract description 45
- 238000006243 chemical reaction Methods 0.000 claims description 17
- 238000012546 transfer Methods 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 11
- 125000004122 cyclic group Chemical group 0.000 claims description 10
- 238000012790 confirmation Methods 0.000 claims description 7
- 230000004931 aggregating effect Effects 0.000 claims 1
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 230000008878 coupling Effects 0.000 description 6
- 238000010168 coupling process Methods 0.000 description 6
- 238000005859 coupling reaction Methods 0.000 description 6
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供了一种高效的聚合数字签名方法,是目前已知的唯一一种基于一般性有限群且可证明安全的聚合签名方法,解决了这个领域长期未解决的公开问题。所发明的聚合数字签名方法的可证明安全引入了非延展单向函数这一新型基础原语。所发明的聚合数字签名方法可大幅缩小签名的存储空间和验证时间,特别有利于在区块链和密码货币领域应用。
Description
技术领域
本发明涉及密码技术,尤其涉及聚合数字签名方法。具体而言,聚合签名指的是这样一种技术:将多个独立生成的签名聚合起来,以减少签名存储的空间,并加快签名验证的时间。
背景技术
预备知识和符号标示
记G为一个有限群G′中的一个循环子群,其中记G′的阶为N,G的阶为q,g是G的生成元,记1G为G′的单位元,记G/1G为G中除了1G之外的所有元素构成的集合。一般而言,q为一个大的素数(典型地,|q|=160,其中|q|表示的是以2进制表示的q的长度),一般而言,|q|表示系统的安全参数。记Zq为数字集合{0,1,…,q-1},记为数字集合{1,…,q-1}。在下面的背景技术描述中,采用乘法表示(multiplicative representation)群上的操作,即G′和G为乘法群。这只是为了表述上的方便,所有有关背景技术的叙述均可等价地应用到加法群上,比如,椭圆曲线,或者其他的代数群或具体的群,有限域,复数或复合模(compositemoduli)等。一般而言,对于乘法群上的操作,指数上的操作是对q求模,而群上元素的操作是对N或N+1求模或其它操作以保证操作的结果是G′或G中的元素;比如gx通常指的是gxmodq,gxgy通常表示的是gxgy∈G′,x+y∈Zq和xy∈Zq表示的是x+y mod q和xy mod q。为了表述的方便起见,假定参数G,q,g是固定的并被所有的用户事先获知(这是一种实用中的普遍情况);或者,将这些参数包含在证书中或者在协议运行之前交换和协商这些参数并达成一致。假定离散对数假设在G上成立,即给定X=gx∈G(其中x从Zq中随机选取),没有概率多项式时间的算法能够以不可忽略的概率由X求出x。在下面的叙述中使用“^”符号(比如,)来标示一个用户或设备或程序的逻辑或“区别性”的身份(identity),比如一个名字,一个设备或程序序列号,一个email或IP地址,甚至是方法运行中的一个角色等。在某些情况下,这些身份可能伴随或包含于一个数字证书。记{…}为一个信息或数值的集合。
哈希函数用来将一个字符串转换成一个数值或者一个固定长度的串等。典型地,哈希函数的输入,即任意一个字符串(或若干个字符串的联结),首先被编码为一个{0,1}*中的0-1串,然后将哈希函数作用在该转化后的0-1串输入上从而得到一个固定长度的0-1串输出。这儿{0,1}*表示的是所有0-1串的集合。哈希函数在密码学中的一个基本功能是提供一个“单向”和“抗碰撞”的转换,这儿“单向”指的是给定一个函数的输出求出其输入或前像是困难的,“抗碰撞(collision-resistant)”指的是给定一个输入难以找到另外一个不同的输入使得哈希函数在这两个不同输入上的输出相同。哈希函数范围可以非常广泛:从一个简单的混合(mixing)函数到一个具有伪随机输出性质的函数。具有伪随机输出性质的哈希函数在密码学分析中常被理想化为一个“随机圣谕(random oracle)”。有几个哈希函数在密码学中被广泛使用:比如MD5将任意长度的数据转换为一个128-位的0-1串,而另一个常用的哈希函数SHA的输出是160位的0-1串。
记f,h:{0,1}*→Zq为两个转换函数。典型地,f,h的输入,即任意一个字符串(或若干个字符串的联结),首先被编码为一个{0,1}*中的0-1串,然后将f,h作用在该转化后的0-1串输入上从而得到一个Zq中的数值(典型地,Zq中的数值亦用2进制表示)。特别地,f,h可以是哈希函数。在应用中,转换函数的所有输入首先转换为0-1串,然后将转换后的0-1串连接成一个0-1串(联结的顺序可以变化),最后在将转换函数作用到该联结后的0-1串从而得到输出。在大多数情况下,转换函数的输入的顺序不重要(顺序可以被变化)。比如,以转换函数f为例,设x为一个字符串,记x(2)为x的2进制0-1串编码表示;设S={s1,…,st},t≥0,为t个字符串的集合,记为s1,s2,…,st的2进制0-1串编码表示,则其中“||”表示的是字符串联结操作符。注意联结的顺序可以变化,但联结的顺序需固定且所有的用户知晓且使用相同的顺序进行联结操作。对于若其中si,1≤i≤t,是空串,则上述关于转换函数f的描述同样适用转换函数h。
假定签名者,记为有一个签名公钥U,签名公钥U与签名者身份A的绑定由一个可信的第三方机构来执行。通常,可信的第三方机构会检查的身份的有效性以及U的有效性,然后对做一个数字签名,并将以及可信第三方的签名形成一个针对公钥证书,记为但是在区块链和去中心化应用中,并没有中心化的机构对用户身份和其公钥进行绑定。
数字签名方法是密码技术的主要应用之一。基于离散对数的数字签名方案主要有Schnorr签名方案和国际数字签名标准(Digital Signature Standard(DSS))方案。聚合签名指的是这样一种技术:将多个独立生成的签名聚合起来,以减少签名存储的空间,并加快签名验证的时间。
Schnorr签名方案运作如下:
签名公钥:U=g-w∈G,其中其中,G是有限群G′中的一个循环子群,g是G的生成元;记Zq为数字集合{0,1…,q-1},为数字集合{1…,q-1},q为一个大的素数(典型地,|q|=160,其中|q|表示的是以2进制表示的q的长度)。
签名私钥:w。
签名的生成:记m∈{0,1}*为需要签名的信息,{0,1}*表示的是所有0-1串的集合。令h:{0,1}*→Zq为一个抗碰撞的哈希函数。
从Zq中随机选取r,计算a=gr∈G;
计算d=h(a,m);计算z=r+dw∈Zq;将(d,z)作为对m的签名。
签名的验证:得到{m,(d,z)}以及签名公钥U后,签名验证者验证是否h(gzUd,m)=d。若h(gzUd,m)=d则接受签名,否则拒绝。
数字签名标准(DSS)方案运作如下:
签名私钥:w。
签名的生成:记m∈{0,1}*为需要签名的信息。令h:{0,1}*→Zq为一个抗碰撞的哈希函数。令f:G′→Zq是一个转换函数。一般而言,若(p是个素数),f直接可以是“modq”操作;若G′是定义在有限域上的一个椭圆曲线群(即:a∈G表示椭圆曲线上的一个点(x,y)),f(a)=x。签名者做如下计算:
计算d=f(a);e=h(m);
签名的验证:得到{m,(d,z)}以及签名公钥U后,签名验证者如下验证签名的有效性:
Schnorr签名方案和数字签名标准(DSS)方案应用于签名聚合的可能性:已有的研究表明DSS签名方案不适合做签名聚合。而已有的研究成果表明Schnorr签名用于聚合签名时也不安全,这是通过具体的攻击来表明的。实际上,如何在一般的有限循环群上构建聚合签名是长期未解决的公开问题,本发明给出的高效聚合签名方案是第一个基于一般有限群的聚合签名方案,并具有可证明安全保证。
发明内容
本发明给出一种高效的聚合数字签名方法,是目前唯一已知的基于一般有限群的聚合签名方案,解决了基于一般有限群构建可证明安全聚合签名的长期公开问题。所发明的聚合签名方法在区块链和密码货币领域具有重要应用。
本发明提供一种高效的聚合数字签名方法,其中,1≤i≤n,表示签名者,n≥1是一个正整数表示系统中需要聚合的签名的数目,的公钥为 的私钥为wi=xi∈Zq={0,1,2,…,q-1}或wi=-xi∈Zq,其中g是一个阶为N的有限群G′中的一个阶为素数q的循环子群G的生成元,mi∈{0,1}*为待签名的信息,其中{0,1}*表示的是任意长度的0-1串的集合;这儿,对于任意的i,j,1≤i≠j≤n,有可能和/或Ai=Aj和/或mi=mj;表示签名聚合者,表示聚合签名验证者,所述方法包括:
由所述签名者计算zi,其中zi的计算基于diri+eiwi或diri-eiwi或eiri+diwi或eiri-diwi或-(diri+eiwi)或-(diri-eiwi)或-(eiri+diwi)或-(eiri-diwi);具体选用哪种方式可由用户协商或签名者指定,但是一旦确定就应固定,并且所有的签名验证者知晓z的计算方式;
所述签名聚合者设置三个初始变量其中为初始化为空的集合,z初始化为0;由所述签名聚合者得到消息和签名对{mi,si},得到所述签名者的公钥Ai∈G、得到ai∈G,然后验证{Ai,mi,si,ai}的有效性,若验证通过则令:z:=z+zimod q;收集和聚合一定量的签名后,输出或或其中M={m1,…,mk}(在用于多重签名时,签名者和验证者需检查确认m1=…=mk),或或
然后按照如下情况之一验证聚合签名的有效性:
若且zi的计算基于diri+eiwi或diri-eiwi或-(diri+eiwi)或-(diri-eiwi)或eiri+diwi或eiri-diwi或-(eiri+diwi)或-(eiri-diwi),确认di和zi是Zq中的元素,否则签名无效,得的或或或或 或或或 验证是否或相等表示有效,否则表示无效;具体选用哪种方式可由用户协商或签名者指定,但是一旦确定就应固定,并且所有用户知晓;
若且zi的计算基于diri+eiwi或diri-eiwi或-(diri+eiwi)或-(diri-eiwi)或eiri+diwi或eiri-diwi或-(eiri+diwi)或-(eiri-diwi),确认zi是Zq中的元素,否则签名无效,得到验证是否或或或或 或或或相等表示有效,否则表示无效,其中1G表示群G的单位元;
若其中,包含{ei,ai},确认ei和zi是Zq中的元素且ai∈G,否则签名无效,得到得的或 或或或 或或或 或或或或或或或 或验证是否或相等表示有效,否则表示无效,其中1G是群G的单位元;具体选用哪种方式可由用户协商或签名者指定,但是一旦确定就应固定,并且所有用户知晓。
如上所述的方法,其中,所述函数F1和F2的计算和有效性通过如下方法检验:
具体选用哪种方式可由用户协商或签名者指定,但是一旦确定就应固定,并且所有用户知晓。
和/或,如果对于任意的i,j,1≤i≠j≤k,(Ai,mi)=(Aj,mj)或ai=aj,则聚合签名无效。
如上所述的方法,其中,G是定义在椭圆曲线上的有限循环群,G中的元素,比如Ai和ai有两种表示方式:一种完整的表示方式,G中一个非单位元的元素对应椭圆曲线上的一个点,用该点的x-轴坐标和y-轴坐标来表示;另一种是简洁表示方式,G中一个非单位元的元素用椭圆曲线上该点的x-轴坐标和y-轴坐标的正负号和/或奇偶性来表示,其中正负号和/或奇偶性用两个不同的值进行标识。
本发明的方法是目前已知的唯一一种基于一般性有限群的可证明安全的聚合签名方法,解决这个领域长期未解决的公开问题。发明人证明,假设h,f都是随机圣谕(比如h,f均为哈希函数,并将哈希函数理想化为随机圣谕),在随机圣谕模式和非延展离散对数假设下,发明的聚合数字签名方法在自适应选择消息攻击下是强不可伪造安全的。
具体实施方式
预备知识和符号标示:
本发明所描述的方法和操作基于一个有限群G′中的一个循环子群G,其中记G′的阶为N,G的阶为q,g是G的生成元,记1G为G′的单位元,记G/1G为G中除了1G之外的所有元素构成的集合。一般而言,q为一个大的素数(典型地,|q|=160,其中|q|表示的是以2进制表示的q的长度)。记Zq为数字集合{0,1,…,q-1},记为数字集合{1,…,q-1}。发明人在下面发明方法的描述中,采用乘法表示(multiplicative representation)群上的操作。即,G′和G为乘法群。这只是为了表述上的方便,所有发明方法的叙述均可等价地应用到加法群上,比如,椭圆曲线,或者其他的代数群或具体的群,有限域,复数或复合模(composite moduli)等。一般而言,当用乘法群上的操作描述发明方法时,指数上的操作是对q求模,而群上元素的操作是对N或N+1求模或其它操作以保证操作的结果是G′或G中的元素;比如gx通常指的是gxmodq,gxgy通常表示的是gxgy∈G′,x+y∈Zq和xy∈Zq表示的是x+y mod q和xy mod q。为了表述的方便起见,假定参数G,q,g是固定的并被所有的用户事先获知(这是一种实用中的普遍情况);或者,我们将这些参数包含在证书中或者在协议运行之前交换和协商这些参数并达成一致。我们假定离散对数假设在G上成立,即给定X=gx∈G(其中x从Zq中随机选取),没有概率多项式时间的算法能够以不可忽略的概率由X求出x。发明人使用“^”符号(比如,)来标示一个用户或设备或程序的逻辑或“区别性”的身份(identity),比如一个名字,一个设备序列号,一个emial或IP地址,甚至是方法运行中的一个角色等。在某些情况下,这些身份可能伴随或包含或包含于一个数字证书。记{…}为一个信息或数值的集合。
哈希函数用来将一个字符串转换成一个数值或者一个固定长度的串等。典型地,哈希函数的输入,即任意一个字符串(或若干个字符串的联结),首先被编码为一个{0,1}*中的0-1串,然后将哈希函数作用在该转化后的0-1串输入上从而得到一个固定长度的0-1串输出。这儿{0,1}*表示的是所有0-1串的集合。哈希函数在密码学中的一个基本功能是提供一个“单向”和“抗碰撞”的转换,这儿“单向”指的是给定一个函数的输出求出其输入或前像是困难的,“抗碰撞(collision-resistant)”指的是给定一个输入难以找到另外一个不同的输入使得哈希函数在这两个不同输入上的输出相同。哈希函数范围可以非常广泛:从一个简单的混合(mixing)函数到一个具有伪随机输出性质的函数。具有伪随机输出性质的哈希函数在密码学分析中常被理想化为一个“随机圣谕(random oracle)”。有几个哈希函数在密码学中被广泛使用:比如MD5将任意长度的数据转换为一个128-位的0-1串,而另一个常用的哈希函数SHA的输出是160位的0-1串。
本发明使用两个转换函数f,h:{0,1}*→Zq。典型地,f,h的输入,即任意一个字符串(或若干个字符串的联结),首先被编码为一个{0,1}*中的0-1串,然后将f,h作用在该转化后的0-1串输入上从而得到一个Zq中的数值(典型地,Zq中的数值亦用2进制表示)。特别地,f,h可以是哈希函数。其它常用的转换函数为:f(X,aux)=Xmodq或者(XmodN+1)modq,其中X∈G,N为G′的阶(比如,若对于一个大素数则N+1=p),aux是任意字符串或字符串的集合;若X=(x,y)∈G是椭圆曲线上的一个点,其中x,y∈Zq,则可令f(X,aux)=x或y;其它可以使用的专函函数还有:或其中H:{0,1}*→Zq是一个哈希函数。为了描述的方便起见,发明人使用同一个函数符号来表示具有不同输入个数的转换函数。在应用中,转换函数的所有输入首先转换为0-1串,然后将转换后的0-1串连接成一个0-1串(联结的顺序可以变化),最后在将转换函数作用到该联结后的0-1串从而得到输出。在某些应用中,转换函数的输出只有部分被使用。在大多数情况下,转换函数的输入的顺序不重要(顺序可以被变化)。比如,以转换函数f为例,设x为一个字符串,记x(2)为x的2进制0-1串编码表示;设S={s1,…,st},t≥0,为t个字符串的集合,记为s1,s2,…,st的2进制0-1串编码表示,则其中“||”表示的是字符串联结操作符。注意联结的顺序可以变化,但联结的顺序需固定且所有的用户知晓且使用相同的顺序进行联结操作。对于若其中si,1≤i≤t,是空串,则上述关于转换函数f的描述同样适用转换函数h。
令1≤i≤n,表示签名者,n表示系统中签名者的数目,的公钥为 的私钥为wi=-xi∈Zq,其中xi从中随机选取,g是一个阶为N的有限群G′中的一个阶为素数q的循环子群G的生成元。这儿我们令G′是定义在Fp上的椭圆曲线的点构成,其中p是一个素数。令mi∈{0,1}*为待签名的信息,表示签名聚合者,表示聚合签名验证者,所述方法包括:
由所述签名者计算其中h:{0,1}*→Zq是一个从{0,1}*到Zq的抗碰撞的转换函数;由所述签名者在随机选取得的ri,计算 和di=f(ai),其中f是将ai的x-轴坐标值进行模q操作后的结果进行输出,或者f是一个抗碰撞的密码哈希函数;由所述签名者计算zi=diri+eiwimod q;由所述签名者将和签名发送或者广播出去,其中,是一个空集或者仅包含上述的验证过程步骤的顺序不是严格的,若干验证过程和步骤的顺序可以调换和组合,其顺序对签名的生成和验证的正确性不关键。但是,合适的验证操作顺序可以尽早发现签名的错误,从而节省时间。
所述签名聚合者设置三个初始变量其中为初始化为空的集合,z初始化为0;由所述签名聚合者得到所述签名者的公钥Ai、消息和签名对{mi,si}之后,验证di,zi均为中的元素以及Ai∈G(否则拒绝签名);如果包含则验证且(否则拒绝签名);计算并验证di=f(ai),若验证不成功则拒绝签名;验证是否或如果已经在集合中出现,则拒绝该签名;否则,令z:=z+zimod q;这儿中的每一个元素ai用其在椭圆曲线上的简洁表示,即:ai的x-轴坐标,和另一个标记其y-轴正负号和/或奇偶性的值来表示(在比特币系统中,是用02表示y-轴坐标是偶数,03表示y-轴坐标是奇数)。收集和聚合一定量的签名后,输出上述的验证过程步骤的顺序不是严格的,若干验证过程和步骤的顺序可以调换和组合,其顺序对签名的生成和验证的正确性不关键。但是,合适的验证操作顺序可以尽早发现签名的错误,从而节省时间。
所述聚合签名验证者得到后,记 如下验证聚合签名的有效性:确认否则聚合签名无效;验证中不存在重复的元素且Ai∈G,验证中也不存在重复的元素且ai∈G,并且且若任何验证不成功则拒绝聚合签名;对于每一个j,1≤j≤k,计算和dj=f(aj);计算并验证是否若验证通过则接受该聚合签名,否则拒绝。上述的验证过程步骤的顺序不是严格的,若干验证过程和步骤的顺序可以调换和组合,其顺序对签名的生成和验证的正确性不关键。但是,合适的验证操作顺序可以尽早发现签名的错误,从而节省时间。
下面我们给出发明方法的另一种具体实施方式。这种方式适合于以太坊应用中,其中签名者的身份和公钥信息并不包含在签名中,而是由签名去恢复得到。
令1≤i≤n,表示签名者,n表示系统中签名者的数目,的公钥为 的私钥为wi=xi∈Zq,其中xi从中随机选取,g是一个阶为N的有限群G′中的一个阶为素数q的循环子群G的生成元。这儿我们令G′是定义在Fp上的椭圆曲线的点构成,其中p是一个素数。令mi∈{0,1}*为待签名的信息,表示签名聚合者,表示聚合签名验证者,所述方法包括:
由所述签名者计算ei=h(mi,Ai),其中h:{0,1}*→Zq是一个从{0,1}*到Zq的抗碰撞的转换函数;由所述签名者在随机选取得的ri,计算 和di=f(ai),其中f是将ai的x-轴坐标值进行模q操作后的结果进行输出,或者f是一个抗碰撞的密码哈希函数;由所述签名者计算zi=diri+eiwimod q;由所述签名者将mi和签名发送或者广播出去,其中,包含上述的验证过程步骤的顺序不是严格的,若干验证过程和步骤的顺序可以调换和组合,其顺序对签名的生成和验证的正确性不关键。但是,合适的验证操作顺序可以尽早发现签名的错误,从而节省时间。
所述签名聚合者设置三个初始变量其中为初始化为空的集合,z初始化为0;由所述签名聚合者得到{mi,si}之后,验证zi均为中的元素以及ai∈G(否则拒绝签名);计算d=f(a),计算 验证是否或如果已经在集合中出现,则拒绝该签名;否则,令z:=z+zimod q;这儿中的每一个元素ai用其在椭圆曲线上的简洁表示,即:ai的x-轴坐标,和另一个标记其y-轴正负号和/或奇偶性的值来表示(在比特币系统中,是用02表示y-轴坐标是偶数,03表示y-轴坐标是奇数)。收集和聚合一定量的签名后,输出上述的验证过程步骤的顺序不是严格的,若干验证过程和步骤的顺序可以调换和组合,其顺序对签名的生成和验证的正确性不关键。但是,合适的验证操作顺序可以尽早发现签名的错误,从而节省时间。
所述聚合签名验证者得到后,记 如下验证聚合签名的有效性:确认否则聚合签名无效;验证中不存在重复的元素且Ai∈G,验证中也不存在重复的元素且ai∈G,并且且若任何验证不成功则拒绝聚合签名;对于每一个j,1≤j≤k,计算和dj=f(aj);计算并验证是否若验证通过则接受该聚合签名,否则拒绝。上述的验证过程步骤的顺序不是严格的,若干验证过程和步骤的顺序可以调换和组合,其顺序对签名的生成和验证的正确性不关键。但是,合适的验证操作顺序可以尽早发现签名的错误,从而节省时间。
本发明给出一个高效的聚合数字签名方法,这是目前已知的唯一一种基于一般性有限群且可证明安全的聚合签名方法,解决了这个领域长期未解决的公开问题。所发明的聚合数字签名方法的可证明安全引入了非延展单向函数这一新型基础原语。所发明的新的数字签名方法可大幅缩小签名的存储空间和减少验证时间,特别有利于在区块链和密码货币领域应用。
Claims (9)
1.一种聚合数字签名方法,其中,表示签名者,n≥1是一个正整数表示系统中需要聚合的签名的数目,的公钥为 的私钥为wi=xi∈Zq={0,1,2,...,q-1}或wi=-xi∈Zq,其中g是一个阶为N的有限群G′中的一个阶为素数q的循环子群G的生成元,mi∈{0,1}*为待签名的信息,其中{0,1}*表示的是任意长度的0-1串的集合;这儿,对于任意的i,j,1≤i≠j≤n,有可能和/或Ai=Aj和/或mi=mj;表示签名聚合者,表示聚合签名验证者,所述方法包括:
由所述签名者计算zi,其中zi的计算基于diri+eiwi或diri-eiwi或eiri+diwi或eiri-diwi或-(diri+eiwi)或-(diri-eiwi)或-(eiri+diwi)或-(eiri-diwi);具体选用哪种方式可由用户协商或签名者指定,但是一旦确定就应固定,并且所有的签名验证者知晓z的计算方式;
所述签名聚合者设置三个初始变量其中为初始化为空的集合,z初始化为0;由所述签名聚合者得到消息和签名对{mi,si},得到所述签名者的公钥Ai∈G、得到ai∈G,然后验证{Ai,mi,si,ai}的有效性,若验证通过则令:z:=z+zimod q;收集和聚合一定量的签名后,输出或其中M={m1,…,mk},说明m可能相同,某些情况下要检查m相同 或或
然后按照如下情况之一验证聚合签名的有效性:
若且zi的计算基于diri+eiwi或diri-eiwi或-(diri+eiwi)或-(diri-eiwi)或eiri+diwi或eiri-diwi或-(eiri+diwi)或-(eiri-diwi),确认di和zi是Zq中的元素,否则签名无效,得的或或或或 或或或 验证是否或相等表示有效,否则表示无效;具体选用哪种方式可由用户协商或签名者指定,但是一旦确定就应固定,并且所有用户知晓;
若且zi的计算基于diri+eiwi或diri-eiwi或-(diri+eiwi)或-(diri-eiwi)或eiri+diwi或eiri-diwi或-(eiri+diwi)或-(eiri-diwi),确认zi是Zq中的元素,否则签名无效,得到验证是否或或或或 或或或相等表示有效,否则表示无效,其中1G表示群G的单位元;
8.如权利要求1所述的方法,其中,G是定义在椭圆曲线上的有限循环群,G中的元素,比如Ai和ai有两种表示方式:一种完整的表示方式,G中一个非单位元的元素对应椭圆曲线上的一个点,用该点的x-轴坐标和y-轴坐标来表示;另一种是简洁表示方式,G中一个非单位元的元素用椭圆曲线上该点的x-轴坐标和y-轴坐标的正负号和/或奇偶性来表示,其中正负号和/或奇偶性用两个不同的值进行标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810399463.8A CN108650097B (zh) | 2018-04-28 | 2018-04-28 | 一种高效的聚合数字签名方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810399463.8A CN108650097B (zh) | 2018-04-28 | 2018-04-28 | 一种高效的聚合数字签名方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108650097A CN108650097A (zh) | 2018-10-12 |
CN108650097B true CN108650097B (zh) | 2021-03-09 |
Family
ID=63748573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810399463.8A Active CN108650097B (zh) | 2018-04-28 | 2018-04-28 | 一种高效的聚合数字签名方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108650097B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109462481B (zh) * | 2018-11-23 | 2022-04-26 | 上海扈民区块链科技有限公司 | 一种基于非对称双线性对的匿签密方法 |
CN111385096B (zh) * | 2018-12-28 | 2023-08-08 | 北京沃东天骏信息技术有限公司 | 一种区块链网络系统、签名处理方法、终端及存储介质 |
CN110097362A (zh) * | 2019-04-11 | 2019-08-06 | 南京信息工程大学 | 基于指定验证者的有序聚合签名来压缩区块链大小的方法 |
CN110351096B (zh) * | 2019-07-24 | 2022-02-01 | 深圳壹账通智能科技有限公司 | 多重签名方法、签名中心、程序介质及电子设备 |
CN110932867B (zh) * | 2019-11-27 | 2022-05-31 | 台州稳迅自动化设备有限公司 | 一种切割机自动送料区块链数据分析方法 |
CN111314067B (zh) * | 2020-02-05 | 2021-04-16 | 腾讯科技(深圳)有限公司 | 区块存储方法、装置、计算机设备及存储介质 |
CN112989436B (zh) * | 2021-03-30 | 2022-04-22 | 广西师范大学 | 一种基于区块链平台的多重签名方法 |
CN114499878A (zh) * | 2022-01-14 | 2022-05-13 | 复旦大学 | 一种对含指数关系检验的数字签名增量聚合方法 |
CN117874838B (zh) * | 2024-03-11 | 2024-05-17 | 誉农智汇(成都)农业科技发展集团有限公司 | 一种基于区块链的农业金融服务方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005114900A2 (en) * | 2004-05-20 | 2005-12-01 | Ntt Docomo Inc. | Digital signatures including identity-based aggregate signatures |
CN101547099A (zh) * | 2009-05-07 | 2009-09-30 | 张键红 | 基于椭圆曲线的自认证签名方法与装置 |
CN103002040A (zh) * | 2012-12-14 | 2013-03-27 | 南京邮电大学 | 一种云计算用户数据检查的方法 |
CN106453253A (zh) * | 2016-09-06 | 2017-02-22 | 赵运磊 | 一种高效的基于身份的匿签密方法 |
CN106789082A (zh) * | 2017-01-11 | 2017-05-31 | 西南石油大学 | 基于无线体域网的云存储医疗数据批量自审计方法 |
CN107592203A (zh) * | 2017-09-25 | 2018-01-16 | 深圳技术大学筹备办公室 | 一种基于格的聚合签名方法及其系统 |
CN107968708A (zh) * | 2017-11-10 | 2018-04-27 | 财付通支付科技有限公司 | 生成签名的方法、装置、终端及服务器 |
-
2018
- 2018-04-28 CN CN201810399463.8A patent/CN108650097B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005114900A2 (en) * | 2004-05-20 | 2005-12-01 | Ntt Docomo Inc. | Digital signatures including identity-based aggregate signatures |
CN101547099A (zh) * | 2009-05-07 | 2009-09-30 | 张键红 | 基于椭圆曲线的自认证签名方法与装置 |
CN103002040A (zh) * | 2012-12-14 | 2013-03-27 | 南京邮电大学 | 一种云计算用户数据检查的方法 |
CN106453253A (zh) * | 2016-09-06 | 2017-02-22 | 赵运磊 | 一种高效的基于身份的匿签密方法 |
CN106789082A (zh) * | 2017-01-11 | 2017-05-31 | 西南石油大学 | 基于无线体域网的云存储医疗数据批量自审计方法 |
CN107592203A (zh) * | 2017-09-25 | 2018-01-16 | 深圳技术大学筹备办公室 | 一种基于格的聚合签名方法及其系统 |
CN107968708A (zh) * | 2017-11-10 | 2018-04-27 | 财付通支付科技有限公司 | 生成签名的方法、装置、终端及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN108650097A (zh) | 2018-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108650097B (zh) | 一种高效的聚合数字签名方法 | |
CN108551392B (zh) | 一种基于sm9数字签名的盲签名生成方法及系统 | |
CN108667626A (zh) | 安全的两方协作sm2签名方法 | |
CN102387019B (zh) | 无证书部分盲签名方法 | |
EP2442484A1 (en) | Authenticated encryption for digital signatures with message recovery | |
US20140372765A1 (en) | Hashing Prefix-Free Values in a Signature Scheme | |
WO2012049629A1 (en) | Authenticated encryption for digital signatures with message recovery | |
CN101626364A (zh) | 一类可基于口令、抗秘密数据泄露的认证和密钥交换方法 | |
CN112446052B (zh) | 一种适用于涉密信息系统的聚合签名方法及系统 | |
CN107171788B (zh) | 一种基于身份且签名长度恒定的在线离线聚合签名方法 | |
CN102104481B (zh) | 一种基于椭圆曲线的密钥交换方法 | |
CN108234129A (zh) | 一种基于格密码的双向认证密钥协商方法与系统 | |
CN106936584A (zh) | 一种无证书公钥密码系统的构造方法 | |
Saepulrohman et al. | Data integrity and security of digital signatures on electronic systems using the digital signature algorithm (DSA) | |
CN102064940B (zh) | 一种在线/离线高效的数字签名方法 | |
CN112511314B (zh) | 一种基于身份的可恢复消息盲签名生成方法 | |
CN114065233A (zh) | 一种面向大数据和区块链应用的数字签名聚合方法 | |
CN105049451B (zh) | 生成数字签名的方法和验证数字签名的方法 | |
CN114978488A (zh) | 一种基于sm2算法的协同签名方法及系统 | |
CN101645870A (zh) | 一类高效、公平的密钥交换方法 | |
CN112217629A (zh) | 一种云存储公开审计方法 | |
KR100525124B1 (ko) | 전자 서명된 문서의 검증 방법 | |
CN111064581B (zh) | 一种有连接能力的隐私保护方法及系统 | |
CN105515775B (zh) | 一种高效且隐私保护的签密方法 | |
Lv et al. | Ring authenticated encryption: a new type of authenticated encryption |
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 | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Huang Xingzhong Inventor before: Zhao Yunlei Inventor before: Huang Xingzhong |