CN101689993B - 组署名系统、装置和方法 - Google Patents
组署名系统、装置和方法 Download PDFInfo
- Publication number
- CN101689993B CN101689993B CN200780053725.5A CN200780053725A CN101689993B CN 101689993 B CN101689993 B CN 101689993B CN 200780053725 A CN200780053725 A CN 200780053725A CN 101689993 B CN101689993 B CN 101689993B
- Authority
- CN
- China
- Prior art keywords
- group
- signer
- signature
- secret key
- key
- 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 claims abstract description 72
- 238000004891 communication Methods 0.000 claims abstract description 48
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 15
- 238000012795 verification Methods 0.000 claims description 72
- 239000000470 constituent Substances 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 abstract description 62
- 230000006870 function Effects 0.000 description 31
- 238000012545 processing Methods 0.000 description 27
- 238000004422 calculation algorithm Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 7
- 238000012937 correction Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 3
- 230000010365 information processing Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- TVZRAEYQIKYCPH-UHFFFAOYSA-N 3-(trimethylsilyl)propane-1-sulfonic acid Chemical compound C[Si](C)(C)CCCS(O)(=O)=O TVZRAEYQIKYCPH-UHFFFAOYSA-N 0.000 description 1
- 101000911772 Homo sapiens Hsc70-interacting protein Proteins 0.000 description 1
- 101001139126 Homo sapiens Krueppel-like factor 6 Proteins 0.000 description 1
- DGAQECJNVWCQMB-PUAWFVPOSA-M Ilexoside XXIX Chemical compound C[C@@H]1CC[C@@]2(CC[C@@]3(C(=CC[C@H]4[C@]3(CC[C@@H]5[C@@]4(CC[C@@H](C5(C)C)OS(=O)(=O)[O-])C)C)[C@@H]2[C@]1(C)O)C)C(=O)O[C@H]6[C@@H]([C@H]([C@@H]([C@H](O6)CO)O)O)O.[Na+] DGAQECJNVWCQMB-PUAWFVPOSA-M 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052708 sodium Inorganic materials 0.000 description 1
- 239000011734 sodium Substances 0.000 description 1
- BJORNXNYWNIWEY-UHFFFAOYSA-N tetrahydrozoline hydrochloride Chemical compound Cl.N1CCN=C1C1C2=CC=CC=C2CCC1 BJORNXNYWNIWEY-UHFFFAOYSA-N 0.000 description 1
- 230000001225 therapeutic effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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/3218—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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/3013—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
-
- 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
- H04L9/3255—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 using group based signatures, e.g. ring or threshold signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/42—Anonymization, e.g. involving pseudonyms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明的一个实施例的组署名系统具备能够相互进行通信的组管理者装置(10)、署名者装置(201~20n)和验证者装置(30)。在此,各装置(10、201~20n、30)所使用的组署名方式是完全不使用RSA那样位数未知的乘法巡回群而只使用素数位数(q)的乘法巡回群(G)的方式,并且将继承(ki1、ki2)作为成员秘密密钥。利用Ti=g1^{ki1}作为用于确定署名者的信息。因此,与现有的[CG04]方式相比,能够减少计算量而提高计算速度。
Description
技术领域
本发明涉及组署名系统、装置和程序,例如涉及能够减少计算量并提高计算速度的组署名系统、装置和程序。
背景技术
作为具有匿名性的电子署名在1991年由Chaum提出了组署名方式(参考D Chaum and E.van Heyst,“Group Signatures”,In Proc.of EUROCRYPT’91,LNCS 547,pp.257~265,1991)。在通常的电子署名方式中,由于用于署名验证的公开密钥和用于署名生成的秘密密钥是一对一对应的,所以不保持署名生成者的匿名性。
与此相对,在组署名方式中,用于署名验证的组公开密钥和用于署名生成的成员秘密密钥是一对一对应的,因此保持了署名生成者的匿名性。即,组署名方式由于1个组公开密钥与n个成员秘密密钥对应,所以有以下的性质,即在署名验证时,无法确定署名生成者。另外,组署名方式还具有以下的性质:只有作为特权者的组管理者才能够确定署名者。
但是,在现有的组署名方式中,署名长度、署名生成计算量与成员数成正比,因此具有许多成员的组中的效率非常低,不适于使用。
与此相对,在1997年由Camenisch等提出了效率不依存于成员数的组署名方式(参考J.Camenisch and M.stadler,“Effcient groupsignature schemes for large groups”,In Proc.of CRYPTO’97,LNCS1294,pp.410~424,1997)。在该方式下,将与成员秘密密钥对应的组管理者的署名用作成员证明书(membership certificate)。在组署名中包含用组管理者的公开密钥进行了加密的成员证明书(或其一部分)、以及表示正确地对成员证明书进行了加密和持有成员秘密密钥和成员证明 书的情况的非对话知识证明。署名验证者根据非对话知识证明的验证,能够验证是成员的署名。进而,组管理者通过成员证明书的解密,能够确定署名者。使用这样的成员证明书的概念对于成为其后的组署名方式的基础是重要的。
但是,该Camenisch等的方式虽然效率不依存于成员数,但从实用的观点出发,效果低。
最初的高效(practical)的组署名方式是2000年由Ateniese等提出的方式(G.Ateniese,J.Camenisch,M.Joye,and G.Tsudik,“Apractical and provably secure coalition-resistant group signaturescheme”,In Proc.of CRYPTO 2000,LNCS 1880,pp.255~270,2002,以下称为“ACJT00”方式)。Ateniese的组署名方式大幅提高了效率,可以研究实用化。Ateniese的组署名方式在生成署名时需要RSA署名生成的200倍左右的计算量,因此要继续研究改进。Ateniese的方式的安全性基于强RSA问题(strong-RSA problem)。
现在,广为人知的高速的组署名方式是2004年由Camenisch等提出的方式(J.Camenisch and J.Groth,“Group Signatures:BetterEfficiency and New Theoretical Aspects”,Forth Int.Conf.on Securityin Communication Networks-SCN 2004,LNCS 3352,120~133,2005.以下称为“CG04”方式。可以从以下的URL取得完整说明(2007年6月现在)https://www.brics.dk/jg/)。“CG04”方式的署名生成计算量被降低到RSA署名生成的8倍左右。“CG04”方式的安全性也基于强RSA问题。
以上那样的“CG04”方式的组署名方式与“ACJT00”方式相比,计算量小,但根据本发明者的研究,考虑到还需要强化对组署名方式的实用性方面,而有进一步减少计算量提高计算速度的余地。
发明内容
本发明的目的在于:提供一种能够减少计算量而提高计算速度的组署名系统、装置和程序。
本发明的第一方面是一种组署名系统,具备能够相互进行通信的组管理者装置、署名者装置和验证者装置,各装置使用组署名方式,上述组管理者装置具备:存储包含在上述组署名方式中使用的素数位数q、上述q的乘法巡回群G的生成元g1的公开参数的参数存储单元;根据上述参数存储单元内的公开参数,生成包含值a,b∈Zq的组秘密密钥、包含满足第一关系式g2=g1 a和第二关系式f=g1 b的值g2,f和上述生成元g1的组公开密钥的组密钥生成单元;根据上述组秘密密钥、上述组公开密钥和第三关系式ki1=b-aki2 mod q,计算出由满足第四关系式f=g1^{ki1}g2^{ki2}的继承ki1、ki2构成的成员秘密密钥的成员秘密密钥生成单元(其中^是表示幂的记号);根据上述成员秘密密钥和上述生成元g1,计算出署名者确定信息Ti=g1^{ki1}的署名者确定信息计算单元,上述署名者装置具备:存储包含上述组署名方式所使用的素数位数q、上述q的乘法巡回群G的生成元g1的公开参数、上述组公开密钥、上述成员秘密密钥、上述署名者确定信息Ti和消息的署名者用存储单元;根据上述署名者用存储单元内的公开参数和组公开密钥,对上述署名者确定信息Ti进行加密,生成该署名者确定信息Ti的密码数据的密码生成单元;根据上述署名者用存储单元内的公开参数、上述组公开密钥、上述成员秘密密钥和上述消息、上述署名者确定信息Ti的密码数据,生成表示知道了该成员秘密密钥和该署名者确定信息Ti的零知识证明的零知识证明生成单元;将由上述密码数据和上述零知识证明构成的组署名和上述消息发送到上述验证者装置的单元,上述验证者装置具备:存储包含上述组署名方式所使用的素数位数q、上述q的乘法巡回群G的生成元g1的公开参数、上述组公开密钥的验证者用存储单元;从上述署名者装置接收上述组署名和消息的单元;根据上述接收到的组署名和消息、上述验证者用存储单元内的公开参数和组公开密钥,对该组署名的正当性进行验证的验证单元;将上述验证的结果发送到上述署名者装置的单元;为了署名者确定,而向组管理者装置发送消息和组署名的单元。
根据第一方面,使用素数位数q的乘法巡回群G而不使用位数未 知的乘法巡回群,成为只利用了位数已知的组署名方式,并且实现了将继承ki1、ki2作为成员秘密密钥的组署名方式,由此与现有的[CG04]方式相比,能够减少计算量提高计算速度。
另外,以上的方面表现为由各装置构成的“系统”,但并不只限于此,也可以表现为各装置的集合或每个装置的“装置”、“程序”、“计算机可读的存储介质”或“方法”。
附图说明
图1是表示本发明的一个实施例的组署名系统的结构的模式图。
图2是表示该实施例的组管理者装置的结构的模式图。
图3是表示该实施例的组管理者用存储部件的结构的模式图。
图4是表示该实施例的署名者装置的结构的模式图。
图5是表示该实施例的署名者用存储部件的结构的模式图。
图6是表示该实施例的验证者装置的结构的模式图。
图7是表示该实施例的验证用存储部件的结构的模式图。
图8是用于说明该实施例中的密钥对的生成处理的流程图。
图9是用于说明该实施例中的成员秘密密钥的生成处理的流程图。
图10是用于说明该实施例中的署名者确定信息的计算处理的流程图。
图11是用于说明该实施例中的加密处理的流程图。
图12是用于说明该实施例中的零知识证明的计算处理的流程图。
图13是用于说明该实施例中的署名验证处理的流程图。
图14是用于说明该实施例中的署名验证处理的流程图。
图15是用于说明该实施例中的署名者确定处理的流程图。
图16是与现有技术相比表示该实施例的效果的图。
具体实施方式
以下,参考附图,详细说明本发明的一个实施例,但之前先说明本发明的一个实施例的组署名方式(以下称为实施例方式)的概要。
实施例方式的最大特长是效率极高。在使用作为高速地进行幂余数运算的方法的指数同时乘法(Simultaneous Multiple Exponentiation)法的情况下,与“CG04”方式是RSA署名生成的8倍以上的计算量的情况相比,在实施例方式下,能够以RSA署名生成的大致3倍左右的计算量进行署名生成。另外,在指数同时乘法法中,需要根据底的值进行表的事前计算,但在实施例方式中,幂余数运算的底始终固定,因此不需要每次进行表的事前计算,通过保存表,能够进一步减少一些计算量。
进而,实施例方式的署名生成所利用的成员秘密密钥非常短,其比特长只有[CG04]方式的1/10、RSA的1/9。
相对于[ACJT00]方式、[CG04]方式的安全性基于强RSA问题的情况,实施例方式的安全性基于DDH(decisional Diffile-Hellman)问题。与此相伴,实施例方式也可以高效地在椭圆曲线上实现,能够大幅地缩短署名长度和密钥长度,能够高速化。实施例方式作为只基于DDH问题的高效的组署名,是最初的方式。进而,实施例方式可以通过单纯的计算的组合来实现,因此能够期待在广范围的平台上的应用。
<组署名>
以下,定义实施例方式的前提的组署名的功能和安全性。
[组署名的功能]
高效的现有方式大都利用与成员秘密密钥对应的组管理者的署名作为成员证明书。在实施例方式中,不利用组管理者的署名,因此为了与现有方式的成员证明书区别,而使用署名者确定信息(tracinginformation)这样的用语。在组署名中,包含加密了的署名者确定信息、表示署名者确定信息被正确地加密的非对话知识证明、表示具有成员秘密密钥和署名者确定信息的非对话知识证明是与成员证明书一样的。
组署名方式GS由以下的4个多项式时间算法GKg、GSig、GVf、Open组成。
[密钥生成算法GKg]
密钥生成算法GKg是将公开参数和组的成员数n作为输入,用于生成并输出组公开密钥gpk、组秘密密钥gmsk、成员秘密密钥的集合gsk=(gsk[1]、……gsk[n])、与之对应的署名者确定信息T=(T1、……Tn)的概率多项式时间算法。
[署名生成算法GSig]
署名生成算法GSig是针对组公开密钥gpk、成员秘密密钥gsk[i]、署名者确定信息Ti、消息msg生成组署名σ的概率多项式时间算法。
[署名验证算法GVf]
署名验证算法GVf是将组公开密钥gpk、消息msg、组署名σ作为输入,如果署名正确则输出有效(valid),如果不正确则输出无效(invalid)的确定多项式时间算法。
[署名者确定算法Open]
署名者确定算法Open是将组公开密钥gpk、组秘密密钥gmsk、消息msg、组署名σ作为输入,如果署名正确则输出生成该署名的用户的ID=i,如果不正确则输出无效(invalid)的确定多项式时间算法。
[组署名的安全性]
当初对组署名的安全性定义了很多的要素。其后,由Bellare等总结了静态组(static group)的组署名的安全性的要素(参考M.Bellare,D.Micciancio,and B.Warinschi,“Foundations of Group Signatures:Formal Definitions,Simplified Requirements,and a Construction Basedon General Assumptions”,In Proc.of EUROCRYPT 2003,LNCS 2656,pp614~629,2003.)。另外,静态组是指不具有成员的追加、删除功能,如果一度生成了组则不变更成员的组。在此,Bellare的要素是非常严格的,考虑到对组成员全体的勾结的安全性。因此,一般减弱Bellare的要素而定义安全性。在此,根据Bellare的要素,再定义没有组管理者、成员的勾结的情况下的安全性。勾结以外的定义与Bellare的定义一样。
在具有以下的正当性(correctness)、匿名性(anonymity)、可追踪性(traceability)的3个性质时,组署名方式GS被称为是安全的。
[1.正当性(correctness)]
GVf(gpk,msg,GSig(gsk[i],msg))=valid并且
Open(gmsk,msg,GSig(gsk[i],msg))=i
即,正确生成的署名通过署名验证算法GVf验证成功,通过署名者确定算法Open能够确定署名者。
[2.匿名性(anonymity)]
考虑以下的情况。
(1)设置(setup):执行密钥生成算法GKg(n),生成组公开密钥gpk、组秘密密钥gmsk、成员秘密密钥的集合gsk、署名者确定信息T,向对手(adversary)A提供组公开密钥gpk。
(2)询问(queries):对手A进行以下的2种询问(a)、(b)。其中,收买询问(corruption query)只限于进行1次。
(a)署名(signing):指定用户i和消息msg,进行署名询问(signing query),得到组署名σ=GSig(gpk,gsk[i],msg)。
(b)收买(corruption):指定用户u(1≤u≤n),进行收买询问,得到成员秘密密钥gsk[u]。
(3)查询(challenge):对手A输出消息msg和用户ID i0、i1。这时,不能是u=i0或u=i1。查询者(challenger)随机地选择用户ID b←{0,1},计算出组署名σ*←GSig(gpk,gsk[ib],msg)返回给对手A。
(4)限定的询问(restricted queries):以下的询问(a)、(b)
(a)署名(signing):与上述一样。
(b)收买(corruption):与上述一样。其中,在已经进行了1次的情况下,无法进行询问。另外,这时,必须是u=i0或u=i1。
(5)输出(output):对手A输出用户ID b’。
在b’=b时,称为“对手A攻击成功”。在可以无视对手A的成功概率时,称为组署名方式具有匿名性(anonymity)。
[3.可跟踪性(traceability)]
考虑以下的情况。
(1)设置(setup):执行密钥生成算法GKg(n),生成组公开密钥gpk、组秘密密钥gmsk、成员秘密密钥gsk、署名者确定信息T,向对手A提供组公开密钥gpk。
(2)询问(queries):对手可以进行以下的2种询问(a)、(b)。其中,收买询问(corruption query)只限于进行1次。
(a)署名(signing):指定用户i和消息msg,进行署名询问(signing query),得到组署名σ=GSig(gpk,gsk[i],msg)。
(b)收买(corruption):指定用户u(1≤u≤n),进行收买询问,得到成员秘密密钥gsk[u]。
(3)应答(response):对手A输出消息msg*和组署名σ*。在署名者确定算法Open的结果是Open(gmsk,msg*,σ*)=i≠u,在署名询问(signing query)中没有指定i、msg*时,称为“对手A攻击成功”。在可以无视对手A的成功概率时,称为组署名方式具有可跟踪性(traceability)。
<准备>
以下,在理解实施例方式的基础上,说明重要的DDH(decisionalDiffie-Hellman)问题、继承(representation)、Cramer-Shoup暗号。
[DDH问题]
将素数位数q的乘法巡回群设为G。将随机的4组(quadruples)(g1,g2,u1,u2)∈G4的分布设为R。随机地选择g1、g2∈G和r∈Zq,将u1=gr、u2=gr的4组(g1,g2,u1,u2)∈G4的分布设为D。这时,将找出任意给出的4组(g1,g2,u1,u2)属于分布R、D的哪个的问题称为DDH问题。实施例方式的安全性归结为DDH问题的困难性。
另外,如果能够解开离散对数问题(discrete logarithm problem),则能够解开DH问题(Diffie-Hellman problem),如果能够解开DH问题,则能够解开DDH问题。DH问题是根据给定的g、gx、gy计算gxy的问题。离散对数问题是根据给定的g、gx计算x的问题。可以相信解开这些DDH问题、DH问题和离散对数问题都是困难的。
[继承(representation)]
在乘法巡回群G上的计算中,将满足h=g1^{e1}^g2^{e2}……gk^{ek}的(e1,e2,……ek)称为以(g1,g2,……gk)为底的h的继承。另外,“^”是表示幂的记号。
继承在暗号理论的领域中以前也被用作缓和离散对数(relaxeddiscrete log(RDL))(参考D.Chaum,J.H.Evertse,and J.van de Graaf,“An improved protocol for demonstrating possession of discretelogarithms and some general izations”,In Proc.of EUROCRYPT’87,LNCS 304,pp.127~141,1987),其后也有时使用。在1997年的Camenisch的方式中,使用了应用了Schnorr署名(参考C.P.Schnorr,“Efficient Signature Generation by Smart Cards”,Journal ofCryptology,Vol.4,pp.161~174,1991.)的继承的非对话知识证明。在实施例方式中,将成员秘密密钥作为继承,在组署名中包含与继承对应的非对话知识证明。
[Cramer-Shoup暗号]
在实施例方式中,在署名者确定信息的加密中使用Cramer-Shoup暗号(参考R.Cramer and V.Shoup,“A Practical Public KeyCryptosystem Provably Secure against Adaptive Chosen CiphertextAttack”,In Proc.of CRYPTO’98,LNCS 1462,pp.13~25,1998)。但是,实施例方式并不只限于Cramer-Shoup暗号。
以下,说明Cramer-Shoup暗号。
[公开密钥(public key)/秘密密钥(private key)对生成]
作为公开参数,将素数位数q的乘法巡回群G和其生成元g1和通用单向性哈希(universal one-way hash)函数作为输入,进行以下的处理。
(1)随机地选择g1,g2∈G。
(2)随机地选择x1,x2,y1,y2,z∈Zq。
(3)计算c=g1^{x1}g2^{x2},d=g1^{y1}g2^{y2},h=g1 Z。
(4)从通用单向性哈希函数的集合中选择哈希函数H。
(5)输出公开密钥pk=(g1,g2,c,d,h,H),秘密密钥sk=(x1,x2,y1,y2,z)。
[加密]
将公开密钥pk=(g1,g2,c,d,h,H)、消息m∈G作为输入,进行以下的处理。
(1)随机地选择r∈Zq。
(2)计算u1=g1 r,u2=g2 r,e=hrm。
(3)计算α=H(u1,u2,e)。
(4)计算v=crdrα。
(5)输出密码(u1,u2,e,v)。
[解密]
将密码(u1,u2,e,v)作为输入,进行以下的处理。
(1)计算α=H(u1,u2,e)。
(2)验证u1^{x1+y1α}u2^{x2+y2α}=v是否成立,在否的情况下,作为无效的密码而拒绝,结束处理。
(3)计算m=e/u1 z,作为明文输出。
以上是Cramer-Shoup暗号的处理。
<实施例方式的概要>
接着,说明实施例方式的概要。
本实施例通过以离散对数为基础的方式,谋求组署名方式的高速化。理由是:由于在以RSA为基础的方式中幂指数长,所以位数未知的群中的非对话知识证明的效率低,由此全体的效率也低。另外,[ACJT00]方式、[CG04]方式也都是以RSA为基础的方式,因此与实施例方式相比,效率低。
如果补足说明,则相对于[ACJT00]方式是以RSA为基础的方式,[CG04]方式的一部分以离散对数为基础,大幅改善了效率,但还剩余以RSA为基础的部分。与此相对,在实施例方式中,全部作为以离散对数为基础的方式,谋求了高速化。
实施例方式进而将继承设为成员秘密密钥。在离散对数是秘密密钥 的情况下,针对一个公开密钥只具有1个秘密密钥。与此相对,在继承是秘密密钥的情况下,针对1个公开密钥可以作成多个秘密密钥,因此适合于具有许多成员的组。在Kiayias等的方式(参考A.Kiayias andM.Yung,“Extracting Group Signatures from Traitor TracingSchemes”,In Proc.of EUROCRYPT 2003,LNCS 2656,pp.630~648,2003)中,也使用继承,但使用继承自身作为署名者确定信息,因此效率低。
与此相对,在实施例方式中,不是继承自身,而是使用根据继承唯一计算的值作为署名者确定信息,因此效率高。
(实施例方式)
图1是表示本发明的一个实施例的组署名系统的结构的模式图。该组署名系统具备能够相互进行通信的1台组管理者装置10;n台署名者装置201、……20i、……、20j、……、20n;1台验证装置30。对于各装置10、201、……20n、30的每个装置,都可以通过硬件结构、硬件资源与软件的组合结构的任意一个来实施。作为组合结构的软件,使用预先从网络或存储介质M安装到对应的装置的计算机中,使其实现对应的装置的功能的程序。另外,各署名者装置201、……、20n是相互相同的硬件结构,因此在以下的说明中,以第i个署名者装置20i为代表进行说明。另外,本实施例的组署名方式如在后述的图8~图15中表示的例子所示,加密方式使用Cramer-Shoup暗号,零知识证明方式使用应用了Schnorr署名的方式,但并不只限于这些加密方式和零知识证明方式。即,本实施例的组署名方式并不只限于图8~图15所示的方式,使用其他的加密方式和零知识证明方式也可以实现。
在此,组署名管理者装置10如图2所示,具备管理者用存储部件11、输入部件12、通信部件13、组密钥生成部件14、成员秘密密钥生成部件15、署名验证部件16、署名者确定部件17和输出部件18。
管理者用存储部件11是能够从各部件12~17访问的存储装置,如图3所示,存储公开参数、组公开密钥gpk、组秘密密钥gmsk、成员信息、用户管理信息、计算表、消息msg和组署名σ。也可以暂时存储 该消息msg、组署名σ。
公开参数至少包含组署名方式所使用的素数位数q、q的乘法巡回群G的生成元g1,在此还包含哈希函数H。
组秘密密钥gmsk还至少包含根据公开参数选择出的值a,b ∈Zq,在此,还包含值x1,x2,y1,y2,z∈Zq。
组公开密钥gpk至少包含满足第一关系式g2=g1 a和第二关系式f=g1 b的值g2、f和生成元g1,在此,还包含值c、d、h和哈希函数H。另外,c=g1^{x1}g2^{x2}、d=g1^{y1}g2^{y2}、h=g1 z。
成员信息是使成员秘密密钥gsk[i]和署名者确定信息Ti与每个用户识别信息ID(i)相互关联而成的信息(1≤i≤n)。
用户管理信息是使用户信息与每个用户识别信息ID(i)关联而成的信息(1≤i≤n)。用户信息例如包含用户的名字、联系地址信息(电话号码、电子邮件地址等),在组署名的目标是电子商务交易的情况下,还包含决算信息。
计算表是在各部件14~16使用指数同时乘法(simultaneous multipleexponetiation)法的情况下所参照的信息。指数同时乘法法是高速地进行g1^{e1}g2^{e2}……gk^{ek}的形式的计算的方法,需要预先执行最大2k次的乘法计算,作成最大2k大小的计算表。因此,与底g1、……gk的个数k对应地,计算表所需要的存储量变大。其中,如果底是固定的,则不需要每次作成计算表,可以通过事前计算而以幂1次左右的计算量进行计算。即,例如在g1^{e1}g2^{e2}这样的幂2次的计算中,通过参照计算表,能够以幂1次的计算量执行。因此,如果作为计算表,组管理者和验证者装置具有1,g1,g2,g1×g2,f,f×g1,f×g2,f×g1×g2和1,h,g1,h×g1,署名者装置具有1,h,g1,h×g1和1,c,d,c×d,则可以以幂1次的计算量,执行后述的步骤ST4、ST5、ST34、ST36、ST42、ST44、ST52、ST54、ST62、ST64的幂2次或3次的计算。
消息msg是由署名者装置20i生成的任意的信息。
组署名σ由后述的密码(u1,u2,e,v)、零知识证明(A,B,C,s1,s2,sr)组成,是由署名者装置20i生成的信息。在此,可以将消息 msg、组署名σ暂时存储在管理者用存储部件11中。
输入部件12是组管理者装置10内部与外部之间的输入接口,使用键盘和鼠标等输入设备。
通信部件13是组管理者装置10内部与外部之间的通信接口。通信部件13例如具有以下的功能:通过加密通信等安全的方法,将用于生成组署名方式中的组署名的公开参数、组公开密钥、成员秘密密钥和署名者确定信息Ti发送到署名者装置201~20n。另外,通信部件13例如具有以下的功能:将用于对组署名方式中的组署名进行验证的公开参数和组公开密钥发送到验证者装置30。进而,通信部件13还具有从验证者装置30接收消息msg、组署名σ的功能。
组密钥生成部件14根据管理者用存储部件11内的公开参数,生成包含值a,b∈Zq的组秘密密钥、包含满足第一关系式g2=g1 a和第二关系式f=g1 b的值g2、f和生成元g1的组公开密钥。在此,组密钥生成部件14具有执行图8所示的处理的功能。另外,组密钥生成部件14也可以参照计算表,通过指数同时乘法法,进行幂运算,在成员秘密密钥生成部件15和署名验证部件16中对此也一样。
成员秘密密钥生成部件15根据组秘密密钥、组公开密钥和第三关系式ki1=b-aki2 mod q,计算出由满足第四关系式f=g1^{ki1}g2^{ki2}的继承ki1、ki2组成的成员秘密密钥,并且根据成员秘密密钥和生成元g1,计算出署名者确定信息Ti=g1^{ki1}。在此,成员秘密密钥生成部件15具有执行图9和图10所示的处理的功能。
署名验证部件16根据管理者用存储部件11内的组署名、消息、公开参数和组公开密钥,对该组署名内的零知识证明的正当性进行验证,并且根据管理者用存储部件11内的组署名、组秘密密钥和组公开密钥,对该组署名内的密码数据的正当性进行验证。在此,署名验证部件16具有执行后述的图14所示的处理的功能。
署名者确定部件17根据管理者用存储部件11内的组署名和组秘密密钥,计算署名者确定信息T。在此,署名者确定部件17具有执行后述的图15所示的处理的功能。
输出部件18是组管理者装置10内部与外部之间的输出接口,使用显示器装置和打印机等输出设备。
署名者装置20i如图4所示,具备署名者用存储部件21、输入部件22、通信部件23、消息生成部件24、组署名生成部件25和输出部件26。
署名者用存储部件21是能够从各部件22~25访问的存储装置,如图5所示,存储公开参数、组公开密钥gpk、计算表、成员秘密密钥、署名者确定信息、消息和组署名。
输入部件22是署名者装置20i内部与外部之间的输入接口,使用键盘和鼠标等输入设备。
通信部件23是署名者装置20i内部与外部之间的通信接口。通信部件23例如具有以下的功能:通过加密通信等安全的方法,从组管理者装置10接收用于组署名方式中的组署名的公开参数、组公开密钥、成员秘密密钥和署名者确定信息Ti。另外,通信部件23例如具有以下的功能:根据署名者的输入部件22的操作,向验证者装置30发送由署名者用存储部件21内的密码数据和零知识证明组成的组署名、消息。
消息生成部件24具有以下的功能:根据署名者的输入部件22的操作,作成消息msg并写入到署名者用存储部件21中。
组署名生成部件25具有以下的功能:根据署名者用存储部件21内的公开参数和组公开密钥,对署名者确定信息Ti进行加密,生成该署名者确定信息Ti的密码数据,并写入到署名者用存储部件21中。另外,组署名生成部件25具有以下的功能:根据署名者用存储部件21内的公开参数、组公开密钥、成员秘密密钥和消息、署名者确定信息Ti的密码数据,生成表示知道了该成员秘密密钥和该署名者确定信息Ti的零知识证明,将零知识证明与密码数据关联起来写入到署名者用存储部件21中。另外,密码数据和零知识证明构成组署名。另外,在此,组署名生成部件25具有执行图11和图12所示的处理的功能。另外,图12所示的零知识证明是基于知道了加密的署名者确定信息Ti、知道了继承的一个、正确地加密了署名者确定信息Ti的消息msg的零知识证明。另外,组署名生成部件25也可以参照计算表,通过指数同时乘法法来执行幂运算。
输出部件26是署名者装置20i内部与外部之间的输出接口,使用显示器装置和打印机等输出设备。
验证者装置30如图6所示,具备验证者用存储部件31、输入部件32、通信部件33、署名验证部件34和输出部件35。
验证者用存储部件31是能够从各部件32~34访问的存储装置,如图7所示,存储公开参数、组公开密钥gpk、计算表、消息和组署名。
输入部件32是验证者装置30内部与外部之间的输入接口,使用键盘和鼠标等输入设备。
通信部件33是验证者装置30内部与外部之间的通信接口。通信部件33例如具有以下的功能:通过加密通信等安全的方法,从组管理者装置10接收用于生成组署名方式的组署名的公开参数和组公开密钥。另外,通信部件33例如具有以下的功能:从署名者装置20i接收由密码数据和零知识证明组成的组署名、消息;将接收到的组署名和消息写入到验证者用存储部件31中;将署名验证部件34的验证结果发送到署名者装置20i;在验证的结果是OK,并且输入了署名者确定要求的情况下,为了进行署名者确定,向组管理者装置10发送消息和组署名。另外,通信部件33不一定必须向署名者装置20i发送署名验证部件34的验证结果。在不发送验证结果的情况下,例如是验证者装置30不是在线实时地进行验证的情况等。
署名验证部件34根据验证者用存储部件31内的组署名、消息、公开参数和组公开密钥,对该组署名的正当性进行验证,将验证结果发送到通信部件33和输出部件35。在此,署名验证部件34具有执行图13所示的处理的功能。另外,署名验证部件34也可以参照计算表,通过指数同时乘法法,执行幂运算。另外,署名验证部件34不一定必须将验证结果发送到通信部件33和/或输出部件35。
输出部件35是验证者装置30内部与外部之间的输出接口,使用显示器装置和打印机等输出设备。输出部件35例如显示从署名验证部件34接收到的验证结果。
接着,使用图8~图15的流程图,说明如上那样构成的组署名系统 的动作。
(组公开密钥/组秘密密钥对的生成:图8)
假设在组管理者装置10中,在根据组管理者的输入部件12的操作,将公开参数(q,G,g1,H)保存在管理者用存储部件11中之后,启动了组密钥生成部件14。
组密钥生成部件14参考管理者用存储部件11内的素数位数q,随机地选择7组(a,b,x1,x2,y1,y2,z)Zq 7(ST1)。另外,Zq是0以上并小于q的整数的集合{0,……,q-1}。另外,a、b是高效地计算多个继承所需要的值。
接着,组密钥生成部件14根据管理者用存储部件11内的生成元g1和在步骤ST1中得到的7组,计算g2=g1 a、f=g1 b、c=g1^{x1}g2^{x2}、d=g1^{y1}g2^{y2}、h=g1 z(ST2~ST6)。g1和g2是f的继承的底。
另外,组密钥生成部件14从管理者用存储部件11内的公开参数读出通用单向哈希函数H。
然后,组密钥生成部件14将组秘密密钥gmsk=(a,b,x1,x2,y1,y2,z)、组公开密钥gpk=(g1,g2,f,c,d,h,H)保存在管理者用存储部件11中(ST7)。
由此,组密钥生成部件14将组公开密钥gpk和组秘密密钥gmsk的生成结束消息发送到输出部件18,结束处理。输出部件18对该生成结束消息进行显示输出。
(成员秘密密钥的生成:图9)
假设在组管理者装置10中,预先根据组管理者的输入部件12的操作,将与成员数n对应的n人的用户识别信息ID(1)、……ID(i)、……、ID(j)、……、ID(n)保存在管理者用存储部件11中。另外,也可以由输入了成员数n的成员秘密密钥生成部件15生成用户识别信息ID(1)、……、ID(n),从成员秘密密钥生成部件15写入到管理者用存储部件11中。
成员秘密密钥生成部件15参照管理者用存储部件11内的素数位数q,随机地选择成员秘密密钥的一部分ki2∈Zq(ST11)。
这时,成员秘密密钥生成部件15参照管理者用存储部件11,在存在具有ki2=ki2的成员秘密密钥gskj=(kj1,kj2)的成员的情况下,重新选择ki2。即,ki2必须对每个用户全不同。
接着,成员秘密密钥生成部件15根据管理者用存储部件11内的素数位数q和组秘密密钥gmsk,计算成员秘密密钥的其他一部分ki2=b-aki2 mod q(ST12)。
然后,成员秘密密钥生成部件15将由所得到的ki1、ki2组成的成员秘密密钥(ki1,ki2=gsk[i])与用户识别信息ID(i)关联起来保存在管理者用存储部件11中(ST13)。
在此,成员秘密密钥(ki1,ki2)是以(g1、g2)为底的f的继承。即,根据上述的f=g1 b、g2=g1 a、和ki 2=b-aki2 mod q的公式,表示为f=g1^{ki1}g2^{ki2}。另外,通过使用包含在组秘密密钥gmsk中的a、b,能够高效地计算多个成员秘密密钥。能够计算该继承ki1、ki2的只有组管理者。知道继承ki1、ki2表示被组管理者承认的组成员。
成员秘密密钥生成部件15循环进行与成员数n相同的次数n的以上的步骤ST11~ST13的处理,在分别地将n人的成员秘密密钥gsk[1]~gsk[n]与用户识别信息ID(1)~ID(n)关联起来而保存在管理者用存储部件11中后,结束处理。
(署名者确定信息计算处理:图10)
接着,成员秘密密钥生成部件15根据管理者用存储部件11内的生成元g1和成员秘密密钥gsk[i](=ki1,ki2),计算署名者确定信息Ti=g1^{ki1}(ST21)。即,署名者确定信息Ti并不是继承自身,而是将继承的一部分作为幂指数的值。
然后,成员秘密密钥生成部件15将所得到的署名者确定信息Ti与用户识别信息ID(i)关联起来保存在管理者用存储部件11中(ST22)。
成员秘密密钥生成部件15循环进行与成员数n相同的次数n的以上的步骤ST21~ST22的处理,将n人的成员秘密密钥gsk[1]~gsk[n]与用户识别信息ID(1)~ID(n)分别地关联起来而保存在管理者用 存储部件11中后,结束处理。
(署名生成的准备)
用户i通过在线或离线,将用户信息登录到组管理者装置10。由此,用户i通过加密通信或存储介质的邮送等安全的方法,从组管理者取得公开参数、组公开密钥gpk=(g1,g2,f,c,d,h,H)、成员秘密密钥gsk[i](=ki1,ki2)和署名者确定信息Ti。
然后,署名者装置20i根据用户i的输入部件22的操作,将这些公开参数、组公开密钥gpk、成员秘密密钥gsk[i]和署名者确定信息Ti保存到署名者用存储部件21中。由此,署名者装置20i能够进行署名生成处理。
另外,署名者装置20i根据用户i的输入部件22的操作,由消息生成部件24一边将消息msg∈{0,1}*显示在输出部件26一边作成,将得到的消息msg保存在署名者用存储部件21中。另外,消息msg并不只限于使用消息生成部件24作成的消息的情况,也可以从组管理者、署名验证者取得。例如,也可以是在电子商务交易的情况下,使用消息生成部件24作成的消息msg,在20岁以上等的资格证明的情况下,使用从组管理者取得的消息msg,在认证中利用的情况下,使用从署名验证者取得的消息msg。
(加密处理:图11)
假设在署名者装置20i中,根据用户i的输入部件22的操作,启动了组署名生成部件25。
组署名生成部件25参照署名者用存储部件21内的素数位数q,随机地选择保密的随机数r∈Zq(ST31)。
接着,组署名生成部件25根据署名者用存储部件21内的组公开密钥gpk=(g1,g2,f,c,d,h,H)和署名者确定信息Ti、在步骤ST31中得到的随机数r,计算u1=g1 r,u2=g2 r,e=hrTi(ST32~ST34)。另外,也可以每次根据成员秘密密钥gmsk[i]=(=ki1,ki2),计算出署名者确定信息Ti(=g1^{ki1})。在该情况下,也可以从署名者用存储部件21中省略署名者确定信息Ti。
另外,组署名生成部件25根据署名者用存储部件21内的组公开密钥gpk和在步骤ST32~ST34中得到的值u1、u2、e,计算哈希值α=H(u1,u2,e)(ST35)。
进而,组署名生成部件25根据该哈希值α、在步骤ST31中得到的随机数r、组公开密钥gpk,计算值v=crdrα(ST36)。
由此,组署名生成部件25将针对署名者确定信息Ti得到的密码(u1,u2,e,v)保存在署名者用存储部件21中(ST37)。
(零知识证明(zero-knowledge proof)计算处理:图12)
接着,组署名生成部件25参照署名者用存储部件21内的素数位数q,随机地选择用于隐藏成员秘密密钥(ki1,ki2)和在步骤ST31中得到的随机数r的随机数r1、r2、rr ∈Zq(ST41)。
接着,组署名生成部件25根据署名者用存储部件21内的组公开密钥gpk=(g1,g2,f,c,d,h,H)、在步骤ST41中得到的随机数r1、r2、rr,计算零知识证明的一部分的参数A=g1^{r1}g2^{r2},B=g1^{rr},C=h^{rr}g1^{r1}(ST42~ST44)。
另外,组署名生成部件25根据署名者用存储部件21内的组公开密钥gpk=(g1,g2,f,c,d,h,H)、密码(u1,u2,e,v)和消息msg、在步骤ST42~ST44中得到的零知识证明的一部分的参数A、B、C,计算哈希值β=H(g1,g2,h,u1,u2,e,v,A,B,C,msg)(ST45)。
进而,组署名生成部件25根据该哈希值β、在步骤ST41中得到的随机数r1、r2、rr、署名者用存储部件21内的成员秘密密钥ki1,ki2和素数位数q,计算其他零知识证明的一部分的参数s1=r1+βki1 mod q,s2=r2+βki2 mod q,sr=rr+βr mod q(ST46~ST48)。
由此,组署名生成部件25将最终得到的零知识证明(A,B,C,s1,s2,sr)与密码(u1,u2,e,v)关联起来保存在署名者用存储部件21中(ST49),结束处理。以后,将这些密码(u1,u2,e,v)和零知识证明(A,B,C,s1,s2,sr)用作组署名σ=(u1,u2,e,v,A,B,C,s1,s2,sr)。
该组署名σ由署名者确定信息Ti的密码(u1,u2,e,v)、表示是知道了以g1、g2为底的f的继承ki1,ki2的正确的用户的情况和正确地对与之对应的署名者确定信息Ti进行了加密的情况的零知识证明(A,B,C,s1,s2,sr)组成。
以后,署名者装置20i根据署名者的输入部件22的操作,将署名者用存储部件21内的组署名σ和消息msg显示在输出部件26上,并从通信部件23发送到验证者装置30。由此,不表示成员秘密密钥ki1,ki2,就可以证明是属于组的正确的成员,并且组管理者可以确定署名者。
(署名验证处理:图13)
假设验证者装置30预先根据验证者的输入部件32的操作,从组管理者装置10取得公开参数(q,G,g1,H)和组公开密钥gpk=(g1,g2,f,c,d,h,H)并保存在验证者用存储部件31中。由此,验证者装置30能够进行署名验证处理。
在验证者装置30中,由通信部件33接收从署名者装置20i发送的消息msg、组署名σ=(u1,u2,e,v,A,B,C,s1,s2,sr)和验证要求,保存在验证用存储部件31中,并且由通信部件33将该验证要求发送到署名验证部件34。
署名验证部件34如果接收到验证要求,则根据验证者用存储部件31内的组公开密钥gpk、消息msg和组署名σ,计算哈希值β=H(g1,g2,h,u1,u2,e,v,A,B,C,msg)(ST51)。另外,署名验证部件34也可以根据规定的基准范围,确认组署名σ的值的范围。
接着,署名验证部件34根据组公开密钥gpk和组署名σ,对零知识证明的验证公式A=f^{-β}g1^{s1}g2^{s2},B=u1^{-β}g1^{sr},C=e^{-β}h^{sr}g1^{s1}是否成立进行验证(ST52~ST54)。
如果步骤ST52~ST54的结果是全部的验证公式A、B、C成立,则判断为有效(valid),向通信部件33和输出部件35输出判断结果OK(ST55),如果即使1个验证公式不成立,也判断为无效(invalid),向通信部件33和输出部件35输出判断结果NG(ST56)。
通信部件33向署名者装置20i发送判断结果OK/NG,结束处理。但是,通信部件33并不一定必须发送判断结果OK/NG。输出部件35显示输出判断结果OK/NG。
(署名者验证处理和署名者确定处理:图14和图15)
例如,说明由于发现不正常、为了服务使用费用的征收这样的情况,需要确定署名者的情况。
组管理者装置10由通信部件33接收从验证者装置30发送的消息msg、组署名σ和署名者确定要求,保存在管理者用存储部件11中,并且由通信部件33将该署名者确定要求发送到署名验证部件16。
署名验证部件16如果接收到署名者确定要求,则如图14所示,根据管理者用存储部件11内的组公开密钥gpk、消息msg和组署名σ,计算哈希值β=H(g1,g2,h,u1,u2,e,v,A,B,C,msg)(ST61)。另外,署名验证部件16也可以根据规定的基准范围,确认组署名σ的值的范围。
接着,署名验证部件16根据组公开密钥gpk和组署名σ,对零知识证明的值A=f^{-β}g1^{s1}g2^{s2},B=u1^{-β}g1^{sr},C=e^{-β}h^{sr}g1^{s1}是否成立进行验证(ST62~ST64)。
如果步骤ST62~ST64的结果即使1个验证公式不成立,也判断为无效(invalid),由通信部件33输出判断结果NG(ST65)。通信部件33向验证者装置30发送判断结果NG,结束处理。
另一方面,如果步骤ST62~ST64的结果是全部成立,则判断为有效(valid),署名验证部件16根据组公开密钥gpk和组署名σ,计算哈希值α=(u1,u2,e)(ST66)。
然后,署名验证部件16根据管理者用存储部件11内的组署名σ=(u1,u2,e,v,A,B,C,s1,s2,sr)、组秘密密钥gmsk=(a,b,x1,x2,y1,y2,z)和哈希值α,验证验证公式u1^{x1+y1α}u2^{x2+y2α}=v是否成立(ST67),前进到步骤ST65,结束处理。
另一方面,如果步骤ST67的结果是验证公式成立,则判断为有效(valid),署名验证部件16将判断结果OK和署名者确定要求发送到署 名者确定部件17,结束处理。
署名者确定部件17如果接收到判断结果OK和署名者确定要求,则如图15所示,根据管理者用存储部件11内的组署名σ和组秘密密钥gmsk,计算署名者确定信息T=e/u1 z(ST71),得到署名者确定信息T(ST72)。
接着,署名者确定部件17根据署名者确定信息T,检索管理者用存储部件11,将与署名者确定信息T对应的用户识别信息ID(j)(其中1≤j≤n)输出到输出部件18。进而,署名者确定部件17也可以根据用户识别信息ID(),检索管理者用存储部件11,将与用户识别信息ID(j)对应的用户信息输出到输出部件18。
输出部件18显示输出这些用户识别信息ID(j)和用户信息。
<实施例方式的安全性>
在此,证明实施例方式的安全性。
[定理1]提案组署名方式在随机预言模型(random oracle model)中DDH问题是困难的假定下,是安全的。
[引理1]实施例方式具有正当性(correctness)。
(证明)根据实施例方式的定义是明确的。
[引理2]实施例方式在随机预言模型中DDH问题是困难的假定下,具有匿名性(anonymity)。
(证明方法)利用以无法无视实施例方式的匿名性的概率破解的对手Aanon,构成以无法无视DDH问题的概率破解的对手ADDH。
将向对手ADDH的输入设为(g1,g2,u1,u2)。
如下这样模拟密钥生成算法GKg。
随机地选择x1,x2,y1,y2,z∈Zq。
随机地选择i∈{1,……,n}。
随机地选择ki1,ki2∈Zq。
计算f=g1^{ki1}g2^{ki2}。
设Ti=g1^{ki1}。
针对j ∈{1,……n}\{i},随机地选择Tj∈G。
计算c=g1^{x1}g2^{x2},d=g1^{y1}g2^{y2},h=g1 z。
从通用单向性哈希函数的集合选择哈希函数H。
假设组公开密钥gpk=(g1,g2,f,c,d,h,H)、用户i的成员秘密密钥gsk[i]=(ki1,ki2)。
如下这样模拟对用户j的收买询问(corruption query)的应答。
在j=i的情况下,返回gsk[i]=(ki1,ki2),在指定了除此以外的用户的情况下,作为错误而结束。
针对用户j、消息msg的署名要求,如下这样模拟对署名询问(signing query)的应答。
署名者确定信息的密码的部分进行Tj的Cramer-Shoup加密。
非对话知识证明的部分进行利用了随机预言模型的模拟。这是一般的方法,因此省略详细的说明。
如下这样模拟查询者(challenger)。
随机地选择b∈{0,1}。
与Cramer-Shoup暗号的安全性证明一样地对署名者确定信息的密码的部分进行模拟。
非对话知识证明的部分进行利用了随机预言的模拟。
对于对手ADDH,在b=b’的情况下输出1,在除此以外的情况下输出0。
由于都正确地进行了上述模拟,所以以无法无视DDH问题的概率破解对手ADDH。
但是,该对手ADDH与DDH问题是困难的这样的假设相反。因此,作为前提的以无法无视匿名性的概率破解的对手Aanon不存在。
[引理3]实施例方式在随机预言模型中离散对数问题是困难的假定下,具有可跟踪性(traceability)。
(证明方法)利用以无法无视实施例方式的可跟踪性的概率破解的对手Atrace,构成以无法无视离散对数问题的概率破解的对手ADL。
将向对手ADL的输入设为(g1,f)。
如下这样模拟密钥生成算法GKg。
随机地选择i∈{1,……,n}。
随机地选择ki1,ki2∈Zq。
设g2=(fg1^{-ki1})^{1/ki2}。
设Ti=g1^{ki1}。
针对j∈{1,……,n}\{i},随机地选择Tj∈G。
随机地选择x1,x2,y1,y2,z∈Zq。
计算c=g1^{x1}g2^{x2},d=g1^{y1}g2^{y2},h=g1 z。
从通用单向性哈希函数中选择哈希函数H。
设组公开密钥gpk=(g1,g2,f,c,d,h,H)、用户i的成员秘密密钥gsk[i]=(ki1,ki2)。
与匿名性(anonymity)的证明一样地模拟署名询问(signingquery)和收买询问(corruption query)的应答。
通过回放(rewind)而得到2个不同的署名
σ=(u1,u2,e,v,A,B,C,s1,s2,sr)
σ’=(u1’,u2’,e’,v’,A’,B’,C’,s1’,s2’,sr’)。
如果设β=H(g1,g2,h,u1,u2,e,v,A,B,C,msg)、
β’=H(g1,g2,h,u1’,u2’,e’,v’,A’,B’,C’,msg),
k1’=(s1-s1’)/(β-β’),k2’=(s2-s2’)/(β-β’),则f=g1^{k1’}g2^{k2’}。另外,根据可跟踪性的定义,(k1’,k2’)≠j(ki1,ki2),因此g2=g1^{-(ki1-k1’)/(ki2-k2’)}成立。
如果设-(kj1-k1’)/(ki2-k2’)=Γ,则logg_1f=ki1+Γki2,对手ADL能够以无法无视的概率求出离散对数。另外,下附的“_”表示下标。即,“logg_1f”表示以g1为底的f的对数。
但是,该对手ADL与离散对数问题是困难的这样的假定相反。因此,作为前提的以无法无视可跟踪性的概率破解的对手Atrace不存在。
<实施例方式的效率>
为了评价实施例方式的效率,考虑以作为通常的电子署名的RSA署名方式的署名生成的计算量为基准时的现有的组署名方式和实施例方式的计算量和数据长度。
作为现有的组署名方式,与非常高速的[CG04]方式进行比较。[CG04]方式即使与[ACJT00]方式相比,也是26倍以上的高速,另外,与利用了双线性映射(bilinear map)的方式(参考D.Boneh,X.Boyen,and H.Shacham,“Short group signatures”,In Proc.of CRYPTO 2004,LNCS 3152,pp.41~55,2004和J.Furukawa and H.Imai,“An efficientgroup signature scheme from bilinear maps”,In Proc.of ACISP 2005,LNCS 3574,pp.455~467,2005)相比,也是高速的。
首先,以下总结计算量的比较方法的考虑方法。
所比较的方式的计算量的大部分与幂余数运算对应。因此,无视幂余数运算以外的计算量,着眼于幂余数运算的计算量。
幂余数运算的计算量与(除数的比特长度)2×幂指数的比特长度成正比,因此在除数的比特长度相同的情况下,全体的计算量与幂指数的比特长度的总和成正比。
另外,在知道了除数的素因数分解的情况下,可以利用中国人剩余定理(Chinese remainder theorem:CRT),因此相对于不知道素因数分解的情况,在RSA模数(modulus(n=pq,p;q:素数))
p≈q 公式1
的情况下,计算量成为1/4~1/3左右。在此,假设计算量为1/4,来预测计算量。
进而,通过利用作为幂运算的高速处理方法的指数同时乘法(simultaneous multiple exponentiation)法,能够以与成为maxi({ei})=ej的gj^{ej}的计算相同的程度处理∏igi^{ei}的形式的计算。
比较时的安全参数以利用了[CG04]方式的推荐参数的情况为基准。推荐参数利用了2048比特的RSA模数,因此在RSA方式中,同样利用2048比特的RSA模数。对于在实施例方式中利用的乘法巡回群G,利用Zp *和椭圆曲线的2个。在Zp *下,利用设p为2048比特的素数、除尽p-1的q为224比特的素数时的位数q的Zp *的部分群。p、q的值是在FIPS(federal information processing standard)186-3的说明书(draft)(参考“March 13,2006:Draft Federal Information Processing Standard(FIPS)186-3-Digital Signature Standard(DSS)”,https://csrc.nist.gov/publications/drafts.html(2007年6月现在))中也将用的值,被看作是与2048比特的RSA模数相同程度的安全参数。在椭圆曲线上,利用根据作为与之等同的安全参数的224比特的素数生成的椭圆曲线。
在考虑到以上情况的基础上,图16表示RSA署名方式、[CG04]方式、本实施例方式的主要处理的计算量和数据长度。另外,署名生成计算量和署名验证计算量表示幂指数的比特长度的总和,在能够利用CRT的情况下,以1/4进行计算。RSA方式的署名验证计算量依存于公开密钥d的长度,一般比较小。RSA方式的署名密钥长度是在具有素数p、q和秘密密钥e的情况下的值。RSA方式的验证密钥长度是减小了公开密钥d的情况下的值。
本实施例方式的署名生成计算量是RSA方式的3倍,因此与RSA方式的约8倍的[CG04]方式相比,被抑制得低。因此,能够高速地执行本实施例方式的署名生成。
本实施例方式的署名密钥长度(成员秘密密钥长度)是RSA方式的1/9倍,因此与RSA方式的约1.1倍的[CG04]方式相比,变短了。
另外,本实施例方式的组秘密密钥长度比[CG04]方式长。但是,组秘密密钥长度的增加并不影响组管理者装置10以外的装置201~20n、30的计算量,一般组管理者装置与高性能、高可靠的计算机等的署名者装置、验证者装置相比,计算量的制约少的情况多,实用上没有问题。
另外,本实施例方式在以椭圆曲线暗号方式实现的情况下,署名长度成为RSA方式的1.5倍,因此与[CG04]方式相比,能够大幅地缩短署名长度。
即,本实施例方式与[CG04]方式相比,署名密钥长度和验证密钥长度短,能够高速地执行署名生成和署名验证。理由是相对于本实施例方式是以素数位数q为除数的以完全离散对数为基础的方式,[CG04]方式是以合成数n=pq为除数的以RSA为基础的方式。
例如,在以离散对数为基础的方式中,在y=gx mod q的计算中, 在除数q是2048比特的情况下,离散对数x为224比特左右。
另一方面,在以RSA为基础的方式中,在C=me mod n的计算中,在除数n是2048比特的情况下,公开密钥e也为2048比特左右。因此,在以RSA为基础的[CG04]方式中,不可能进行本实施例方式那样的密钥长度的缩短和计算的高速化。
根据上述那样的本实施例,作为使用素数位数q的乘法巡回群G完全以离散对数为基础的组署名方式,并且实现了以继承ki1、ki2为成员秘密密钥的组署名方式,由此与现有的[CG04]方式相比,能够减少计算量而提高计算速度。另外,“完全以离散对数为基础的组署名方式”是指使用素数位数q的乘法巡回群G作为乘法巡回群,而不利用位数未知的方式而只利用位数已知的方式的组署名方式。
例如,根据本实施例,由于是完全以离散对数为基础的方式,所以如图16所示,在以RSA为基础的[CG04]方式中,在不可能的层次,能够非常高速地实现数据长度短的组署名方式。
如果补足说明,在组管理者装置10中,通过在组公开密钥中包含值g1、g2、f,能够高效地生成组署名。另外,通过在组秘密密钥中包含值a、b,能够高效地生成成员数n个的成员秘密密钥。
在署名者装置20i中,通过使用基于继承的一部分ki1的署名确定信息Ti,能够高效地生成零知识证明。即,并不是继承自身,而是使用根据继承唯一计算的值作为署名者确定信息,因此能够提高零知识证明的生成和验证效率。
在验证者装置30和组管理者装置10中,根据包含零知识证明的组署名σ,能够高效地生成零知识证明,另外,能够高效地验证组署名σ。
进而,在组管理者装置10中,组署名σ包含署名者确定信息Ti的密码数据,由此只通过对密码数据进行解密就能够得到署名者确定信息Ti,因此能够高效地确定署名者。
另外,根据本实施例,能够实现基于DDH问题的最初的实用的组署名方式。
另外,根据本实施例,由于署名生成中的幂运算的底是固定的,所以通过事前计算指数同时乘法法的计算表,能够高效地执行幂运算。
另外,上述实施例所记载的方法可以作为能够使计算机执行的程序,存储在磁盘(软盘(注册商标)、硬盘等)、光盘(CD-ROM、DVD等)、光磁盘(MO)、半导体存储器等存储介质中而分发。
另外,作为该存储介质,只要是能够存储程序并且计算机可读的存储介质,其存储形式可以是任意的形态。
另外,也可以由根据从存储介质安装到计算机中的程序的指示而在计算机上运转的OS(操作系统)、数据库管理软件、网络软件等MW(中间件)等来执行用于实现上述实施例的各处理的一部分。
进而,本发明的存储介质并不限于与计算机独立的介质,也包含下载通过LAN、因特网等传送的程序而存储或暂时存储的存储介质。
另外,存储介质并不只限于1个,从多个介质执行上述实施例的处理的情况也包含在本发明的存储介质中,介质结构可以是任意的结构。
另外,本发明的计算机根据存储在存储介质中的程序,执行上述实施例的各处理,可以是由1台个人计算机等构成的装置、多个装置与网络连接的系统等的任意的结构。
另外,本发明的计算机并不限于个人计算机,还包含信息处理设备所包含的计算处理装置、微型计算机等,是对能够根据程序实现本发明的功能的设备、装置的总称。
另外,本申请发明并不限于上述实施例本身,在实施阶段可以在不脱离其宗旨的范围内对构成要素进行变形而具体化。另外,可以通过上述实施例所揭示的多个构成要素的适当组合来形成各种发明。例如,可以从实施例所示的全部构成要素中删除几个构成要素。进而,也可以适当地组合不同实施例的构成要素。
根据以上说明的本发明,能够提供可以减少计算量提高计算速度的组署名系统、装置和程序。
Claims (9)
1.一种组署名系统,其特征在于包括:能够相互进行通信的组管理者装置(10)、署名者装置(20i)和验证者装置(30),各装置使用组署名方式,
上述组管理者装置具备:
管理者用存储部件(11),存储包含在上述组署名方式中使用的素数位数q、上述q的乘法巡回群G的生成元g1的公开参数;
组密钥生成部件(14),根据上述管理者用存储部件内的公开参数,生成包含值a,b ∈Zq的组秘密密钥、包含满足第一关系式g2=g1 a和第二关系式f=g1 b的值g2,f和上述生成元g1的组公开密钥;以及
成员秘密密钥生成部件(15),根据上述组秘密密钥、上述组公开密钥和第三关系式ki1=b-aki2 mod q,计算出由满足第四关系式f=g1^{ki1}g2^{ki2}的继承ki1、ki2构成的成员秘密密钥,并根据上述成员秘密密钥和上述生成元g1,计算出署名者确定信息Ti=g1^{ki1},
上述署名者装置具备:
署名者用存储部件(21),存储包含在上述组署名方式中使用的素数位数q、上述q的乘法巡回群G的生成元g1的公开参数、上述组公开密钥、上述成员秘密密钥、上述署名者确定信息Ti和消息;
组署名生成部件(25),根据上述署名者用存储部件内的公开参数和组公开密钥,对上述署名者确定信息Ti进行加密,生成该署名者确定信息Ti的密码数据,并根据上述署名者用存储部件内的公开参数、上述组公开密钥、上述成员秘密密钥和上述消息、上述署名者确定信息Ti的密码数据,生成表示知道了该成员秘密密钥且基于该署名者确定信息Ti正确地生成了上述密码数据的零知识证明;以及
通信部件(23),将由上述密码数据和上述零知识证明构成的组署名和上述消息发送到上述验证者装置,
其中^是表示幂的记号,
上述验证者装置具备:
验证者用存储部件(31),存储包含在上述组署名方式中使用的素数位数q、上述q的乘法巡回群G的生成元g1的公开参数、上述组公开密钥;
通信部件(33),从上述署名者装置接收上述组署名和消息;以及
署名验证部件(34),根据上述接收到的组署名和消息、上述验证者用存储部件内的公开参数和组公开密钥,对该组署名的正当性进行验证,
上述通信部件(33)将上述验证了的结果发送到上述署名者装置。
2.一种组管理者装置(10),能够与使用组署名方式的署名者装置(20i)和验证者装置(30)进行通信,其特征在于包括:
管理者用存储部件(11),存储包含在上述组署名方式中使用的素数位数q、上述q的乘法巡回群G的生成元g1的公开参数;
组密钥生成部件(14),根据上述管理者用存储部件内的公开参数,生成包含值a,b∈Zq的组秘密密钥、包含满足第一关系式g2=g1 a和第二关系式f=g1 b的值g2,f和上述生成元g1的组公开密钥;
成员秘密密钥生成部件(15),根据上述组秘密密钥、上述组公开密钥和第三关系式ki1=b-aki2 mod q,计算出由满足第四关系式f =g1^{ki1}g2^{ki2}的继承ki1、ki2构成的成员秘密密钥,根据上述成员秘密密钥和上述生成元g1,计算出署名者确定信息Ti=g1^{ki1};以及
通信部件(13),将用于生成上述组署名方式中的组署名的上述公开参数、上述组公开密钥、上述成员秘密密钥和上述署名者确定信息Ti发送到上述署名者装置,将用于对上述组署名方式中的组署名进行验证的上述公开参数和上述组公开密钥发送到上述验证者装置,
其中^是表示幂的记号。
3.根据权利要求2所述的组管理者装置,其特征在于:
上述管理者用存储部件(11),相互关联地存储上述署名者确定信息Ti和用户识别信息ID(i);
上述通信部件(13)从上述署名者装置接收组署名和消息,其中该组署名由针对上述署名者确定信息Ti=g1^{ki1}表示知道了上述成员秘密密钥并且基于上述署名者确定信息Ti正确地生成了密码数据的零知识证明、上述署名者确定信息Ti的密码数据构成;
上述组管理者装置还具备:
署名验证部件(16),根据上述接收到的组署名和消息、上述管理者用存储部件内的公开参数、上述生成的组秘密密钥和组公开密钥,对该组署名的正当性进行验证;以及
署名者确定部件(17),在上述验证的结果表示正当性时,根据上述组秘密密钥从上述密码数据计算署名者确定信息Ti,从上述管理者用存储部件确定与所得到的署名者确定信息Ti对应的用户识别信息ID(i),
上述密码数据是由上述署名者装置根据上述公开参数和组公开密钥对上述署名者确定信息Ti进行了加密的数据,
上述零知识证明是由上述署名者装置根据上述公开参数、上述组公开密钥、上述成员秘密密钥和消息、上述署名者确定信息Ti的密码数据生成的数据。
4.一种署名者装置(20i),能够与使用组署名方式的组管理者装置(10)和验证者装置(30)进行通信,其特征在于包括:
通信部件(23),从上述组管理者装置接收包含上述组署名方式所使用的素数位数q、上述q的乘法巡回群G的生成元g1的公开参数、包含根据上述公开参数使得满足值a,b ∈Zq、第一关系式g2=g1 a和第二关系式f=g1 b那样地生成的值g2、f和上述生成元g1的组公开密钥、由根据上述a,b∈Zq、上述组公开密钥和第三关系式ki1=b-aki2 modq而使得满足第四关系式f=g1^{ki1}g2^{ki2}那样地生成的继承ki1、ki2构成的成员秘密密钥、根据上述成员秘密密钥和上述生成元g1生成的署名者确定信息Ti=g1^{ki1};
署名者用存储部件(21),存储上述接收到的公开参数、上述组公开密钥、上述成员秘密密钥、上述署名者确定信息Ti和消息;
消息生成部件(24),生成上述消息并写入到上述署名者用存储部件;
组署名生成部件(25),根据上述署名者用存储部件内的公开参数和组公开密钥,对上述署名者确定信息Ti进行加密,生成该署名者确定信息Ti的密码数据,并根据上述署名者用存储部件内的公开参数、上述组公开密钥、上述成员秘密密钥和上述消息、上述署名者确定信息Ti的密码数据,生成表示知道了该成员秘密密钥和基于该署名者确定信息Ti正确地生成了上述密码数据的零知识证明,
其中,^是表示幂的记号,
上述通信部件(23)将由上述密码数据和上述零知识证明构成的组署名和上述消息发送到上述验证者装置。
5.一种验证者装置(30),能够与使用组署名方式的组管理者装置(10)和署名者装置(20i)进行通信,其特征在于包括:
通信部件(33),从上述组管理者装置接收包含上述组署名方式所使用的素数位数q、上述q的乘法巡回群G的生成元g1的公开参数、包含根据上述公开参数使得满足值a,b∈Zq、第一关系式g2=g1 a和第二关系式f=g1 b那样地生成的值g2、f和上述生成元g1的组公开密钥,从上述署名者装置接收组署名和消息,其中该组署名由以下部分构成:由根据上述值a,b∈Zq、上述组公开密钥和第三关系式ki1=b-aki2mod q而使得满足第四关系式f=g1^{ki1}g2^{ki2}那样地生成的继承ki1、ki2构成的成员秘密密钥、针对根据上述成员秘密密钥和上述生成元g1生成的署名者确定信息Ti=g1^{ki1}而表示知道了上述成员秘密密钥并且基于上述署名者确定信息Ti而正确地生成了密码数据的零知识证明、上述署名者确定信息Ti的密码数据;
验证者用存储部件(31),存储上述接收到的公开参数和上述组公开密钥;
署名验证部件(34),根据上述接收到的组署名和消息、上述验证者用存储部件内的公开参数和组公开密钥,对该组署名的正当性进行验证,
其中,^是表示幂的记号,
上述通信部件(33)将上述验证的结果发送到上述署名者装置,
上述密码数据是由上述署名者装置根据上述公开参数和组公开密钥对上述署名者确定信息Ti进行了加密的数据,
上述零知识证明是由上述署名者装置根据上述公开参数、上述组公开密钥、上述成员秘密密钥和消息、上述署名者确定信息Ti的密码数据生成的数据。
6.一种组管理者装置(10)的方法,该组管理者装置(10)能够与使用组署名方式的署名者装置(20i)和验证者装置(30)进行通信,其特征在于,包括如下步骤:
将包含在上述组署名方式中使用的素数位数q、上述q的乘法巡回群G的生成元g1的公开参数写入到管理者用存储部件(11)中的步骤;
组密钥生成步骤,根据上述管理者用存储部件内的公开参数,生成包含值a,b∈Zq的组秘密密钥、包含满足第一关系式g2=g1 a和第二关系式f=g1 b的值g2,f和上述生成元g1的组公开密钥;
成员秘密密钥生成步骤,根据上述组秘密密钥、上述组公开密钥和第三关系式ki1=b-aki2 mod q,计算出由满足第四关系式f=g1^{ki1}g2^{ki2}的继承ki1、ki2构成的成员秘密密钥;
署名者确定信息计算步骤,根据上述成员秘密密钥和上述生成元g1,计算出署名者确定信息Ti=g1^{ki1};
将用于生成上述组署名方式中的组署名的上述公开参数、上述组公开密钥、上述成员秘密密钥和上述署名者确定信息Ti发送到上述署名者装置的步骤;以及
将用于对上述组署名方式中的组署名进行验证的上述公开参数和上述组公开密钥发送到上述验证者装置的步骤,
其中^是表示幂的记号。
7.根据权利要求6所述的组管理者装置的方法,其特征在于,还包括如下步骤:
相互关联地将上述署名者确定信息Ti和用户识别信息ID(i)存储到上述存储器中的步骤;
从上述署名者装置接收组署名和消息的步骤,其中该组署名由针对上述署名者确定信息Ti=g1^{ki1}表示知道了上述成员秘密密钥并且基于上述署名者确定信息Ti正确地生成了上述密码数据的零知识证明、上述署名者确定信息Ti的密码数据构成;
根据上述接收到的组署名和消息、上述公开参数、上述生成的组秘密密钥和组公开密钥,对该组署名的正当性进行验证的步骤;以及
在上述验证的结果表示正当性时,根据上述组秘密密钥从上述密码数据计算署名者确定信息Ti,从上述管理者用存储部件中确定与所得到的署名者确定信息Ti对应的用户识别信息ID(i)的步骤,
其中,
上述密码数据是由上述署名者装置根据上述公开参数和组公开密钥对上述署名者确定信息Ti进行了加密的数据,
上述零知识证明是由上述署名者装置根据上述公开参数、上述组公开密钥、上述成员秘密密钥和消息、上述署名者确定信息Ti的密码数据生成的数据。
8.一种署名者装置(20i)的方法,该署名者装置(20i)能够与使用组署名方式的组管理者装置(10)和验证者装置(30)进行通信,其特征在于,包括如下步骤:
从上述组管理者装置接收包含上述组署名方式所使用的素数位数q、上述q的乘法巡回群G的生成元g1的公开参数、包含根据上述公开参数使得满足值a,b∈Zq、第一关系式g2=g1 a和第二关系式f=g1 b那样地生成的值g2、f和上述生成元g1的组公开密钥、由根据上述值a,b ∈Zq、上述组公开密钥和第三关系式ki1=b-aki2 mod q而使得满足第四关系式f=g1^{ki1}g2^{ki2}那样地生成的继承ki1、ki2构成的成员秘密密钥、根据上述成员秘密密钥和上述生成元g1生成的署名者确定信息Ti=g1^{ki1}的步骤;
将上述接收到的公开参数、上述组公开密钥、上述成员秘密密钥、上述署名者确定信息Ti和消息写入到署名者用存储部件(21)中的步骤;
生成上述消息并写入到上述署名者用存储部件的步骤;
根据上述署名者用存储部件内的公开参数和组公开密钥,对上述署名者确定信息Ti进行加密,生成该署名者确定信息Ti的密码数据的步骤;
根据上述署名者用存储部件内的公开参数、上述组公开密钥、上述成员秘密密钥和上述消息、上述署名者确定信息Ti的密码数据,生成表示知道了该成员秘密密钥且基于该署名者确定信息Ti正确地生成了上述密码数据的零知识证明的零知识证明生成步骤;以及
将由上述密码数据和上述零知识证明构成的组署名和上述消息发送到上述验证者装置的步骤,
其中,^是表示幂的记号。
9.一种验证者装置(30)的方法,该验证者装置(30)能够与使用组署名方式的组管理者装置(10)和署名者装置(20i)进行通信,其特征在于,包括如下步骤:
从上述组管理者装置接收包含上述组署名方式所使用的素数位数q、上述q的乘法巡回群G的生成元g1的公开参数、包含根据上述公开参数使得满足值a,b∈Zq、第一关系式g2=g1 a和第二关系式f=g1 b那样地生成的值g2、f和上述生成元g1的组公开密钥的步骤;
将上述接收到的公开参数、上述组公开密钥写入到验证者用存储部件(31)中的步骤;
从上述署名者装置接收组署名和消息的步骤,其中该组署名由以下部分构成:由根据上述值a,b∈Zq、上述组公开密钥和第三关系式ki1=b-aki2 mod q而使得满足第四关系式f=g1^{ki1}g2^{ki2}那样地生成的继承ki1、ki2构成的成员秘密密钥、针对根据上述成员秘密密钥和上述生成元g1生成的署名者确定信息Ti=g1^{ki1}而表示知道了上述成员秘密密钥并且基于上述署名者确定信息Ti而正确地生成了上述密码数据的零知识证明、上述署名者确定信息Ti的密码数据;
根据上述接收到的组署名和消息、上述验证者用存储部件内的公开参数和组公开密钥,对该组署名的正当性进行验证的步骤;以及
将上述验证的结果发送到上述署名者装置的步骤,
其中,^是表示幂的记号,
上述密码数据是由上述署名者装置根据上述公开参数和组公开密钥对上述署名者确定信息Ti进行了加密的数据,
上述零知识证明是由上述署名者装置根据上述公开参数、上述组公开密钥、上述成员秘密密钥和消息、上述署名者确定信息Ti的密码数据生成的数据。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2007/063824 WO2009008069A1 (ja) | 2007-07-11 | 2007-07-11 | グループ署名システム、装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101689993A CN101689993A (zh) | 2010-03-31 |
CN101689993B true CN101689993B (zh) | 2013-02-27 |
Family
ID=40228266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200780053725.5A Active CN101689993B (zh) | 2007-07-11 | 2007-07-11 | 组署名系统、装置和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8200977B2 (zh) |
JP (1) | JP5060556B2 (zh) |
KR (1) | KR101099814B1 (zh) |
CN (1) | CN101689993B (zh) |
WO (1) | WO2009008069A1 (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4764447B2 (ja) * | 2008-03-19 | 2011-09-07 | 株式会社東芝 | グループ署名システム、装置及びプログラム |
EP2456119B1 (en) * | 2009-07-13 | 2016-09-28 | Nec Corporation | Anonymous authentication signature system, user device, verification device, signature method, verification method, and program therefor |
KR101425552B1 (ko) | 2010-10-04 | 2014-08-05 | 한국전자통신연구원 | 제어가능 연결성을 제공하는 그룹서명 시스템 및 방법 |
WO2012056608A1 (ja) * | 2010-10-29 | 2012-05-03 | 日本電気株式会社 | 署名処理装置 |
US9300475B2 (en) * | 2010-12-24 | 2016-03-29 | Mitsubishi Electric Corporation | Signature generation by calculating a remainder modulo public information |
US8681992B2 (en) * | 2012-02-13 | 2014-03-25 | Alephcloud Systems, Inc. | Monitoring and controlling access to electronic content |
US8731203B2 (en) | 2012-02-13 | 2014-05-20 | Alephcloud Systems, Inc. | Securing a secret of a user |
US9092780B2 (en) | 2012-02-13 | 2015-07-28 | PivotCloud, Inc. | User-mediator monitoring and controlling access to electronic content |
US9172711B2 (en) | 2012-02-13 | 2015-10-27 | PivotCloud, Inc. | Originator publishing an attestation of a statement |
US9219715B2 (en) | 2012-02-13 | 2015-12-22 | PivotCloud, Inc. | Mediator utilizing electronic content to enforce policies to a resource |
EP2846492A1 (en) * | 2013-09-05 | 2015-03-11 | Thomson Licensing | Cryptographic group signature methods and devices |
US9264221B2 (en) * | 2014-01-31 | 2016-02-16 | Google Inc. | Systems and methods for faster public key encryption using the associated private key portion |
US10104088B2 (en) | 2016-09-28 | 2018-10-16 | International Business Machines Corporation | Traitor tracing for obfuscated credentials |
CN107579819B (zh) * | 2017-09-13 | 2019-11-19 | 何德彪 | 一种sm9数字签名生成方法及系统 |
CN108833107B (zh) * | 2018-05-19 | 2021-06-11 | 深圳市图灵奇点智能科技有限公司 | 零知识证明的公共参数生成方法及系统 |
CN108667626B (zh) * | 2018-07-20 | 2020-03-03 | 陕西师范大学 | 安全的两方协作sm2签名方法 |
US10972274B2 (en) * | 2018-08-29 | 2021-04-06 | International Business Machines Corporation | Trusted identity solution using blockchain |
FR3091107A1 (fr) * | 2018-12-24 | 2020-06-26 | Orange | Procédé et système de génération de clés pour un schéma de signatures anonymes |
CN109600233B (zh) * | 2019-01-15 | 2021-06-08 | 西安电子科技大学 | 基于sm2数字签名算法的群签名标识签发方法 |
CN110311782B (zh) * | 2019-04-29 | 2020-04-14 | 山东工商学院 | 个人信息的零知识证明方法、系统及存储介质 |
WO2022019932A1 (en) * | 2020-07-21 | 2022-01-27 | Harman International Industries, Incorporated | Systems and methods for data security in autonomous vehicles |
KR102439195B1 (ko) * | 2022-05-03 | 2022-08-31 | 세종대학교산학협력단 | 다중 서명 생성 방법 및 시스템과 이를 수행하기 위한 컴퓨팅 장치 |
US20230388280A1 (en) * | 2022-05-25 | 2023-11-30 | CybXSecurity LLC | System, Method, and Computer Program Product for Generating Secure Messages for Messaging |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005210638A (ja) * | 2004-01-26 | 2005-08-04 | Toshiba Corp | デジタル署名システム、デジタル署名管理装置、デジタル署名管理方法及びプログラム |
CN1864386A (zh) * | 2003-10-15 | 2006-11-15 | 思科技术公司 | 为允许支持多个广播和多播域而对802.11群组密钥的命名 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3833309A1 (de) * | 1987-09-30 | 1989-04-20 | Toshiba Kawasaki Kk | Bildverarbeitungseinrichtung |
JP3053106B2 (ja) * | 1990-11-02 | 2000-06-19 | 株式会社日立製作所 | 暗号化処理装置、及び復号化処理装置 |
US6243467B1 (en) * | 1998-07-23 | 2001-06-05 | The United States Of America As Represented By The National Security Agency | Method of elliptic curve cryptographic digital signature generation and verification using reduced base tau expansion in non-adjacent form |
JP2001202013A (ja) * | 2000-01-21 | 2001-07-27 | Nec Corp | 匿名参加権限管理システム |
US6584566B1 (en) * | 1998-08-27 | 2003-06-24 | Nortel Networks Limited | Distributed group key management for multicast security |
US6240188B1 (en) * | 1999-07-06 | 2001-05-29 | Matsushita Electric Industrial Co., Ltd. | Distributed group key management scheme for secure many-to-many communication |
US7269728B1 (en) * | 1999-09-21 | 2007-09-11 | Nortel Networks Limited | Apparatus and method for distributing management keys in a multicast domain |
US7181017B1 (en) * | 2001-03-23 | 2007-02-20 | David Felsher | System and method for secure three-party communications |
KR100395158B1 (ko) * | 2001-07-12 | 2003-08-19 | 한국전자통신연구원 | 유한 비가환군을 이용한 공개키 암호 시스템 |
US8098818B2 (en) * | 2003-07-07 | 2012-01-17 | Qualcomm Incorporated | Secure registration for a multicast-broadcast-multimedia system (MBMS) |
US7590236B1 (en) * | 2004-06-04 | 2009-09-15 | Voltage Security, Inc. | Identity-based-encryption system |
CN1773905B (zh) * | 2004-11-10 | 2010-08-18 | 日电(中国)有限公司 | 在安全通信系统中生成匿名公钥的方法、设备和系统 |
AU2005325353A1 (en) * | 2005-01-21 | 2006-07-27 | Nec Corporation | Signing device, verifying device, certifying device, encrypting device, and decrypting device |
WO2006077700A1 (ja) * | 2005-01-21 | 2006-07-27 | Nec Corporation | グループ署名方式 |
JP4872908B2 (ja) * | 2005-02-10 | 2012-02-08 | 日本電気株式会社 | メンバー証明書獲得装置、メンバー証明書発行装置、グループ署名装置、グループ署名検証装置 |
US20070016584A1 (en) * | 2005-07-15 | 2007-01-18 | Grell Mathew L | Group access without using an administrator |
EP1921791A1 (en) * | 2005-07-19 | 2008-05-14 | NEC Corporation | Key issuing method and group signature system |
US8306026B2 (en) * | 2005-12-15 | 2012-11-06 | Toshiba America Research, Inc. | Last hop topology sensitive multicasting key management |
US7477738B2 (en) * | 2005-12-21 | 2009-01-13 | General Instrument Corporation | Data sequence encryption and decryption |
US20070157212A1 (en) * | 2006-01-04 | 2007-07-05 | Berg Douglas C | Context key routing for parallel processing in an application serving environment |
CN101106449B (zh) * | 2006-07-13 | 2010-05-12 | 华为技术有限公司 | 实现多方通信安全的系统和方法 |
CN101155027B (zh) * | 2006-09-27 | 2012-07-04 | 华为技术有限公司 | 密钥共享方法和系统 |
US8638928B2 (en) * | 2007-05-25 | 2014-01-28 | Nec Corporation | Key exchanging apparatus |
JP2009026407A (ja) * | 2007-07-20 | 2009-02-05 | Toshiba Corp | 情報記録媒体 |
US8189789B2 (en) * | 2008-11-03 | 2012-05-29 | Telcordia Technologies, Inc. | Intrusion-tolerant group management for mobile ad-hoc networks |
US8094823B1 (en) * | 2008-12-24 | 2012-01-10 | Rockstar Bidco, LP | Extended diffie-hellman group key generation |
-
2007
- 2007-07-11 CN CN200780053725.5A patent/CN101689993B/zh active Active
- 2007-07-11 WO PCT/JP2007/063824 patent/WO2009008069A1/ja active Application Filing
- 2007-07-11 KR KR1020107000205A patent/KR101099814B1/ko active IP Right Grant
- 2007-07-11 JP JP2009522460A patent/JP5060556B2/ja active Active
-
2010
- 2010-01-08 US US12/684,606 patent/US8200977B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1864386A (zh) * | 2003-10-15 | 2006-11-15 | 思科技术公司 | 为允许支持多个广播和多播域而对802.11群组密钥的命名 |
JP2005210638A (ja) * | 2004-01-26 | 2005-08-04 | Toshiba Corp | デジタル署名システム、デジタル署名管理装置、デジタル署名管理方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
KR20100018043A (ko) | 2010-02-16 |
WO2009008069A1 (ja) | 2009-01-15 |
JPWO2009008069A1 (ja) | 2010-09-02 |
KR101099814B1 (ko) | 2011-12-27 |
US20100169656A1 (en) | 2010-07-01 |
CN101689993A (zh) | 2010-03-31 |
US8200977B2 (en) | 2012-06-12 |
JP5060556B2 (ja) | 2012-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101689993B (zh) | 组署名系统、装置和方法 | |
US8433897B2 (en) | Group signature system, apparatus and storage medium | |
Dodis et al. | Breaking and repairing optimistic fair exchange from PODC 2003 | |
Tso et al. | Strongly secure certificateless short signatures | |
Brickell et al. | Enhanced privacy ID from bilinear pairing | |
Chen et al. | Certificateless aggregate signature with efficient verification | |
Lu et al. | Sequential aggregate signatures, multisignatures, and verifiably encrypted signatures without random oracles | |
Sun et al. | Strongly unforgeable proxy signature scheme secure in the standard model | |
He et al. | An efficient certificateless designated verifier signature scheme. | |
CN103988466A (zh) | 群加密方法及设备 | |
Tso | A new way to generate a ring: Universal ring signature | |
Tian et al. | A systematic method to design strong designated verifier signature without random oracles | |
Tian et al. | A short non-delegatable strong designated verifier signature | |
Tian et al. | A non-delegatable strong designated verifier signature without random oracles | |
Shao | Certificate-based fair exchange protocol of signatures from pairings | |
Huang et al. | A new construction of designated confirmer signature and its application to optimistic fair exchange | |
Gao et al. | Round-optimal ID-based blind signature schemes without ROS assumption | |
Liu et al. | A remote anonymous attestation protocol in trusted computing | |
Chen et al. | A note on the Chen–Morrissey–Smart DAA scheme | |
Wang et al. | SMHSDVS: A Secure and Mutual Heterogeneous Strong Designated Signature Between PKI and IBC | |
Das et al. | Efficient Post-Quantum Secure Deterministic Threshold Wallets from Isogenies | |
Wang et al. | Adaptively secure threshold signature scheme in the standard model | |
Shao et al. | Practical verifiably encrypted signatures without random oracles | |
Zhang et al. | Efficient and optimistic fair exchanges based on standard RSA with provable security | |
Wan et al. | Security Mediated Certificateless Signatures Without Pairing. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |