CN101335625B - 统一验证装置、程序以及统一验证方法 - Google Patents
统一验证装置、程序以及统一验证方法 Download PDFInfo
- Publication number
- CN101335625B CN101335625B CN2008100828257A CN200810082825A CN101335625B CN 101335625 B CN101335625 B CN 101335625B CN 2008100828257 A CN2008100828257 A CN 2008100828257A CN 200810082825 A CN200810082825 A CN 200810082825A CN 101335625 B CN101335625 B CN 101335625B
- Authority
- CN
- China
- Prior art keywords
- signature
- value
- instance
- module
- batch
- 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
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/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/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/3252—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 DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种统一验证装置、程序以及统一验证方法,其实现兼备高安全性和高效率的统一验证。具有数学函数计算部(136),其调换多个批量实例的顺序,并确定与调换后的顺序对应的数,通过验证将批量实例的第一值乘以与该顺序对应的数得到的乘积作为幂指数,对有限循环群的生成源进行幂运算得到的值;以及将与该顺序对应的数作为幂指数,对批量实例的第二值进行幂运算得到的值是否一致,来进行验证。
Description
技术领域
本发明涉及一种统一验证多个数字签名的技术。
背景技术
在数字签名中,签名者对于签名对象的电子数据,使用签名者保密的签名生成密钥生成签名数据,签名验证者使用公开的签名验证密钥对签名数据进行解密,通过与成为签名对象的电子数据进行比较,可以检测签名者的真伪以及是否存在对电子数据的窜改等。
在这样的数字签名中,在进行验证时必须反复进行复杂的处理(数学计算),例如在M.Bellare,J.Garay,and T.Rabin,“Fast Batch Verification forModular Exponentiation and Digital Signatures”,Advances inCryptology-EUROCRYPT 1998,LNCS 1403,pp.236-250,1998.(称为文献1)记载的技术中,通过统一验证多个数字签名,提高数字签名的验证处理的效率。
下面,对文献1中记载的统一验证方法进行说明。
此外,下面将G作为把位数设为q(q为大的素数)的有限循环群,将g作为群G的生成源。并且设(xi,yi)(i为表示顺序的脚标,是满足1≤i≤n的自然数)为用于验证是否满足下式(1)的组(批量实例(batch instance))。
其中,对于各i(i=1,...,n),xi、yi分别满足下式(2)以及式(3)。
0≤xi≤q-1...(2)
yi∈G...(3)
批量实例(xi,yi)(i=1,...,n)在对于各i(i=1,...,n)满足式(1)时称为“有效”,否则称为“无效”。此外,在批量实例有效时,判定签名数据也“有效”,在批量实例无效时,判断签名数据也无效。
此外,在统一验证中,始终将有效的批量实例作为“有效”来接受,但有时也以非常小的概率将无效的批量实例作为“有效”来接受。而且,在将无效
的批量实例作为“有效”来接受的概率的上限最高为1/2m(m为正整数)时,m被称为安全级别。根据近年的计算机能力,已知希望将m最好设定为80左右。此外,我们知道安全级别m越大,数字签名的安全性越高。
这里,在通常的签名验证中,对于与各i(i=1,...,n)对应的数字签名,分别验证是否满足式(1),相对于此,在文献1记载的Random Subset Test中,验证是否满足如下式(4)以及(5)。
si=0或者1(i=1,...,n)...(5)
这里,如式(5)所示,对于各i(i=1,...,n),假设si为随机选择0或者1。
另外,文献1中记载的Small Exponents Test验证是否满足下式(6)以及(7)。
0≤si≤2m-1(i=1,...,n)...(7)
这里,si(i=1,...,n)是从[0,...2m-1]中随机选择出的整数。这里,m为任意的正整数,由该m决定安全级别。
此外,如式(5)中记载的那样,Random Subset Test的Random源于对各i(i=1,2,3,...,n)随机选择si。另外,Random Subset Test最高以1/2的概率将“无效”的批量实例作为“有效”来接受。因此,实际上,为了将安全级别设定为m,使用独立执行m次Random Subset Test的Atomic Random Subset Test。由此,独立执行m次Random Subset Test的Atomic Random Subset Test将“无效”的批量实例作为“有效”来接受的概率最高为1/2m。另外,在上述Small Exponents Test中,将“无效”的批量实例作为“有效”来接受的概率最高也为1/2m。
在这一点上,文献1中记载的统一验证的效率依赖于批量实例的个数n和安全级别m。
文献1中记载的统一验证的效率依赖于批量实例的个数n和安全级别m,在效率和安全性(安全级别m)之间存在折衷选择的关系,若要求高安全性,则不能期望高效率。
发明内容
因此,本发明的目的在于实现兼备高安全性和高效率的统一验证。
为了解决以上课题,本发明对于多个签名数据确定顺序,发挥与所确定的顺序对应的数的作用。
例如,本发明提供一种统一验证多个签名数据的批量实例的统一验证装置,其特征为:对于所述多个签名数据确定了顺序,所述批量实例具有第一值和第二值,具备处理部,其根据以下两个值是否一致来进行验证,其中一个值为把所述第一值乘以根据所述顺序而不同的数得到的乘积作为幂指数,对有限乘法循环群的生成源进行幂运算得到的值;另一个值为将根据所述顺序而不同的数作为幂指数,对所述第二值进行幂运算得到的值。
如上所述,根据本发明,可以实现兼备高安全性和高效率的统一验证。
附图说明
图1表示作为第一实施方式的签名统一验证系统的概要。
图2表示签名装置的概要。
图3表示验证装置的概要。
图4表示数学函数计算部的概要。
图5表示计算机的硬件结构的概要。
图6是表示签名装置的签名生成处理的顺序图。
图7是表示验证装置的签名的统一验证处理的顺序图。
图8是表示通过数学函数计算部的统一验证处理的顺序图。
图9是表示置换部的调换处理的流程图。
图10是计算成本(计算时间)的比较图。
图11表示签名装置的概要。
图12表示验证装置的概要。
图13是表示数学函数计算部中的统一验证处理的流程图。
图14表示签名装置的概要。
图15表示验证装置的概要。
图16是表示通过数学函数计算部的统一验证处理的流程图。
图17表示实时监视系统的概要。
符号说明
100:签名统一验证系统;110、210、310:签名装置;111、211、311:存储部;114、214、314:处理部;130、230、330:验证装置;131、231、331:存储部;134、234、334:处理部
具体实施方式
图1是作为本发明第一实施方式的签名统一验证系统100的概要图。
如图所示,签名统一验证系统100具有签名装置110和验证装置130,这些签名装置110和验证装置130可以通过网络150相互收发信息。并且,在作为本实施方式的签名统一验证系统100中,在签名装置110中进行针对消息M的签名的生成,在验证装置130中进行签名的统一验证。
图2是签名装置110的概要图。
如图所示,签名装置110具有存储部111、处理部114、输入部117、输出部118以及通信部119。
在存储部111中设置有签名生成密钥存储区域112和数据存储区域113。
在签名生成密钥存储区域112中存储作为进行签名时的密钥信息的签名生成密钥。
在数据存储区域113中存储作为签名对象数据的消息。
处理部114具有签名生成处理部115和数学函数计算部116。
签名生成处理部115控制针对作为签名对象数据的消息的签名数据的生成处理。
例如,在本实施方式中,签名生成处理部115通过将作为签名对象数据的消息输入到预先规定的散列函数中,来生成输入数据。
然后,签名生成处理部115取得在签名生成密钥存储区域112中存储的签名生成密钥,与输入数据一起输入至数学函数计算部116。
然后,签名生成处理部115取得由数学函数计算部116生成的签名,将签名和消息作为签名数据,经由通信部139发送给验证装置130。
数学函数计算部116对于从签名生成处理部115输入的输入数据,使用从签名生成处理部115输入的签名生成密钥,执行基于预定算法的加密,来生成签名。
然后,数学函数计算部116将如此生成的签名输出给签名生成处理部115。
输入部117接收信息的输入。
输出部118输出信息。
通信部119通过网络150进行信息的收发。
以上记载的签名装置110例如可以通过图5(计算机160的概要图)所示的一般的计算机160来实现,该计算机160具有:CPU161、存储器162、HDD等外部存储装置163、从CD-ROM或DVD-ROM等可移动的存储媒体164读取信息的读取装置165、键盘鼠标等输入装置166、显示器等输出装置167、以及用于连接到通信网络的NIC(Network Interface Card)等通信装置168。
例如,存储部111可以通过由CPU161利用存储器162或外部存储装置163来实现,处理部114可以通过将存储在外部存储装置163中的规定程序加载到存储器162中,然后由CPU161执行来实现,输入部117可以通过由CPU161利用输入装置166来实现,输出部118可以通过由CPU161利用输出装置167来实现,通信部119可以通过由CPU161利用通信装置168来实现。
该规定的程序可以通过读取装置165从存储媒体164下载到外部存储装置163中或者通过通信装置168从网络下载到外部存储装置163中,然后加载到存储器162中由CPU161来执行。另外,也可以通过读取装置165从存储媒体164直接加载到存储器162上或者通过通信装置168从网络直接加载到存储器162上,然后由CPU161执行。
图3是验证装置130的概要图。
验证装置130具有存储部131、处理部134、输入部137、输出部138以及通信部139。
在存储部131中设置有签名验证密钥存储区域132和签名数据存储区域133。
在签名验证密钥存储区域132中存储签名验证密钥,该签名验证密钥是用于对从签名装置110发送来的签名数据中包含的签名进行解密来进行验证的密钥信息。
在签名数据存储区域133中存储从签名装置110发送来的签名数据。
处理部134具有签名统一验证处理部135和数学函数计算部136。
签名统一验证处理部135控制统一验证从签名装置110发送来的签名数据的处理。
例如,在本实施方式中,签名统一验证处理部135从存储部131取得存储在签名验证密钥存储区域132中的签名验证密钥pk以及存储在签名数据存储区域133中的签名数据,然后输入给数学函数计算部136。
然后,签名统一验证处理部135从数学函数计算部136取得统一验证的结果,并将其存储在存储部131中,或者通过输出部138和通信部139输出验证结果。
数学函数计算部136对于从签名统一验证部135输入的签名数据中包含的签名,使用从签名统一验证部135输入的签名验证密钥,执行基于预先规定的算法的签名的统一验证,来确认签名的有效性。
例如,在本实施方式中,如图4(数据函数计算部136的概要图)所示,数学函数计算部136具有批量实例生成部136a、置换部136b以及模指数运算(modulo exponentiation)部136f。
批量实例生成部136a根据从签名统一验证部135输入的签名数据中包含的签名,生成批量实例。这里,批量实例的生成方法依赖于在签名装置110以及验证装置130中使用的签名方式。此外,根据在签名装置110以及验证装置130中使用的签名方式生成的签名成为批量实例时,无需在数学函数计算部136中设置批量实例生成部136a。此外,关于批量实例的具体的生成方法,在后述的实施方式2以及3中进行说明。
置换部136b进行调换批量实例的顺序的处理。
批量实例的顺序的调换可以采用任意的调换方法,但是在本实施方式中使用伪随机数生成部136c、中间状态存储部136d、调换部136e、反复判断部136f来进行调换。此外,关于具体的调换方法,使用图9进行详细说明。
模指数运算部136f对由置换部136b进行了调换的批量实例进行模指数运算,来进行验证。此外,关于在模指数运算部136f中的处理,使用图8进行详细说明。
输入部137接收信息的输入。
输出部138输出信息。
通信部139通过网络150进行信息的收发。
关于以上记载的验证装置130,例如也可以通过图5(计算机160的概要图)所示的一般的计算机160来实现。
例如,存储部131可以通过由CPU161利用存储器162或外部存储装置163来实现,处理部134可以通过将存储在外部存储装置163中的规定的程序加载到存储器162中由CPU161执行来实现,输入部137可以通过由CPU161利用输入装置166来实现,输出部138可以通过由CPU161利用输出装置167来实现,通信部139可以通过由CPU161利用通信装置168来实现。
该规定的程序可以通过读取装置165从存储媒体164下载到外部存储装置163中或者通过通信装置168从网络下载到外部存储装置163中,然后加载到存储器162,由CPU161来执行。另外,也可以通过读取装置165从存储媒体164直接加载到存储器162上或者通过通信装置168从网络直接加载到存储器162上,由CPU161执行。
图6是表示签名装置110的签名生成处理的顺序图。
首先,签名装置110的签名生成处理部115取得通过输入部117输入的、或者存储在数据存储区域113中的消息M(S10)。这里,消息M只要是数字化的数据即可,与其是文本、图像、影像、声音等中的哪一种无关。
然后,签名生成处理部115根据取得的消息M生成输入数据H(S11)。输入数据H例如为消息M的散列值等,依赖于消息M、使用的签名方式。
然后,签名生成处理部115读取存储在存储部111的签名生成密钥存储区域112中的签名生成密钥sk(S12)。
然后,签名生成处理部115将读取出的签名生成密钥sk以及在步骤S11中生成的输入数据H输入给数学函数计算部116(S13)。
数学函数计算部116根据输入的签名生成密钥sk和输入数据H,计算签
名S(S14)。这里,签名S为根据采用的签名方式计算的值。
然后,数学函数计算部116将计算出的签名S输出至签名生成处理部115(S15)。
签名生成处理部115将接收到的签名S和消息M作为签名数据,通过通信部119发送给验证装置130(S16)。
此外,关于在步骤S12中从存储部111取得签名生成密钥sk的定时,只要在向数学函数计算部116输出签名生成密钥sk之前即可,例如可以在取得消息M(S10)之前。
图7是表示验证装置130的签名的统一验证处理的顺序图。
首先,验证装置130的签名统一验证处理部135取得任意个通过输入部137和通信部139输入的签名数据,或者在存储部131的签名数据存储区域133中存储的签名数据(S20)。
另外,签名统一验证处理部135读取存储在存储部131的签名验证密钥存储区域132中的签名验证密钥pk(S21)。
然后,签名统一验证处理部135将取得的多个签名数据以及读取的签名验证密钥pk输入给数学函数计算部136(S22)。
在数学函数计算部136中,根据在输入的多个签名数据中包含的签名S生成批量实例(S23)。此外,在签名S已经成为批量实例时,无需生成批量实例。
然后,数学函数计算部136根据输入的签名验证密钥pk和批量实例,进行预先规定的统一验证(S24),并将结果作为验证结果输出至签名统一验证处理部135(S25)。此外,关于在数学函数计算部136中的签名的统一验证处理,使用后述的图8进行详细的说明。
取得了这样的验证结果的签名统一验证处理部135将验证结果存储在存储部131中,或者通过输出部138和通信部139输出验证结果(签名数据是否有效)(S26)。
此外,关于从存储部131读出签名验证密钥pk(S21),只要在数学函数计算部136进行统一验证之前即可,例如,可以在步骤S20中接收签名数据之前。
图8是表示数学函数计算部136中的统一验证处理的流程图。
这里,在本实施方式中,在签名的统一验证中,将G作为设位数为q(q为大的素数)的有限循环群,将g作为群G的生成源,将签名验证密钥pk设为(G、g、q)。下面,具体说明多个签名Si(i=1,...,n)(n为任意的正整数)的统一验证方法。
数学函数计算部136中的统一验证处理通过由签名统一验证处理部135接收任意个数的签名数据的输入来开始(S30)。
当签名统一验证处理部135接收到任意个数的签名数据的输入时,数学函数计算部136的批量实例生成部136a根据输入的签名数据中包含的多个签名Si(i=1,...,n),生成批量实例(xi,yi)(i=1,...,n)(S31)。这里,批量实例的转换方法依赖于使用的签名方式。此外,关于具体的向批量实例的转换方法,在后述的第二以及第三实施方式中进行说明。另外,如在第二以及第三实施方式中说明的那样,作为不需要向批量实例的转换的签名方式,例如,具有文献1中记载的RSA-FDH签名、DSA*签名和ECDSA*签名,作为需要向批量实例的转换的签名方式,例如具有文献1中记载的DSA签名和ECDSA签名等。
此外,ECDSA*签名以及ECDSA签名被记载在A.Antipa,D.Brown,R.Gallant,R.Lambert,R.Struik,and S.Vanstone,“Accelerated Verification ofECDSA Signatures”,Selected Areas in Cryptography-SAC 2005,LNCS 3897,pp.307-318,2006.(以下称为文献2)。
然后,数学函数计算部136的置换部136b从置换群SIFTn随机选择置换ε,即,通过任意的置换方法将批量实例(xi,yi)(i=1,...,n)的顺序调换为(xε(i),yε(i))(i=1,...,n)(S32)。这里,置换群SIFTn是从集合{1,2,...,n}向集合{1,2,...,n}的全部置换的集合,该置换最好为双向单射(biiection)。此外,关于置换的具体例,使用后述的图9进行详细说明。
然后,数学函数计算部136的模指数运算部136f使用调换后的(xε(i),yε(i))(i=1,...,n)计算下式(8)以及(9)。
这里,式(8)以及式(9)中的α为任意的自然数,预先设定为至少在一次验证中在(8)式以及(9)式中成为相同的数。此外,关于式(8)以及式(9)中的αi,并不限于这样的方式,可以是根据顺序i而不同的数,例如为以i为变量的任意的函数f(i)。
然后,模指数运算部136f在式(8)中计算出的z和在式(9)中计算出的w之间检查是否满足下式(10),在满足时(在步骤S34中为Yes),判断为签名有效(S35),在不满足时(在步骤S34中为No),判断为签名无效(S36)。
z=w...(10)
此外,在本实施方式中,通过z=w进行了验证处理,但是只要能够进行验证处理,可以使用任何验证式,与验证式的种类无关。
图9是表示置换部136b中的调换处理的流程图。
首先,置换部136b的中间状态存储部136d将批量实例(xi,yi)(i=1,...,n)存储在区域T中(S40)。
然后,置换部136b的伪随机数生成部136c生成随机数k(S41)。这里,伪随机数生成部136c将随机数k和预先设定的初始矢量IV输入给伪随机数生成器,对于预先设定的整数t,输出随机数串r0,r1,...,r2t-1(S42)。这里,整数t表示对批量实例进行调换的次数,预先设定该整数t。
反复判断部136f对i进行初始化(对i存储1)(S43)
然后,反复判断部136f判断是否为i≤t(S44)。然后,在i≤t时(在步骤S44中为Yes),进入步骤S45,在不是i≤t时(在步骤S44中为No),结束处理。
在步骤S45中,调换部136e调换存储在区域T中的批量实例的第(r2imodn)和第(r2i+1mod n)(S45)。
此外,关于伪随机数生成器,详细记载在例如D.Wanatabe,S.Furuya,H.Yoshida,K.Takaragi,and B.Preneel,“A New Keystream Generator MUGI”,IEICE Transactions on Fundamentals of Electronics,Communications andComputer Sciences,vol.E87-A,No.1,2004.中。
然后,使i加1(i←i+1)后(S46),返回步骤S44重复进行处理。
此外,关于整数t的值,可以是预先设定的固定值,也可以在每次进行统一验证时进行变更。
另外,置换的生成方法并不限于这样的方式,例如,也可以事先生成表示调换的表(对应地存储调换前的顺序和调换后的顺序的表),根据该表进行调换,只要能够实现那种方法都可以。
而且,置换方法可以在每次进行统一验证时进行变更,也可以在多次使用后进行变更。但是,在多次使用特定的置换方法时,出于安全性的观点,需要使签名验证者不知道该置换方法。
此外,在批量实例(xi,yi)(i=1,...,n)中,如果对于各i(i=1,...,n)满足上述式(1),则满足上述式(10)。即,上述签名统一验证方法将有效的批量实例始终作为“有效”来接受。其理由如下:
如果对于各i(i=1,...,n)满足式(1),则对于各i(i=1,...,n),下式(11)成立。
而且,根据式(11),下式(12)成立。
另外,上述签名的统一验证方法将无效的批量实例作为“有效”来接受的概率的上限最高为1/q。其理由如下:
在决定了与i0(1≤i0≤n)以外的i(i=1,...,n)对应的整数j(i)(1≤j≤n)时,存在满足下式(13)以及(14)的j(i0)的概率最高为1/q。其中,1≤j(i0)≤n。
j(i0)≠j(i)(i=1,...,i0-1,i0,i0+1,...,n)...(14)
另外,图10表示文献1中记载的统一验证和本实施方式中记载的统一验证(在图10中称为Random Shuffle Test)中的计算成本(计算时间)的比较
图。
如上所述,文献1中记载的统一验证的计算成本依赖于要验证的批量实例的个数n和安全参数m这两个因素,与此相对,本发明的Random Shuffle Test的计算成本仅依赖于要验证的批量实例的个数n。
因此,可知本实施方式中记载的统一验证与文献1中记载的统一验证相比,可以更高效率地进行统一验证。
另外,本实施方式中记载的统一验证具有高安全性的理由如下:
如上所述,根据近年的计算机的性能,我们知道m最好设定为80左右。另一方面,根据近年的计算机的性能以及到目前为止已知的对于数学函数的攻击方法,要求q使用160比特左右或以上的素数。
此时,文献1中记载的统一验证中的安全级别为80左右,与此相对,本实施方式中记载的统一验证中的安全级别为160左右。如上所述,我们知道安全级别越高,安全性就越高。因此,可以可知本实施方式中记载的统一验证还具有高安全性。
如上所述,根据本实施方式的统一验证,通过进行置换以及使用可高效进行计算的验证式,可以实现兼备更高安全性和更高效率的签名统一验证。
此外,在上述记载的实施方式中,验证式(16)来代替验证下面的式(15),但是并不限定于这样的方式。
例如,可以验证式(18)来代替验证下面的式(17)。
xig=yi...(17)
αixig=αiyi...(18)
其中,有限群G为加法群。
在此,与上述一样,式(17)以及式(18)中的α为任意的自然数,但不
限定于这样的方式,可以为根据顺序i而不同的数,例如为以i为变量的任意的函数f(i)。
下面,对第二实施方式的签名统一验证系统进行说明。第二实施方式是将本发明应用于DSA签名的例子。这里,在本实施方式的签名统一验证系统中与第一实施方式相同,具有签名装置210以及验证装置230。
图11是在本实施方式中使用的签名装置210的概要图。
如图所示,签名装置210具有存储部211、处理部214、输入部117、输出部118和通信部119,关于输入部117、输出部118以及通信部119,因为与第一实施方式相同,因此省略说明。
在存储部211中设置有签名生成密钥存储区域212和数据存储区域213。
在签名生成密钥存储区域212中存储作为进行签名时的密钥信息的签名生成密钥。在此,DSA签名中的签名生成密钥x为x:x∈Zq-1的整数。
在数据存储区域213中存储作为签名对象数据的消息。
处理部214具有签名生成处理部215和数学函数计算部216。
签名生成处理部215控制针对作为签名对象数据的消息的签名数据的生成处理。
例如,在本实施方式中,签名生成处理部215通过将作为签名对象数据的消息输入给预先规定的散列函数,来生成输入数据。
然后,签名生成处理部215取得存储在签名生成密钥存储区域212中的签名生成密钥,与输入数据一起输入至数学函数计算部216。
然后,签名生成处理部215取得由数学函数计算部216生成的签名,将签名和消息作为签名数据,通过通信部139发送至验证装置230。
数学函数计算部216对于从签名生成处理部215输入的输入数据,使用从签名生成处理部215输入的签名生成密钥,执行基于预先规定的算法的加密来生成签名。
在DSA签名中,通过下式(19)以及式(20)计算针对使用了上述签名生成密钥x的消息Mi(i=1,...,n)的签名Si。
Si=(λi,σi)...(19)
其中,ki为生成签名时生成的随机数,满足下面式(21)。
ki∈Zq *...(21)
另外,σi满足下面式(22)。
σi={H(Mi)+xλi}ki -1mod q...(22)
这里,H表示密码学上的散列函数。
另外,DSA签名中的系统参数(p、q、g)如下:
p:2L-1<p<2L、512≤L≤1024、Lmod64≡0的素数。
q:q|(p-1)、2159<q<2160的素数。
g:对于某h∈Zp *,g=h(p-1)/qmodp。
在网络上公开这些系统参数。
这里,Zq *是x和q的最大公约数为1的比q小的所有正整数的集合。
然后,数学函数计算部216将如此生成的签名输出至签名生成处理部215。
以上记载的签名装置210也可以通过例如图5所示的一般的计算机160来实现。
例如,存储部211可以通过由CPU161利用存储器162或外部存储装置163来实现,处理部214可以通过将存储在外部存储装置163中的规定的程序加载到存储器162中,由CPU161执行来实现,输入部117可以通过由CPU161利用输入装置166来实现,输出部118可以通过由CPU161利用输出装置167来实现,通信部119可以通过由CPU161利用通信装置168来实现。
该规定的程序可以通过读取装置165从存储媒体164下载到外部存储装置163或者通过通信装置168从网络下载到外部存储装置163,然后加载到存储器162由CPU161来执行。另外,也可以通过读取装置165从存储媒体164直接加载到存储器162上或者通过通信装置168从网络直接加载到存储器162上,由CPU161执行。
图12是在本实施方式中使用的验证装置230的概要图。
验证装置230具有存储部231、处理部234、输入部137、输出部138以及通信部139,由于输入部137、输出部138以及通信部139与第一实施方式相同,因此省略说明。
在存储部231中设置有签名验证密钥存储区域232和签名数据存储区域
233。
在签名验证密钥存储区域232中存储签名验证密钥,该签名验证密钥是用于对从签名装置210发送来的签名数据中包含的签名进行解密然后进行验证的密钥信息。在此,DSA签名中的签名验证密钥为(y、g、p、q)。此外,y=gx。
在签名数据存储区域233中存储从签名装置210发送来的签名数据。
处理部234具有签名统一验证处理部235和数学函数计算部236。
签名统一验证处理部235控制统一验证从签名装置210发送来的签名数据的处理。
例如,在本实施方式中,签名统一验证处理部235从存储部231取得存储在签名验证密钥存储区域232中的签名验证密钥以及存储在签名数据存储区域233中的签名数据,并输入给数学函数计算部236。
然后,签名统一验证处理部235从数学函数计算部236取得统一验证的结果,并将其存储在存储部231中或者通过输出部138和通信部139输出验证结果。
数学函数计算部236对于从签名统一验证部235输入的签名数据中包含的签名,使用从签名统一验证部235输入的签名验证密钥,执行基于预先规定的算法的签名的统一验证,来确认签名的有效性。
这里,虽然未图示,但数学函数计算部236与第一实施方式相同具有批量实例生成部、置换部和模指数运算部。
关于通过DSA签名方式生成的签名,需要进行变形以便能够应用统一验证方式,因此数学函数计算部236的批量实例生成部把从签名装置210取得的签名变更为批量实例。
具体地说,数学函数计算部236的批量实例生成部对于通过上述式(19)计算出的签名Si,使用满足上述式(20)、式(21)以及式(22)的λi、ki、σi,通过下式(23)、式(24)以及式(25)计算批量实例。
Si=(λi,ai,bi)...(23)
ai=σi -1H(Mi)mod q...(24)
bi=σi -1λimod q...(25)
数学函数计算部236的置换部通过任意的方法调换由批量实例生成部变
换后的批量实例。这里,假设通过与第一实施方式相同的方法进行调换。
例如,将批量实例(λi,ai,bi)(i=1,...,n)的顺序调换为(λτ(i),aτ(i),bτ(i))(i=1,...,n)。这里,τ是用于识别调换方法的记号。
然后,数学函数计算部236的模指数运算部根据是否满足下式(26)来进行验证。
即,在满足式(26)时,作为“有效”接受签名Si,在不满足式(26)时,作为“无效”拒绝签名Si。此外,式(26)中的α是任意的自然数。这里,关于式(26)中的αi,并不限于这样的方式,可以是根据顺序i而不同的数,例如为以i为变量的任意函数f(i)。
关于以上记载的验证装置230,也可以通过图5所示的一般的计算机160来实现。
例如,存储部231可以通过CPU161利用存储器162或外部存储装置163来实现,处理部234可以通过将存储在外部存储装置163中的规定的程序加载到存储器162,然后由CPU161执行来实现,输入部137可以通过由CPU161利用输入装置166来实现,输出部138可以通过由CPU161利用输出装置167来实现,通信部139可以通过由CPU161利用通信装置168来实现。
该规定的程序可以通过读取装置165从存储媒体164下载到外部存储装置163或者通过通信装置168从网络下载到外部存储装置163,然后加载到存储器162由CPU161来执行。另外,也可以通过读取装置165从存储媒体164直接加载到存储器162上或者通过通信装置168从网络直接加载到存储器162上,由CPU161执行。
图13是表示本实施方式的数学函数计算部236中的统一验证处理的流程图。
数学函数计算部236中的统一验证处理通过由签名统一验证处理部235接收任意个数的签名数据的输入来开始(S50)。
在由签名统一验证处理部235接收到任意个数的签名数据的输入时,数学函数计算部236的批量实例生成部根据所输入的签名数据中包含的多个签名
Si(i=1,...,n)生成批量实例(λi,ai,bi)(i=1,...,n)(S51)。
然后,数学函数计算部236的置换部从置换群SIFTn随机选择置换τ,即,通过任意的置换方法将批量实例(λi,ai,bi)(i=1,...,n)的顺序调换为(λτ(i),aτ(i),bτ(i))(i=1,...,n)(S52)。
然后,数学函数计算部236的模指数运算部使用调换后的(λτ(i),aτ(i),bτ(i))计算上述式(26)(S53)。
然后,模指数运算部检查是否满足式(26),在满足时(在步骤S53中为Yes),判断签名为有效(S54),在不满足时(在步骤S53中为No),判断签名为无效(S55)。
此外,在本实施方式中,通过式(26)进行验证处理,但如果能够进行验证处理,可以使用任何的验证式,无需考虑验证式的种类。
在本实施方式中,说明了对某个签名者的多个签名(或批量实例)进行统一验证的情况,但是也可以对多个签名者分别签名的多个签名(或者批量实例)进行统一验证。
例如,作为具有签名生成密钥ski和签名验证密钥pki的组{ski=xi,pki=(yi,g,p,q)}(这里,yi=gxi)的至少一人以上的用户Ai(1≤i≤r)分别生成的批量实例(λj (i),aj (i),bj (i)){1≤j≤n(i)}的统一验证,具有如下方法。
第一种方法是:调换各用户的批量实例,然后对每个用户验证是否满足分别将上述式(23)的两边相乘得到的式子。
第二种方法是:在调换所有用户Ai(1≤i≤r)的批量实例后,验证是否满足式(26)。但是,使用该方法时,需要根据bi是由哪个用户生成的批量实例来变更式(26)右边的y的部分。
本实施方式中记载的统一验证与文献1中记载的统一验证相比可以更高效地进行统一验证的理由与第一实施方式相同。
另外,本实施方式中记载的统一验证具有高安全性的理由也与第一实施方式相同。
如上所述,根据本实施方式的统一验证,通过使用置换、以及使用可高效进行计算的验证式,可以实现兼备高安全性和高效率的DSA签名的统一验证。
此外,在以上记载的统一验证方式中利用了DSA签名方式,但是也可以
利用DSA*签名来代替DSA签名。
在DSA*签名中,由于通过上述式(23)、式(24)以及式(25)计算的批量实例成为签名(因为在签名装置中进行计算),在验证装置230中无需生成批量实例。
此外,DSA*签名被记载在文献1中,其安全性与DSA签名等同。
下面,对作为第三实施方式的签名统一验证系统进行说明。第三实施方式是将本发明应用于ECDSA签名的例子。这里,本实施方式中的签名统一验证系统也与第一实施方式一样具有签名装置310以及验证装置330。
图14是在本实施方式中使用的签名装置310的概要图。
如图所示,签名装置310具有存储部311、处理部314、输入部117、输出部118以及通信部119,由于输入部117、输出部118以及通信部119与第一实施方式相同,因此省略说明。
在存储部311中设置有签名生成密钥存储区域312和数据存储区域313。
在签名生成密钥存储区域312中存储作为进行签名时的密钥信息的签名生成密钥。这里,ECDSA签名中的签名生成密钥d为d:d∈Zn-1的整数。
在数据存储区域313中存储作为签名对象数据的消息。
处理部314具有签名生成处理部315和数学函数计算部316。
签名生成处理部315控制针对作为签名对象数据的消息的签名数据的生成处理。
例如,在本实施方式中,签名生成处理部315通过将作为签名对象数据的消息输入至预先规定的散列函数来生成输入数据。
然后,签名生成处理部315取得签名生成密钥存储区域312中存储的签名生成密钥,与输入数据一起输入给数学函数计算部316。
然后,签名生成处理部315取得由数学函数计算部316生成的签名,将签名和消息作为签名数据,通过通信部139发送给验证装置330。
数学函数计算部316对于从签名生成处理部315输入的输入数据,使用从签名生成处理部315输入的签名生成密钥,进行基于预先规定的算法的加密来生成签名。
在ECDSA签名中,针对使用了上述签名生成密钥d的消息Mi(i=1,...,
n)的签名Si是通过下式(27)、式(28)、式(29)以及式(30)计算出的。
Si=(ri,σi)...(27)
Ri=kiP...(28)
ri=x(Ri)mod n...(29)
σi={H(Mi)+dx(Ri)}ki -1mod n...(30)
这里,H表示密码学上的散列函数。另外,x(Ri)表示椭圆曲线E(Fq)上的点Ri的x坐标。
另外,ki是在生成签名时生成的随机数,满足下式(31)。
ki∈Zn-1...(31)
此外,ECDSA签名中的系统参数如下:
E/Fq:有限体Fq上定义的椭圆曲线。
q:比特大小为160以上的素数p的乘方。
#E(Fq)=n×h(其中,h为小的整数,n为大的素数)。
P:位数为n的E(Fq)上的点。
这些系统参数在网络上公开。
然后,数学函数计算部316将如此生成的签名输出给签名生成处理部315。
以上记载的签名装置310也可以通过例如图5所示的一般的计算机160来实现。
例如,存储部311可以通过CPU161利用存储器162或者外部存储装置163来实现,处理部314可以通过将外部存储装置163中存储的规定的程序加载到存储器162中,由CPU161执行来实现,输入部117可以通过由CPU161利用输入装置166来实现,输出部118可以通过由CPU161利用输出装置167来实现,通信部119可以通过由CPU161利用通信装置168来实现。
该规定的程序可以通过读取装置165从存储媒体164下载到外部存储装置163或者通过通信装置168从网络下载到外部存储装置163,然后加载到存储器162由CPU161来执行。另外,也可以通过读取装置165从存储媒体164直接加载到存储器162上或者通过通信装置168从网络直接加载到存储器162上,由CPU161执行。
图15是在本实施方式中使用的验证装置330的概要图。
验证装置330具有存储部331、处理部334、输入部137、输出部138以及通信部139,由于输入部137、输出部138以及通信部139与第一实施方式相同,因此省略说明。
在存储部331中设置有签名验证密钥存储区域332和签名数据存储区域333。
在签名验证密钥存储区域332中存储签名验证密钥,该签名验证密钥是用于对从签名装置310发送来的签名数据中包含的签名进行解密,然后进行验证的密钥信息。这里,ECDSA签名中的签名验证密钥Q为Q=dP。
在签名数据存储区域333中存储从签名装置310发送来的签名数据。
处理部334具有签名统一验证处理部335和数学函数计算部336。
签名统一验证处理部335控制统一验证从签名装置310发送来的签名数据的处理。
例如,在本实施方式中,签名统一验证处理部335从存储部331取得存储在签名验证密钥存储区域332中的签名验证密钥以及存储在签名数据区域333中的签名数据,并输入给数学函数计算部336。
然后,签名统一验证处理部335从数学函数计算部336取得统一验证的结果,并将其存储在存储部331中或者通过输出部138和通信部139输出验证结果。
数学函数计算部336对于从签名统一验证部335输入的签名数据中包含的签名,使用从签名统一验证部335输入的签名验证密钥,执行基于预先规定的算法的签名统一验证,来确认签名的有效性。
这里,虽然未图示,但数学函数计算部336与第一实施方式不同,具有批量实例生成部、置换部以及纯量倍数(scalar multiple)计算部。
此外,纯量倍数计算部对由置换部进行了调换的批量实例进行纯量倍数计算,来进行验证。
关于通过ECDSA签名方式生成的签名,需要进行变形以便可以应用统一验证方式,因此数学函数计算部336的批量实例生成部把从签名装置310取得的签名变更为批量实例。
具体地说,数学函数计算部336的批量实例生成部对于通过上述式(27)
计算出的签名Si,使用上述式(28)、式(29)以及式(30),计算下式(32)所示的批量实例。
Si=(σi,Ri)...(32)
数学函数计算部336的置换部对于通过批量实例生成部进行了变换的批量实例,以任意方法进行调换。这里,假设通过与第一实施方式相同的方法进行调换。
例如,将批量实例(σi,Ri)(i=1,...,n)的顺序调换为(στ(i),Rτ(i) )(i=1,...,n)。这里,τ是用于识别调换方法的记号。
然后,数学函数计算部336的纯量倍数计算部根据是否满足下式(33)来进行验证。
∑αiRτ(i)=(∑aτ(i)αimod n)P+(∑bτ(i)αimod n)Q...(33)
即,在满足式(33)时作为“有效”来接受签名Si,在不满足式(33)时作为“无效”拒绝签名Si。此外,式(33)中的α是任意的自然数。这里,关于式(33)中的αi,并不限于这样的方式,可以是根据顺序i而不同的数,例如以i为变量的任意函数f(i)。
以上记载的验证装置330也可以通过图5所示的一般的计算机160来实现。
例如,存储部331可以通过由CPU161利用存储器162或者外部存储装置163来实现,处理部334可以通过将存储在外部存储装置163中的规定的程序加载到存储器162中,由CPU161执行来实现,输入部137可以通过由CPU161利用输入装置166来实现,输出部138可以通过由CPU161利用输出装置167来实现,通信部139可以通过由CPU161利用通信装置168来实现。
该规定的程序可以通过读取装置165从存储媒体164下载到外部存储装置163或者通过通信装置168从网络下载到外部存储装置163,然后加载到存储器162并由CPU161来执行。另外,也可以通过读取装置165从存储媒体164直接加载到存储器162上或者通过通信装置168从网络直接加载到存储器162上,由CPU161执行。
图16是表示本实施方式的数学函数计算部336中的统一验证处理的流程图。
数学函数计算部336中的统一验证处理是通过由签名统一验证处理部335接收任意个数的签名数据的输入来开始的(S60)。
在由签名统一验证处理部335接收到任意个数的签名数据的输入时,数学函数计算部336的批量实例生成部根据输入的签名数据中包含的多个签名Si (i=1,...,n)生成批量实例(σi,Ri)(i=1,...,n)(S61)。
然后,数学函数计算部336的置换部从置换群SIFTn随机选择置换τ,即,根据任意的置换方法将批量实例(σi,Ri)(i=1,...,n)的顺序调换为(στ(i),Rτ(i))(i=1,...,n)(S62)。
然后,数学函数计算部336的纯量倍数计算部使用调换后的(στ(i),Rτ(i) )(i=1,...,n)计算上述式(33)(S63)。
然后,纯量倍数计算部检查是否满足式(33),在满足时(在步骤S63中为Yes),判断签名为有效(S64),在不满足时(在步骤S63中为No),判断签名为无效(S65)。
此外,在本实施方式中,通过式(33)进行验证处理,但是如果可以进行验证处理,可以使用任何验证式,无需考虑验证式的种类。
在本实施方式中,说明了对由某个签名者的多个签名(或批量实例)进行统一验证的情况,但也可以对多个签名者分别签名的多个签名(或批量实例)进行统一验证。
例如,作为具有签名生成密钥ski和签名验证密钥pki/的组(ski=di,pki=Qi)(这里,Qi=diP)的至少一人以上的用户Ai(1≤i≤r)分别生成的批量实例(σj (i),aj (i),bj (i)){1≤j≤n(i))的统一验证,具有如下方法。
第一种方法是:调换各用户的批量实例,然后对每个用户验证是否满足分别将上述式(33)的两边相乘得到的式子。
第二种方法是:在调换全部用户Ai(1≤i≤r)的批量实例后,验证是否满足式(33)。但是,在使用该方法时,需要根据Ri为由哪个用户生成的批量实例来变更式(33)右边的Q的部分。
本实施方式中记载的统一验证与文献1中记载的统一验证相比可以更高效率地进行统一验证的理由与第一实施方式相同。
另外,本实施方式中记载的统一验证具有高安全性的理由也与第一实施方
式相同。
如上所述,根据本实施方式的统一验证,通过使用置换、以及使用可高效率进行计算的验证式,可以进行兼备高安全性和高效率的ECDSA签名的统一验证。
此外,在以上记载的统一验证方式中利用了ECDSA签名方式,但是也可以采用ECDSA*签名来代替ECDSA签名。
在ECDSA*签名中,由于通过上式(32)计算出的批量实例成为签名(因为在签名装置中进行计算),所以无需在验证装置330中生成批量实例。
此外,ECDSA*签名被记载在文献2中,其安全性与ECDSA签名等同。
此外,在上述各实施方式中,假设用软件实现签名生成处理部、签名统一验证处理部来进行了说明,但是也可以使用专用的硬件来实现。另外,也可以用专用硬件实现数学函数计算部。
关于上述记载的签名统一验证系统,可以在从签名装置110、210、310向验证装置130、230、330发送大量的签名数据的系统中利用。
例如,可以用于使用了图17(实时监视系统170的概要图)所示的监视照相机的实时监视系统170中。
如图所示,实时监视系统170具有监视照相机171、签名装置110、210、310、验证装置130、230、330以及监视器172,签名装置110、210、310以及验证装置130、230、330与网络150连接。
另外,例如,在作为监视对象的区域设置监视照相机171,通过签名装置110、210、310使拍摄影像成为签名数据,然后通过网络150发送给设置在保安公司等监视中心的验证装置130、230、330,并积存在验证装置130、230、330中。
在验证装置130、230、330中,在需要确认积存的签名数据中包含的拍摄影像时,通过对积存的签名数据中必要的部分进行统一验证,用特定的监视照相机171进行拍摄,可以验证数据没有被窜改。
在进行这样的验证时,通过进行本发明的统一验证,可以高效地进行安全性高的验证。
Claims (12)
1.一种验证装置,其统一验证多个签名数据的批量实例,所述批量实例具有第一值和第二值,其特征在于,
所述验证装置具有处理模块和存储模块,
所述处理模块具有签名统一验证处理模块和数学函数计算模块,
所述数学函数计算模块具有批量实例生成模块、置换模块以及模指数运算模块,
所述签名统一验证处理模块输入所述存储模块中存储的所述多个签名数据和所述存储模块中存储的签名验证密钥,
所述批量实例生成模块实施根据所述多个签名数据来生成批量实例的处理,
所述置换模块实施确定所述批量实例和多个签名数据的顺序的处理,
所述模指数运算模块实施如下处理:根据在全部批量实例中计算将所述第一值乘以根据所述顺序而不同的数得到的乘积作为幂指数,对有限乘法循环群的生成源进行幂运算得到的值,然后将该计算出的值全部相乘,
所述模指数运算模块实施如下处理:在全部批量实例中计算将根据所述顺序而不同的数作为幂指数,对所述第二值进行幂运算得到的值,然后将该计算出的值全部相乘,
所述签名统一验证处理模块实施如下处理:对上述两个相乘得到的值是否一致进行验证。
2.根据权利要求1所述的验证装置,其特征在于,
所述处理模块在将所述批量实例的顺序至少变更一组以上之后进行验证。
3.根据权利要求2所述的验证装置,其特征在于,
所述处理模块具有变更所述批量实例的顺序的多种变更方法,
使用从所述多种变更方法中选择出的一种变更方法,变更所述批量实例的顺序。
4.一种验证装置,其统一验证多个签名数据的批量实例,所述批量实例具有第一值和第二值,其特征在于,
所述验证装置具有处理模块和存储模块,
所述处理模块具有签名统一验证处理模块和数学函数计算模块,
所述数学函数计算模块具有批量实例生成模块、置换模块以及纯量倍数计算模块,
所述签名统一验证处理模块输入所述存储模块中存储的所述多个签名数据和所述存储模块中存储的签名验证密钥,
所述批量实例生成模块实施根据所述多个签名数据来生成批量实例的处理,
所述置换模块实施确定所述批量实例和多个签名数据的顺序的处理,
所述纯量倍数计算模块实施如下处理:根据在全部批量实例中计算将所述第一值乘以根据所述顺序而不同的数得到的乘积作为纯量值,对有限加法循环群的生成源进行纯量乘法得到的值,然后将该计算出的值全部相加,
所述纯量倍数计算模块实施如下处理:在全部的批量实例中计算将根据所述顺序而不同的数作为纯量值,对所述第二值进行纯量乘法得到的值,然后将该计算出的值全部相加,
所述签名统一验证处理模块实施如下处理:对上述两个相加得到的值是否一致进行验证。
5.根据权利要求4所述的验证装置,其特征在于,
所述处理模块在将所述批量实例的顺序至少变更一组以上之后进行验证。
6.根据权利要求5所述的验证装置,其特征在于,
所述处理模块具有变更所述批量实例的顺序的多种变更方法,
使用从所述多种变更方法中选择出的一种变更方法,变更所述批量实例的顺序。
7.一种验证方法,用于统一验证多个签名数据的批量实例,所述批量实例具有第一值和第二值,其特征在于,
所述验证方法具有处理步骤和存储步骤,
所述处理步骤具有签名统一验证处理步骤和数学函数计算步骤,
所述数学函数计算步骤具有批量实例生成步骤、置换步骤以及模指数运算步骤,
在所述签名统一验证处理步骤中输入所述存储步骤中存储的所述多个签名数据和所述存储步骤中存储的签名验证密钥,
在所述批量实例生成步骤中实施根据所述多个签名数据来生成批量实例的处理,
在所述置换步骤中实施确定所述批量实例和多个签名数据的顺序的处理,
在所述模指数运算步骤中实施如下处理:根据在全部批量实例中计算将所述第一值乘以根据所述顺序而不同的数得到的乘积作为幂指数,对有限乘法循环群的生成源进行幂运算得到的值,然后将该计算出的值全部相乘,
在所述模指数运算步骤中实施如下处理:在全部批量实例中计算将根据所述顺序而不同的数作为幂指数,对所述第二值进行幂运算得到的值,然后将该计算出的值全部相乘,
在所述签名统一验证处理步骤中实施如下处理:对上述两个相乘得到的值是否一致进行验证。
8.根据权利要求7所述的验证方法,其特征在于,
在所述处理步骤中,在将所述批量实例的顺序至少变更一组以上之后进行验证。
9.根据权利要求8所述的验证方法,其特征在于,
在所述处理步骤中,具有变更所述批量实例的顺序的多种变更方法,
使用从所述多种变更方法中选择出的一种变更方法,变更所述批量实例的顺序。
10.一种验证方法,用于统一验证多个签名数据的批量实例,所述批量实例具有第一值和第二值,其特征在于,
所述验证方法具有处理步骤和存储步骤,
所述处理步骤具有签名统一验证处理步骤和数学函数计算步骤,
所述数学函数计算步骤具有批量实例生成步骤、置换步骤以及纯量倍数计算步骤,
在所述签名统一验证处理步骤中输入所述存储步骤中存储的所述多个签名数据和所述存储步骤中存储的签名验证密钥,
在所述批量实例生成步骤中实施根据所述多个签名数据来生成批量实例的处理,
在所述置换步骤中实施确定所述批量实例和多个签名数据的顺序的处理,
在所述纯量倍数计算步骤中实施如下处理:根据在全部批量实例中计算将所述第一值乘以根据所述顺序而不同的数得到的乘积作为纯量值,对有限加法循环群的生成源进行纯量乘法得到的值,然后将该计算出的值全部相加,
在所述纯量倍数计算步骤中实施如下处理:在全部的批量实例中计算将根据所述顺序而不同的数作为纯量值,对所述第二值进行纯量乘法得到的值,然后将该计算出的值全部相加,
在所述签名统一验证处理步骤中实施如下处理:对上述两个相加得到的值是否一致进行验证。
11.根据权利要求10所述的验证方法,其特征在于,
在所述处理步骤中,在将所述批量实例的顺序至少变更一组以上之后进行验证。
12.根据权利要求11所述的验证方法,其特征在于,
在所述处理步骤中,具有变更所述批量实例的顺序的多种变更方法,
使用从所述多种变更方法中选择出的一种变更方法,变更所述批量实例的顺序。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007-165892 | 2007-06-25 | ||
JP2007165892A JP4988448B2 (ja) | 2007-06-25 | 2007-06-25 | 一括検証装置、プログラム及び一括検証方法 |
JP2007165892 | 2007-06-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101335625A CN101335625A (zh) | 2008-12-31 |
CN101335625B true CN101335625B (zh) | 2012-07-11 |
Family
ID=39328064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100828257A Active CN101335625B (zh) | 2007-06-25 | 2008-02-28 | 统一验证装置、程序以及统一验证方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20080320557A1 (zh) |
JP (1) | JP4988448B2 (zh) |
CN (1) | CN101335625B (zh) |
GB (1) | GB2450574B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7890763B1 (en) * | 2007-09-14 | 2011-02-15 | The United States Of America As Represented By The Director, National Security Agency | Method of identifying invalid digital signatures involving batch verification |
KR101876297B1 (ko) | 2012-03-16 | 2018-07-10 | 삼성전자주식회사 | 전자 서명 검증 장치 및 방법 |
WO2013153628A1 (ja) * | 2012-04-11 | 2013-10-17 | 株式会社日立製作所 | 演算処理システムおよび演算結果認証方法 |
CN103428692B (zh) * | 2013-08-07 | 2016-08-10 | 华南理工大学 | 可问责且隐私保护的无线接入网络认证方法及其认证系统 |
KR102070061B1 (ko) * | 2014-03-27 | 2020-01-29 | 한국전자통신연구원 | 묶음 검증 방법 및 장치 |
US10924287B2 (en) * | 2017-06-23 | 2021-02-16 | Onboard Security, Inc. | Digital signature technique |
CN110851803B (zh) * | 2019-11-08 | 2022-03-29 | 北京明略软件系统有限公司 | 一种批量注册用户信息的系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1419762A (zh) * | 2000-03-28 | 2003-05-21 | 格姆普拉斯公司 | 由互质数产生电子密钥的装置及方法 |
CN1618200A (zh) * | 2001-12-21 | 2005-05-18 | 法国电信局 | 在若干实体与设备间分布负荷的密码法 |
WO2006077822A1 (ja) * | 2005-01-24 | 2006-07-27 | Matsushita Electric Industrial Co., Ltd. | 署名生成装置及び署名検証装置 |
CN1954548A (zh) * | 2005-04-18 | 2007-04-25 | 松下电器产业株式会社 | 签名生成装置及签名验证装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5347581A (en) * | 1993-09-15 | 1994-09-13 | Gemplus Developpement | Verification process for a communication system |
JP2001044987A (ja) * | 1999-08-03 | 2001-02-16 | Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd | 一括認証方法 |
JP2001209308A (ja) * | 2000-01-24 | 2001-08-03 | Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd | 一括署名方法 |
US7774435B2 (en) * | 2001-07-26 | 2010-08-10 | Oracle America, Inc. | System and method for batch tuning intelligent devices |
US7574599B1 (en) * | 2002-10-11 | 2009-08-11 | Verizon Laboratories Inc. | Robust authentication and key agreement protocol for next-generation wireless networks |
US7702105B1 (en) * | 2004-04-23 | 2010-04-20 | Oracle America, Inc. | Accelerating elliptic curve point multiplication through batched inversions |
US7266692B2 (en) * | 2004-12-17 | 2007-09-04 | Ntt Docomo, Inc. | Use of modular roots to perform authentication including, but not limited to, authentication of validity of digital certificates |
KR101089121B1 (ko) * | 2005-03-31 | 2011-12-02 | 재단법인서울대학교산학협력재단 | 빠른 집합 검증 방법 및 그 장치 |
US7454435B2 (en) * | 2005-05-03 | 2008-11-18 | Microsoft Corporation | Systems and methods for granular changes within a data storage system |
EP1998493A4 (en) * | 2006-03-16 | 2015-12-09 | Nec Corp | GROUP SIGNATURE SYSTEM AND METHOD FOR INFORMATION PROCESSING |
-
2007
- 2007-06-25 JP JP2007165892A patent/JP4988448B2/ja active Active
-
2008
- 2008-02-28 CN CN2008100828257A patent/CN101335625B/zh active Active
- 2008-03-12 US US12/046,585 patent/US20080320557A1/en not_active Abandoned
- 2008-03-13 GB GB0804683A patent/GB2450574B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1419762A (zh) * | 2000-03-28 | 2003-05-21 | 格姆普拉斯公司 | 由互质数产生电子密钥的装置及方法 |
CN1618200A (zh) * | 2001-12-21 | 2005-05-18 | 法国电信局 | 在若干实体与设备间分布负荷的密码法 |
WO2006077822A1 (ja) * | 2005-01-24 | 2006-07-27 | Matsushita Electric Industrial Co., Ltd. | 署名生成装置及び署名検証装置 |
CN1954548A (zh) * | 2005-04-18 | 2007-04-25 | 松下电器产业株式会社 | 签名生成装置及签名验证装置 |
Also Published As
Publication number | Publication date |
---|---|
US20080320557A1 (en) | 2008-12-25 |
JP4988448B2 (ja) | 2012-08-01 |
GB0804683D0 (en) | 2008-04-16 |
GB2450574A (en) | 2008-12-31 |
GB2450574B (en) | 2009-08-12 |
CN101335625A (zh) | 2008-12-31 |
JP2009005213A (ja) | 2009-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101335625B (zh) | 统一验证装置、程序以及统一验证方法 | |
EP2787682B1 (en) | Key negotiation method and apparatus according to sm2 key exchange protocol | |
TW201320700A (zh) | 署名驗證裝置、署名驗證方法、程式及記錄媒體 | |
US20100020964A1 (en) | Key generation method using quadratic-hyperbolic curve group | |
JP2005515659A (ja) | ディジタル署名、認証方法及び装置 | |
TW201320701A (zh) | 資訊處理裝置、資訊處理方法及程式 | |
EP4035306A1 (en) | Lattice based signatures with uniform secrets | |
US20030152218A1 (en) | Cryptography method on elliptic curves | |
US6480606B1 (en) | Elliptic curve encryption method and system | |
Sarath et al. | A survey on elliptic curve digital signature algorithm and its variants | |
KR100699836B1 (ko) | 스칼라 곱에서 dfa 대책을 위한 장치 및 방법 | |
CN113032845B (zh) | 一种用于资源受限芯片的EdDSA签名实现方法和装置 | |
US7760873B2 (en) | Method and a system for a quick verification rabin signature scheme | |
Fanfara et al. | Usage of asymmetric encryption algorithms to enhance the security of sensitive data in secure communication | |
Saho et al. | Securing document by digital signature through RSA and elliptic curve cryptosystems | |
WO2021248226A1 (en) | Methods and systems for encryption, decryption, signing, verification and hashing of digital messages | |
WO2004064011A2 (en) | Method of constructing hyperelliptic curves suitable for cryptographic purposes and cryptographic apparatus using such a method | |
US20220385954A1 (en) | Embedding information in elliptic curve base point | |
US20040114757A1 (en) | Method for generating an electronic key from a prime number contained in a specific interval and device therefor | |
KR102019369B1 (ko) | 단일파형공격을 차단하기 위한 타원곡선 암호화 장치 및 방법 | |
Zhu | Survey of computational assumptions used in cryptography broken or not by Shor's algorithm | |
Trevisan | Pseudorandomness and derandomization | |
Young | Mitigating insider threats to RSA key generation | |
CN114710293B (zh) | 数字签名方法、装置、电子设备及存储介质 | |
Nofriansyah et al. | Efficiency of 128-bit Encryption and Decryption Process in Elgamal Method Using Elliptic Curve Cryptography (ECC) |
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 |