CN108650097B - 一种高效的聚合数字签名方法 - Google Patents

一种高效的聚合数字签名方法 Download PDF

Info

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
Application number
CN201810399463.8A
Other languages
English (en)
Other versions
CN108650097A (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.)
Shanghai Humin Blockchain Technology Co ltd
Original Assignee
Shanghai Humin Blockchain Technology Co ltd
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 Shanghai Humin Blockchain Technology Co ltd filed Critical Shanghai Humin Blockchain Technology Co ltd
Priority to CN201810399463.8A priority Critical patent/CN108650097B/zh
Publication of CN108650097A publication Critical patent/CN108650097A/zh
Application granted granted Critical
Publication of CN108650097B publication Critical patent/CN108650097B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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},记
Figure BDA0001645355550000011
为数字集合{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。在下面的叙述中使用“^”符号(比如,
Figure BDA0001645355550000012
)来标示一个用户或设备或程序的逻辑或“区别性”的身份(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个字符串的集合,记
Figure BDA0001645355550000021
为s1,s2,…,st的2进制0-1串编码表示,则
Figure BDA0001645355550000022
其中“||”表示的是字符串联结操作符。注意
Figure BDA0001645355550000023
联结的顺序可以变化,但联结的顺序需固定且所有的用户知晓且使用相同的顺序进行联结操作。对于
Figure BDA0001645355550000031
若其中si,1≤i≤t,是空串,则
Figure BDA0001645355550000032
上述关于转换函数f的描述同样适用转换函数h。
假定签名者,记为
Figure BDA0001645355550000033
有一个签名公钥U,签名公钥U与签名者身份A的绑定由一个可信的第三方机构来执行。通常,可信的第三方机构会检查
Figure BDA0001645355550000034
的身份的有效性以及U的有效性,然后对
Figure BDA0001645355550000035
做一个数字签名,并将
Figure BDA0001645355550000036
以及可信第三方的签名形成一个针对
Figure BDA0001645355550000037
公钥证书,记为
Figure BDA0001645355550000038
但是在区块链和去中心化应用中,并没有中心化的机构对用户身份和其公钥进行绑定。
数字签名方法是密码技术的主要应用之一。基于离散对数的数字签名方案主要有Schnorr签名方案和国际数字签名标准(Digital Signature Standard(DSS))方案。聚合签名指的是这样一种技术:将多个独立生成的签名聚合起来,以减少签名存储的空间,并加快签名验证的时间。
Schnorr签名方案运作如下:
签名公钥:U=g-w∈G,其中
Figure BDA0001645355550000039
其中,G是有限群G′中的一个循环子群,g是G的生成元;记Zq为数字集合{0,1…,q-1},
Figure BDA00016453555500000310
为数字集合{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)方案运作如下:
签名公钥:U=gw∈G,其中
Figure BDA00016453555500000311
签名私钥:w。
签名的生成:记m∈{0,1}*为需要签名的信息。令h:{0,1}*→Zq为一个抗碰撞的哈希函数。令f:G′→Zq是一个转换函数。一般而言,若
Figure BDA0001645355550000041
(p是个素数),f直接可以是“modq”操作;若G′是定义在有限域上的一个椭圆曲线群(即:a∈G表示椭圆曲线上的一个点(x,y)),f(a)=x。签名者做如下计算:
从Zq中随机选取r,计算a=gr∈G,
Figure BDA0001645355550000042
计算d=f(a);e=h(m);
计算
Figure BDA0001645355550000043
将(d,z)作为对m的签名。
签名的验证:得到{m,(d,z)}以及签名公钥U后,签名验证者如下验证签名的有效性:
计算
Figure BDA0001645355550000044
验证
Figure BDA0001645355550000045
Figure BDA0001645355550000046
则接受签名,否则拒绝。
Schnorr签名方案和数字签名标准(DSS)方案应用于签名聚合的可能性:已有的研究表明DSS签名方案不适合做签名聚合。而已有的研究成果表明Schnorr签名用于聚合签名时也不安全,这是通过具体的攻击来表明的。实际上,如何在一般的有限循环群上构建聚合签名是长期未解决的公开问题,本发明给出的高效聚合签名方案是第一个基于一般有限群的聚合签名方案,并具有可证明安全保证。
发明内容
本发明给出一种高效的聚合数字签名方法,是目前唯一已知的基于一般有限群的聚合签名方案,解决了基于一般有限群构建可证明安全聚合签名的长期公开问题。所发明的聚合签名方法在区块链和密码货币领域具有重要应用。
本发明提供一种高效的聚合数字签名方法,其中,
Figure BDA0001645355550000047
1≤i≤n,表示签名者,n≥1是一个正整数表示系统中需要聚合的签名的数目,
Figure BDA0001645355550000048
的公钥为
Figure BDA0001645355550000049
Figure BDA00016453555500000410
的私钥为wi=xi∈Zq={0,1,2,…,q-1}或wi=-xi∈Zq,其中g是一个阶为N的有限群G′中的一个阶为素数q的循环子群G的生成元,mi∈{0,1}*
Figure BDA00016453555500000411
待签名的信息,其中{0,1}*表示的是任意长度的0-1串的集合;这儿,对于任意的i,j,1≤i≠j≤n,有可能
Figure BDA00016453555500000412
和/或Ai=Aj和/或mi=mj
Figure BDA0001645355550000051
表示签名聚合者,
Figure BDA0001645355550000052
表示聚合签名验证者,所述方法包括:
由所述签名者
Figure BDA0001645355550000053
得到ri∈Zq
Figure BDA0001645355550000054
和/或
Figure BDA0001645355550000055
其中f是一个从{0,1}*到Zq的转换函数且ai是f的输入之一,
Figure BDA0001645355550000056
是一个包含
Figure BDA0001645355550000057
的集合的能够为空的子集合;
由所述签名者
Figure BDA0001645355550000058
得到
Figure BDA0001645355550000059
其中h:{0,1}*→Zq是一个从{0,1}*到Zq的抗碰撞的转换函数且mi是h的输入之一,
Figure BDA00016453555500000510
是一个包含
Figure BDA00016453555500000511
的集合的能够为空的子集合,其中,{0,1}*表示的是任意0-1串的集合;
由所述签名者
Figure BDA00016453555500000512
计算zi,其中zi的计算基于diri+eiwi或diri-eiwi或eiri+diwi或eiri-diwi或-(diri+eiwi)或-(diri-eiwi)或-(eiri+diwi)或-(eiri-diwi);具体选用哪种方式可由用户协商或签名者指定,但是一旦确定就应固定,并且所有的签名验证者知晓z的计算方式;
由所述签名者
Figure BDA00016453555500000513
Figure BDA00016453555500000514
Figure BDA00016453555500000515
Figure BDA00016453555500000516
Figure BDA00016453555500000517
Figure BDA00016453555500000518
作为对信息mi的数字签名,其中,
Figure BDA00016453555500000519
是一个包含
Figure BDA00016453555500000520
的集合的能够为空的子集合,
Figure BDA00016453555500000521
Figure BDA00016453555500000522
系统参数{G′,G,g,q},转换函数h,f,以及辅助输入
Figure BDA00016453555500000523
或者是固定的并被所有的用户事先获知,或者被包含在证书中,或者在协议运行之前或之中被交换和协商;
所述签名聚合者
Figure BDA00016453555500000524
设置三个初始变量
Figure BDA00016453555500000525
其中
Figure BDA00016453555500000526
为初始化为空的集合,z初始化为0;由所述签名聚合者
Figure BDA00016453555500000527
得到消息和签名对{mi,si},得到所述签名者
Figure BDA00016453555500000528
的公钥Ai∈G、得到ai∈G,然后验证{Ai,mi,si,ai}的有效性,若验证通过则令:
Figure BDA00016453555500000529
z:=z+zimod q;收集和聚合一定量的签名后,
Figure BDA00016453555500000530
输出
Figure BDA00016453555500000531
Figure BDA00016453555500000532
Figure BDA00016453555500000533
其中M={m1,…,mk}(在用于多重签名时,签名者和验证者需检查确认m1=…=mk),
Figure BDA00016453555500000534
Figure BDA00016453555500000535
Figure BDA00016453555500000536
Figure BDA00016453555500000537
所述聚合签名验证者
Figure BDA00016453555500000538
得到
Figure BDA00016453555500000539
Figure BDA00016453555500000540
Figure BDA00016453555500000541
后,记
Figure BDA00016453555500000542
Figure BDA00016453555500000543
其中k是一个正整数满足1≤k≤n;
Figure BDA0001645355550000061
如下验证聚合签名的有效性:确认z∈Zq,否则聚合签名无效;
如果收到的是
Figure BDA0001645355550000062
验证
Figure BDA0001645355550000063
的有效性,验证
Figure BDA0001645355550000064
的有效性并确保
Figure BDA0001645355550000065
Figure BDA0001645355550000066
其中||表示的集合的大小,对于每一个j,1≤j≤k,得到
Figure BDA0001645355550000067
Figure BDA0001645355550000068
Figure BDA0001645355550000069
如果收到的是
Figure BDA00016453555500000610
验证
Figure BDA00016453555500000611
验证
Figure BDA00016453555500000612
的有效性并确保
Figure BDA00016453555500000613
Figure BDA00016453555500000614
其中||表示的集合的大小,对于每一个j,1≤j≤k,得到
Figure BDA00016453555500000615
Figure BDA00016453555500000616
然后按照如下情况之一验证聚合签名的有效性:
若zi的计算基于diri+eiwi或diri-eiwi或-(diri+eiwi)或-(diri-eiwi),则通过计算函数
Figure BDA00016453555500000617
来验证聚合签名的有效性;
若zi的计算基于eiri+diwi或eiri-diwi或-(eiri+eiwi)或-(eiri-diwi),则通过计算函数
Figure BDA00016453555500000618
来验证聚合签名的有效性。
如上所述的方法,其中,所述签名聚合者
Figure BDA00016453555500000619
如下得到所述签名者
Figure BDA00016453555500000620
的公钥Ai∈G、得到ai∈G,并验证{Ai,mi,si,ai}的有效性:
Figure BDA00016453555500000621
且zi的计算基于diri+eiwi或diri-eiwi或-(diri+eiwi)或-(diri-eiwi)或eiri+diwi或eiri-diwi或-(eiri+diwi)或-(eiri-diwi),确认di和zi是Zq中的元素,否则签名无效,得的
Figure BDA00016453555500000622
Figure BDA00016453555500000623
Figure BDA00016453555500000624
Figure BDA00016453555500000625
Figure BDA00016453555500000626
Figure BDA00016453555500000627
Figure BDA00016453555500000628
Figure BDA00016453555500000629
Figure BDA00016453555500000630
Figure BDA00016453555500000631
验证是否
Figure BDA00016453555500000632
Figure BDA00016453555500000633
相等表示有效,否则表示无效;具体选用哪种方式可由用户协商或签名者指定,但是一旦确定就应固定,并且所有用户知晓;
Figure BDA00016453555500000634
且zi的计算基于diri+eiwi或diri-eiwi或-(diri+eiwi)或-(diri-eiwi)或eiri+diwi或eiri-diwi或-(eiri+diwi)或-(eiri-diwi),确认zi是Zq中的元素,否则签名无效,得到
Figure BDA00016453555500000635
验证是否
Figure BDA00016453555500000636
Figure BDA00016453555500000637
Figure BDA00016453555500000638
Figure BDA00016453555500000639
Figure BDA00016453555500000640
Figure BDA00016453555500000641
Figure BDA00016453555500000642
Figure BDA00016453555500000643
Figure BDA00016453555500000644
相等表示有效,否则表示无效,其中1G表示群G的单位元;
Figure BDA0001645355550000071
其中,
Figure BDA0001645355550000072
包含{ei,ai},确认ei和zi是Zq中的元素且ai∈G,否则签名无效,得到
Figure BDA0001645355550000073
得的
Figure BDA0001645355550000074
Figure BDA0001645355550000075
Figure BDA0001645355550000076
Figure BDA0001645355550000077
Figure BDA0001645355550000078
Figure BDA0001645355550000079
Figure BDA00016453555500000710
Figure BDA00016453555500000711
Figure BDA00016453555500000712
Figure BDA00016453555500000713
Figure BDA00016453555500000714
Figure BDA00016453555500000715
Figure BDA00016453555500000716
Figure BDA00016453555500000717
Figure BDA00016453555500000718
Figure BDA00016453555500000719
Figure BDA00016453555500000720
Figure BDA00016453555500000721
Figure BDA00016453555500000722
Figure BDA00016453555500000723
验证是否
Figure BDA00016453555500000724
Figure BDA00016453555500000725
相等表示有效,否则表示无效,其中1G是群G的单位元;具体选用哪种方式可由用户协商或签名者指定,但是一旦确定就应固定,并且所有用户知晓。
如上所述的方法,其中,所述函数F1和F2的计算和有效性通过如下方法检验:
函数
Figure BDA00016453555500000726
的计算和有效性检验通过如下方法检验:
Figure BDA00016453555500000727
Figure BDA00016453555500000728
Figure BDA00016453555500000729
Figure BDA00016453555500000730
Figure BDA00016453555500000731
相等表示函数F1有效,否则无效;
函数
Figure BDA00016453555500000732
的计算和有效性检验通过如下方法检验:
Figure BDA00016453555500000733
Figure BDA00016453555500000734
Figure BDA00016453555500000735
Figure BDA00016453555500000736
Figure BDA00016453555500000737
相等表示函数F2有效,否则无效;
具体选用哪种方式可由用户协商或签名者指定,但是一旦确定就应固定,并且所有用户知晓。
如上所述的方法,其中,所述聚合签名验证者
Figure BDA00016453555500000738
如下验证
Figure BDA00016453555500000739
Figure BDA00016453555500000740
Figure BDA00016453555500000741
的有效性:
如果对于任意的j,1≤j≤k,
Figure BDA00016453555500000742
或者
Figure BDA00016453555500000743
则聚合签名无效;
和/或,如果对于任意的i,j,1≤i≠j≤k,(Ai,mi)=(Aj,mj)或ai=aj,则聚合签名无效。
如上所述的方法,其中,所述签名聚合者
Figure BDA00016453555500000744
验证{Ai,mi,si,ai}有效性的方法还包括:如果
Figure BDA0001645355550000081
Figure BDA0001645355550000082
则{Ai,mi,si,ai}无效。
如上所述的方法,其中,zi的计算是模q的,
Figure BDA0001645355550000083
包含
Figure BDA0001645355550000084
和/或Ai,和/或
Figure BDA0001645355550000085
包含
Figure BDA0001645355550000086
如果
Figure BDA0001645355550000087
包含
Figure BDA0001645355550000088
则所述签名聚合者
Figure BDA0001645355550000089
通过验证
Figure BDA00016453555500000810
来确认
Figure BDA00016453555500000811
如上所述的方法,其中,所述签名者
Figure BDA00016453555500000812
确保ri≠0和/或zi≠0。
如上所述的方法,其中,G是定义在椭圆曲线上的有限循环群,G中的元素,比如Ai和ai有两种表示方式:一种完整的表示方式,G中一个非单位元的元素对应椭圆曲线上的一个点,用该点的x-轴坐标和y-轴坐标来表示;另一种是简洁表示方式,G中一个非单位元的元素用椭圆曲线上该点的x-轴坐标和y-轴坐标的正负号和/或奇偶性来表示,其中正负号和/或奇偶性用两个不同的值进行标识。
如上所述的方法,其中,转换函数f有如下实现方式:f是一个哈希函数,或
Figure BDA00016453555500000813
输出ximod q,其中xi是ai的x-轴坐标值,或f和h是同一个函数。
本发明的方法是目前已知的唯一一种基于一般性有限群的可证明安全的聚合签名方法,解决这个领域长期未解决的公开问题。发明人证明,假设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},记
Figure BDA00016453555500000814
为数字集合{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。发明人使用“^”符号(比如,
Figure BDA0001645355550000091
)来标示一个用户或设备或程序的逻辑或“区别性”的身份(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′的阶(比如,若对于一个大素数
Figure BDA0001645355550000101
则N+1=p),aux是任意字符串或字符串的集合;若X=(x,y)∈G是椭圆曲线上的一个点,其中x,y∈Zq,则可令f(X,aux)=x或y;其它可以使用的专函函数还有:
Figure BDA0001645355550000102
Figure BDA0001645355550000103
其中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个字符串的集合,记
Figure BDA0001645355550000104
为s1,s2,…,st的2进制0-1串编码表示,则
Figure BDA0001645355550000105
其中“||”表示的是字符串联结操作符。注意
Figure BDA0001645355550000106
联结的顺序可以变化,但联结的顺序需固定且所有的用户知晓且使用相同的顺序进行联结操作。对于
Figure BDA0001645355550000107
若其中si,1≤i≤t,是空串,则
Figure BDA0001645355550000108
上述关于转换函数f的描述同样适用转换函数h。
Figure BDA0001645355550000109
1≤i≤n,表示签名者,n表示系统中签名者的数目,
Figure BDA00016453555500001010
的公钥为
Figure BDA00016453555500001011
Figure BDA00016453555500001012
的私钥为wi=-xi∈Zq,其中xi
Figure BDA00016453555500001013
中随机选取,g是一个阶为N的有限群G′中的一个阶为素数q的循环子群G的生成元。这儿我们令G′是定义在Fp上的椭圆曲线的点构成,其中p是一个素数。令mi∈{0,1}*
Figure BDA00016453555500001014
待签名的信息,
Figure BDA00016453555500001015
表示签名聚合者,
Figure BDA00016453555500001016
表示聚合签名验证者,所述方法包括:
由所述签名者
Figure BDA00016453555500001017
计算
Figure BDA00016453555500001018
其中h:{0,1}*→Zq是一个从{0,1}*到Zq的抗碰撞的转换函数;由所述签名者
Figure BDA0001645355550000111
Figure BDA0001645355550000112
随机选取得的ri,计算
Figure BDA0001645355550000113
Figure BDA0001645355550000114
和di=f(ai),其中f是将ai的x-轴坐标值进行模q操作后的结果进行输出,或者f是一个抗碰撞的密码哈希函数;由所述签名者
Figure BDA0001645355550000115
计算zi=diri+eiwimod q;由所述签名者将
Figure BDA0001645355550000116
和签名
Figure BDA0001645355550000117
发送或者广播出去,其中,
Figure BDA0001645355550000118
是一个空集或者仅包含
Figure BDA0001645355550000119
上述的验证过程步骤的顺序不是严格的,若干验证过程和步骤的顺序可以调换和组合,其顺序对签名的生成和验证的正确性不关键。但是,合适的验证操作顺序可以尽早发现签名的错误,从而节省时间。
系统参数{G′,G,g,q},转换函数h,f,以及辅助输入
Figure BDA00016453555500001110
或者是固定的并被所有的用户事先获知,或者被包含在证书中,或者在协议运行之前或之中被交换和协商。
所述签名聚合者
Figure BDA00016453555500001111
设置三个初始变量
Figure BDA00016453555500001112
其中
Figure BDA00016453555500001113
为初始化为空的集合,z初始化为0;由所述签名聚合者
Figure BDA00016453555500001114
得到所述签名者
Figure BDA00016453555500001115
的公钥Ai、消息和签名对{mi,si}之后,验证di,zi均为
Figure BDA00016453555500001116
中的元素以及Ai∈G(否则拒绝签名);如果
Figure BDA00016453555500001117
包含
Figure BDA00016453555500001118
则验证
Figure BDA00016453555500001119
Figure BDA00016453555500001120
(否则拒绝签名);计算
Figure BDA00016453555500001121
并验证di=f(ai),若验证不成功则拒绝签名;验证是否
Figure BDA00016453555500001122
Figure BDA00016453555500001123
如果已经在集合中出现,则拒绝该签名;否则,令
Figure BDA00016453555500001124
z:=z+zimod q;这儿
Figure BDA00016453555500001125
中的每一个元素ai用其在椭圆曲线上的简洁表示,即:ai的x-轴坐标,和另一个标记其y-轴正负号和/或奇偶性的值来表示(在比特币系统中,是用02表示y-轴坐标是偶数,03表示y-轴坐标是奇数)。收集和聚合一定量的签名后,
Figure BDA00016453555500001126
输出
Figure BDA00016453555500001127
上述的验证过程步骤的顺序不是严格的,若干验证过程和步骤的顺序可以调换和组合,其顺序对签名的生成和验证的正确性不关键。但是,合适的验证操作顺序可以尽早发现签名的错误,从而节省时间。
所述聚合签名验证者
Figure BDA00016453555500001128
得到
Figure BDA00016453555500001129
后,记
Figure BDA00016453555500001130
Figure BDA00016453555500001131
Figure BDA00016453555500001132
如下验证聚合签名的有效性:确认
Figure BDA00016453555500001133
否则聚合签名无效;验证
Figure BDA00016453555500001134
中不存在重复的元素且Ai∈G,验证
Figure BDA00016453555500001135
中也不存在重复的元素且ai∈G,并且且
Figure BDA00016453555500001136
若任何验证不成功则拒绝聚合签名;对于每一个j,1≤j≤k,计算
Figure BDA0001645355550000121
和dj=f(aj);计算并验证是否
Figure BDA0001645355550000122
若验证通过则接受该聚合签名,否则拒绝。上述的验证过程步骤的顺序不是严格的,若干验证过程和步骤的顺序可以调换和组合,其顺序对签名的生成和验证的正确性不关键。但是,合适的验证操作顺序可以尽早发现签名的错误,从而节省时间。
下面我们给出发明方法的另一种具体实施方式。这种方式适合于以太坊应用中,其中签名者的身份和公钥信息并不包含在签名中,而是由签名去恢复得到。
Figure BDA0001645355550000123
1≤i≤n,表示签名者,n表示系统中签名者的数目,
Figure BDA0001645355550000124
的公钥为
Figure BDA0001645355550000125
Figure BDA0001645355550000126
的私钥为wi=xi∈Zq,其中xi
Figure BDA0001645355550000127
中随机选取,g是一个阶为N的有限群G′中的一个阶为素数q的循环子群G的生成元。这儿我们令G′是定义在Fp上的椭圆曲线的点构成,其中p是一个素数。令mi∈{0,1}*
Figure BDA0001645355550000128
待签名的信息,
Figure BDA0001645355550000129
表示签名聚合者,
Figure BDA00016453555500001210
表示聚合签名验证者,所述方法包括:
由所述签名者
Figure BDA00016453555500001211
计算ei=h(mi,Ai),其中h:{0,1}*→Zq是一个从{0,1}*到Zq的抗碰撞的转换函数;由所述签名者
Figure BDA00016453555500001212
Figure BDA00016453555500001213
随机选取得的ri,计算
Figure BDA00016453555500001214
Figure BDA00016453555500001215
和di=f(ai),其中f是将ai的x-轴坐标值进行模q操作后的结果进行输出,或者f是一个抗碰撞的密码哈希函数;由所述签名者
Figure BDA00016453555500001216
计算zi=diri+eiwimod q;由所述签名者将mi和签名
Figure BDA00016453555500001217
发送或者广播出去,其中,
Figure BDA00016453555500001218
包含
Figure BDA00016453555500001219
上述的验证过程步骤的顺序不是严格的,若干验证过程和步骤的顺序可以调换和组合,其顺序对签名的生成和验证的正确性不关键。但是,合适的验证操作顺序可以尽早发现签名的错误,从而节省时间。
系统参数{G′,G,g,q},转换函数h,f,以及辅助输入
Figure BDA00016453555500001220
或者是固定的并被所有的用户事先获知,或者被包含在证书中,或者在协议运行之前或之中被交换和协商。
所述签名聚合者
Figure BDA00016453555500001221
设置三个初始变量
Figure BDA00016453555500001222
其中
Figure BDA00016453555500001223
为初始化为空的集合,z初始化为0;由所述签名聚合者
Figure BDA00016453555500001224
得到{mi,si}之后,验证
Figure BDA00016453555500001225
zi均为
Figure BDA00016453555500001226
中的元素以及ai∈G(否则拒绝签名);计算d=f(a),计算
Figure BDA00016453555500001227
Figure BDA0001645355550000131
验证是否
Figure BDA0001645355550000132
Figure BDA0001645355550000133
如果已经在集合中出现,则拒绝该签名;否则,令
Figure BDA0001645355550000134
z:=z+zimod q;这儿
Figure BDA0001645355550000135
中的每一个元素ai用其在椭圆曲线上的简洁表示,即:ai的x-轴坐标,和另一个标记其y-轴正负号和/或奇偶性的值来表示(在比特币系统中,是用02表示y-轴坐标是偶数,03表示y-轴坐标是奇数)。收集和聚合一定量的签名后,
Figure BDA0001645355550000136
输出
Figure BDA0001645355550000137
上述的验证过程步骤的顺序不是严格的,若干验证过程和步骤的顺序可以调换和组合,其顺序对签名的生成和验证的正确性不关键。但是,合适的验证操作顺序可以尽早发现签名的错误,从而节省时间。
所述聚合签名验证者
Figure BDA0001645355550000138
得到
Figure BDA0001645355550000139
后,记
Figure BDA00016453555500001310
Figure BDA00016453555500001311
Figure BDA00016453555500001312
如下验证聚合签名的有效性:确认
Figure BDA00016453555500001313
否则聚合签名无效;验证
Figure BDA00016453555500001314
中不存在重复的元素且Ai∈G,验证
Figure BDA00016453555500001315
中也不存在重复的元素且ai∈G,并且且
Figure BDA00016453555500001316
若任何验证不成功则拒绝聚合签名;对于每一个j,1≤j≤k,计算
Figure BDA00016453555500001317
和dj=f(aj);计算并验证是否
Figure BDA00016453555500001318
若验证通过则接受该聚合签名,否则拒绝。上述的验证过程步骤的顺序不是严格的,若干验证过程和步骤的顺序可以调换和组合,其顺序对签名的生成和验证的正确性不关键。但是,合适的验证操作顺序可以尽早发现签名的错误,从而节省时间。
本发明给出一个高效的聚合数字签名方法,这是目前已知的唯一一种基于一般性有限群且可证明安全的聚合签名方法,解决了这个领域长期未解决的公开问题。所发明的聚合数字签名方法的可证明安全引入了非延展单向函数这一新型基础原语。所发明的新的数字签名方法可大幅缩小签名的存储空间和减少验证时间,特别有利于在区块链和密码货币领域应用。

Claims (9)

1.一种聚合数字签名方法,其中,
Figure FDA0002891572130000011
表示签名者,n≥1是一个正整数表示系统中需要聚合的签名的数目,
Figure FDA0002891572130000012
的公钥为
Figure FDA0002891572130000013
Figure FDA0002891572130000014
Figure FDA0002891572130000015
的私钥为wi=xi∈Zq={0,1,2,...,q-1}或wi=-xi∈Zq,其中g是一个阶为N的有限群G′中的一个阶为素数q的循环子群G的生成元,mi∈{0,1}*
Figure FDA0002891572130000016
待签名的信息,其中{0,1}*表示的是任意长度的0-1串的集合;这儿,对于任意的i,j,1≤i≠j≤n,有可能
Figure FDA0002891572130000017
和/或Ai=Aj和/或mi=mj
Figure FDA0002891572130000018
表示签名聚合者,
Figure FDA0002891572130000019
表示聚合签名验证者,所述方法包括:
由所述签名者
Figure FDA00028915721300000110
得到ri∈Zq
Figure FDA00028915721300000111
和/或
Figure FDA00028915721300000112
其中f是一个从{0,1}*到Zq的转换函数且ai是f的输入之一,
Figure FDA00028915721300000113
是一个包含
Figure FDA00028915721300000114
的集合的能够为空的子集合;
由所述签名者
Figure FDA00028915721300000115
得到
Figure FDA00028915721300000116
其中h:{0,1}*→Zq是一个从{0,1}*到Zq的抗碰撞的转换函数且mi是h的输入之一,
Figure FDA00028915721300000117
是一个包含
Figure FDA00028915721300000118
的集合的能够为空的子集合,其中,{0,1}*表示的是任意0-1串的集合;
由所述签名者
Figure FDA00028915721300000119
计算zi,其中zi的计算基于diri+eiwi或diri-eiwi或eiri+diwi或eiri-diwi或-(diri+eiwi)或-(diri-eiwi)或-(eiri+diwi)或-(eiri-diwi);具体选用哪种方式可由用户协商或签名者指定,但是一旦确定就应固定,并且所有的签名验证者知晓z的计算方式;
由所述签名者
Figure FDA00028915721300000120
Figure FDA00028915721300000121
Figure FDA00028915721300000122
Figure FDA00028915721300000123
Figure FDA00028915721300000124
Figure FDA00028915721300000125
作为对信息mi的数字签名,其中,
Figure FDA00028915721300000126
是一个包含
Figure FDA00028915721300000127
的集合的能够为空的子集合,
Figure FDA00028915721300000128
Figure FDA00028915721300000129
系统参数{G′,G,g,q},转换函数h,f,以及辅助输入
Figure FDA00028915721300000130
或者是固定的并被所有的用户事先获知,或者被包含在证书中,或者在协议运行之前或之中被交换和协商;
所述签名聚合者
Figure FDA00028915721300000131
设置三个初始变量
Figure FDA00028915721300000132
其中
Figure FDA00028915721300000133
为初始化为空的集合,z初始化为0;由所述签名聚合者
Figure FDA00028915721300000134
得到消息和签名对{mi,si},得到所述签名者
Figure FDA00028915721300000135
的公钥Ai∈G、得到ai∈G,然后验证{Ai,mi,si,ai}的有效性,若验证通过则令:
Figure FDA0002891572130000021
z:=z+zimod q;收集和聚合一定量的签名后,
Figure FDA0002891572130000022
输出
Figure FDA0002891572130000023
Figure FDA0002891572130000024
其中M={m1,…,mk},说明m可能相同,某些情况下要检查m相同
Figure FDA0002891572130000025
Figure FDA0002891572130000026
Figure FDA0002891572130000027
Figure FDA0002891572130000028
所述聚合签名验证者
Figure FDA0002891572130000029
得到
Figure FDA00028915721300000210
Figure FDA00028915721300000211
后,记
Figure FDA00028915721300000212
Figure FDA00028915721300000213
其中k是一个正整数满足1≤k≤n;
Figure FDA00028915721300000214
如下验证聚合签名的有效性:确认z∈Zq,否则聚合签名无效;
如果收到的是
Figure FDA00028915721300000215
验证
Figure FDA00028915721300000216
的有效性,验证
Figure FDA00028915721300000217
的有效性并确保
Figure FDA00028915721300000218
Figure FDA00028915721300000219
其中| |表示的集合的大小,对于每一个j,1≤j≤k,得到
Figure FDA00028915721300000220
Figure FDA00028915721300000221
Figure FDA00028915721300000222
如果收到的是
Figure FDA00028915721300000223
验证
Figure FDA00028915721300000224
验证
Figure FDA00028915721300000225
的有效性并确保
Figure FDA00028915721300000226
Figure FDA00028915721300000227
其中||表示的集合的大小,对于每一个j,1≤j≤k,得到
Figure FDA00028915721300000228
Figure FDA00028915721300000229
然后按照如下情况之一验证聚合签名的有效性:
若zi的计算基于diri+eiwi或diri-eiwi或-(diri+eiwi)或-(diri-eiwi),则通过计算函数
Figure FDA00028915721300000230
来验证聚合签名的有效性;
若zi的计算基于eiri+diwi或eiri-diwi或-(eiri+diwi)或-(eiri-diwi),则通过计算函数
Figure FDA00028915721300000231
来验证聚合签名的有效性。
2.如权利要求1所述的方法,其中,所述签名聚合者
Figure FDA00028915721300000232
如下得到所述签名者
Figure FDA00028915721300000233
的公钥Ai∈G、得到ai∈G,并验证{Ai,mi,si,ai}的有效性:
Figure FDA00028915721300000234
且zi的计算基于diri+eiwi或diri-eiwi或-(diri+eiwi)或-(diri-eiwi)或eiri+diwi或eiri-diwi或-(eiri+diwi)或-(eiri-diwi),确认di和zi是Zq中的元素,否则签名无效,得的
Figure FDA00028915721300000235
Figure FDA00028915721300000236
Figure FDA00028915721300000237
Figure FDA00028915721300000238
Figure FDA00028915721300000239
Figure FDA00028915721300000240
Figure FDA00028915721300000241
Figure FDA00028915721300000242
Figure FDA00028915721300000243
Figure FDA00028915721300000244
验证是否
Figure FDA00028915721300000245
Figure FDA00028915721300000246
相等表示有效,否则表示无效;具体选用哪种方式可由用户协商或签名者指定,但是一旦确定就应固定,并且所有用户知晓;
Figure FDA0002891572130000031
且zi的计算基于diri+eiwi或diri-eiwi或-(diri+eiwi)或-(diri-eiwi)或eiri+diwi或eiri-diwi或-(eiri+diwi)或-(eiri-diwi),确认zi是Zq中的元素,否则签名无效,得到
Figure FDA0002891572130000032
验证是否
Figure FDA0002891572130000033
Figure FDA0002891572130000034
Figure FDA0002891572130000035
Figure FDA0002891572130000036
Figure FDA0002891572130000037
Figure FDA0002891572130000038
Figure FDA0002891572130000039
Figure FDA00028915721300000310
Figure FDA00028915721300000311
相等表示有效,否则表示无效,其中1G表示群G的单位元;
Figure FDA00028915721300000312
其中,
Figure FDA00028915721300000313
包含{ei,ai},确认ei和zi是Zq中的元素且ai∈G,否则签名无效,得到
Figure FDA00028915721300000314
得的
Figure FDA00028915721300000315
Figure FDA00028915721300000316
Figure FDA00028915721300000317
Figure FDA00028915721300000318
Figure FDA00028915721300000319
Figure FDA00028915721300000320
Figure FDA00028915721300000321
Figure FDA00028915721300000322
Figure FDA00028915721300000323
Figure FDA00028915721300000324
Figure FDA00028915721300000325
Figure FDA00028915721300000326
Figure FDA00028915721300000327
Figure FDA00028915721300000328
Figure FDA00028915721300000329
Figure FDA00028915721300000330
Figure FDA00028915721300000331
Figure FDA00028915721300000332
Figure FDA00028915721300000333
Figure FDA00028915721300000334
验证是否
Figure FDA00028915721300000335
Figure FDA00028915721300000336
相等表示有效,否则表示无效,其中1G是群G的单位元;具体选用哪种方式可由用户协商或签名者指定,但是一旦确定就应固定,并且所有用户知晓。
3.如权利要求1所述的方法,其中,所述函数F1和F2的计算和有效性通过如下方法检验:
函数
Figure FDA00028915721300000337
的计算和有效性检验通过如下方法检验:
Figure FDA00028915721300000338
Figure FDA00028915721300000339
Figure FDA00028915721300000340
Figure FDA00028915721300000341
Figure FDA00028915721300000342
相等表示函数F1有效,否则无效;
函数
Figure FDA00028915721300000343
的计算和有效性检验通过如下方法检验:
Figure FDA00028915721300000344
Figure FDA00028915721300000345
Figure FDA00028915721300000346
Figure FDA00028915721300000347
Figure FDA00028915721300000348
相等表示函数F2有效,否则无效;
具体选用哪种方式可由用户协商或签名者指定,但是一旦确定就应固定,并且所有用户知晓。
4.如权利要求1所述的方法,其中,所述聚合签名验证者
Figure FDA0002891572130000041
如下验证
Figure FDA0002891572130000042
Figure FDA0002891572130000043
的有效性:
如果对于任意的j,1≤j≤k,
Figure FDA0002891572130000044
或者
Figure FDA0002891572130000045
则聚合签名无效;
和/或,如果对于任意的i,j,1≤i≠j≤k,(Ai,mi)=(Aj,mj)或ai=aj,则聚合签名无效。
5.如权利要求2所述的方法,其中,所述签名聚合者
Figure FDA0002891572130000046
验证{Ai,mi,si,ai}有效性的方法还包括:如果
Figure FDA0002891572130000047
Figure FDA0002891572130000048
则{Ai,mi,si,ai}无效。
6.如权利要求1所述的方法,其中,zi的计算是模q的,
Figure FDA0002891572130000049
包含
Figure FDA00028915721300000410
和/或Ai,和/或
Figure FDA00028915721300000411
包含
Figure FDA00028915721300000412
如果
Figure FDA00028915721300000413
包含
Figure FDA00028915721300000414
则所述签名聚合者
Figure FDA00028915721300000415
通过验证
Figure FDA00028915721300000416
来确认
Figure FDA00028915721300000417
7.如权利要求1所述的方法,其中,所述签名者
Figure FDA00028915721300000418
确保ri≠0和/或zi≠0。
8.如权利要求1所述的方法,其中,G是定义在椭圆曲线上的有限循环群,G中的元素,比如Ai和ai有两种表示方式:一种完整的表示方式,G中一个非单位元的元素对应椭圆曲线上的一个点,用该点的x-轴坐标和y-轴坐标来表示;另一种是简洁表示方式,G中一个非单位元的元素用椭圆曲线上该点的x-轴坐标和y-轴坐标的正负号和/或奇偶性来表示,其中正负号和/或奇偶性用两个不同的值进行标识。
9.如权利要求8所述的方法,其中,转换函数f有如下实现方式:f是一个哈希函数,或
Figure FDA00028915721300000419
输出ximod q,其中xi是ai的x-轴坐标值,或i和h是同一个函数。
CN201810399463.8A 2018-04-28 2018-04-28 一种高效的聚合数字签名方法 Active CN108650097B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 财付通支付科技有限公司 生成签名的方法、装置、终端及服务器

Patent Citations (7)

* Cited by examiner, † Cited by third party
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