一种基于三次剩余的身份签名体制的制作方法

文档序号:7707325阅读:203来源:国知局
专利名称:一种基于三次剩余的身份签名体制的制作方法
技术领域
本发明涉及计算机安全领域,具体地,涉及一种用于基于身份的签名体制(简称 为身份签名体制)的参数建立方法和设备、签名生成方法和设备以及签名验证方法和设备。
背景技术
公钥密码体制在现代信息社会中起着非常重要的作用。传统的公钥密码体制是基 于证书的,需要证书认证机构(Certificate Authority,简称为CA)。传统的公钥密码体制 存在着建立CA的开销巨大、公钥的更新步骤比较复杂、用户管理方面呆板等问题。因此,现 代信息社会迫切需要发展基于无证书的公钥密码体制。目前,基于身份的密码体制就是基 于无证书的公钥密码体制的一种,它的优点是不需要证书和证书管理,公钥更新极为方便, 用户不需要事先注册。因而,基于身份的密码体制被普遍认为有广泛的应用前景。目前,基于身份的密码体制有两个研究分支,第一个研究分支是利用配对技术的 身份密码体制,第二个研究分支是利用其他非配对技术的身份密码体制。第一个研究分支极为活跃,自从Boneh和Franklin提出第一个基于配对的身份密 码体制以来,已经有将近400篇论文研究基于配对的身份密码体制。并且,IEEE还提出了 基于配对的身份密码体制的标准IEEE1363. 3。但是仅利用配对技术来构造一类公钥密码体 制,是不可靠的,况且普通的配对运算(如Weil配对和Tate配对等)的计算量很大。以下列出了有关基于配对技术的身份密码体制的一些参考文献,通过引用将它们 并入于此,如同在本说明书中作了详尽描述Kenneth G. Paterson 的论文‘‘ ID-based signatures from pairings onelliptic curves”,该论文发表于 IEE Electronics Letters (2002 年,38 (18),第 1025-1026 页);Florian H.的论文"Efficient identity based signature schemes basedon pairings,,,i亥论文发表于 Selected Areas in Cryptography (施普林格(Springer)出片反, LNCS 2595 卷,第 310-324 页);Paulo S. L. M. > Beonit L、Noel M. R Jacques Q. ^ A W i^^; "Eff icientand provably secure identity-based signatures and signcryption frombilinear maps", 该论文发表于Asiacrypt 2005 (施普林格(Springer)出版,LNCS 3788卷,第515-532 页);Xun Y.等人的论文"An identity-based signature scheme from the weilpairing,,,该论文发表于 IEEE Communications Letters (2003 年,7 (3));Scott M.等人的论文 “Implementing Cryptographic Pairings”,该论文发表于 Pairing 2007 (施普林格(Springer)出版,LNCS 4575 卷,第 177-135 页);Scott M.等人的论文 “Computing the Tate Pairing”,该论文发表于 Ct-RSA 2005 (施普林格(Springer)出版,LNCS 3376 卷,第 293-304 页)。第二个研究分支一直也广泛受到人们的关注,但是其构造难度比较大。目前已提
7出的基于非配对的身份签名体制数量很少,其中包括基于RSA的、基于离散对数的、基于二 次剩余的等等。但是这些方案也存在着一些问题,诸如签名算法计算效率低(需要两次以 上的模指数运算)、不能对其安全性(即选择消息和ID攻击安全)给出形式化证明等等。另 外,这些方案不是真正的身份密码体制,其验证签名除了需要签名者的身份(ID),还需要其 他类似于公钥的信息,这些信息相当于基于证书的公钥密码体制中的公钥,需要进行认证。以下列出了有关基于非配对技术的身份密码体制的一些参考文献,通过引用将它 们并入于此,如同在本说明书中作了详尽描述Shamir A 等 人的论 文 Identity-based cryptosystems and signatureschemes”,该论文发表于 Crypto 1984(施普林格(Springer)出版,LNCS196 卷, 第 47-53 页);Lee ff-B> Liao K—C 等人白勺论文 ‘‘Construction identity-basedcryptosystems for discrete logarithm based cryptosystem,,,该论文发表于 Journal of Network and Computer Applications (2004 年,27,第 191-199 页);Chai Z> Cao Z R Dong X~L. 入白勺 ife t “ Identity based signaturescheme based on quadratic residues,,,该论文发表于 Science in ChinaSeriers F Information Sciences (2007 年,50 (3),第 373-380 页);以及Jae C. C.禾口 Jung H. C.等人的论文"An identity based signature fromgap diffie-hellman groups”,该论文发表于 PKC 2003 (施普林格(Springer)出版,LNCS 2567 卷,第18-30页)。

发明内容
本发明的目的是提供一种用于基于身份的签名体制的参数建立方法和设备、签名 生成方法和设备以及签名验证方法和设备,其中,不使用配对技术,其签名验证不依赖于需 要认证的类似公钥的信息,且能够有效地提高签名和验证效率。根据本发明的一个方面,提供了一种用于基于身份的签名体制的参数建立方法。 该参数建立方法包括选取第一素数P和第二素数q,使得所述第一素数P和所述第二素数 q的二进制长度相同,并且满足pq ^ 2k,p-1与3的最大公约数为1,以及q_l与3的最大 公约数为3,其中,k是第一安全系数且为正整数;将所述第一素数p和所述第二素数q相 乘,所得乘积作为第一参数N ;选取第二参数a,使得所述第二参数a为模q的三次非剩余; 利用下式来计算第三参数n和第四参数入n = [(q-l)mod 9]/3,A = nmod 2+1 ;选取 第一哈希函数hj)和第二哈希函数112();以及利用下式来计算第五参数0和第六参数I
P = 1 =an@ mod q,其中,所述第一素数P、所述第二素数q、所述第三参数n、所述
第四参数入、所述第五参数日和所述第六参数i用作所述基于身份的签名体制中的第三 方的秘密参数,而所述第一参数N、所述第一哈希函数hi ()、所述第二哈希函数h2 ()以及所 述第二参数a用作所述第三方的公开参数。根据本发明的另一方面,提供了一种用于基于身份的签名体制的签名生成方法。 该签名生成方法包括从所述签名体制中的第三方获取第一公开参数N、第二哈希函数 h2 0、以及签名者私钥g ;利用从所获取的第一公开参数N来选取第一随机数r,使得r e ZN*,其中,Z/表示模N的循环群;根据所述第一随机数r利用下式来计算第二随机数t :t = r3 mod N;利用所获取的签名者私钥g及第二哈希函数1!2()计算待发送的消息M的签名参 数S,使得SzrgWummodY,其中,t| |M表示将所述第二随机数t与所述消息M 二者转换 成二进制值后串接在一起;以及生成所述消息M的签名,其中所述签名包括所述签名参数S 和所述第二随机数t。根据本发明的另一方面,提供了一种用于基于身份的签名体制的签名验证方法。 该签名验证方法包括从所述签名体制中的第三方获取第一公开参数N、第二公开参数a、 第一哈希函数h ()、以及第二哈希函数h2 ();接收附带签名的消息M,其中所述签名包括第 一签名参数S和第二签名参数t ;利用所获取的第一公开参数N、第二公开参数a、以及第一 哈希函数h (),根据下式针对与所述签名相关联的签名者标识ID计算多个验证参数氏中 的一个或多个,其中i = 1,2,或3,氏满足下式洱=ai-1h1(ID)mod N;以及通过利用所获 取的第二哈希函数h2()计算所述第一签名参数S和所述第二签名参数t是否满足下式中 的任一个=、i = 1,2,或3来验证所述签名是否合法,其中,11 |M表示将所述
第二签名参数t与所述消息M 二者转换成二进制值后串接在一起。根据本发明的另一方面,提供了一种用于基于身份的签名体制的参数建立设备。 该参数建立设备包括素数选取装置,用于选取第一素数P和第二素数q,使得所述第一素 数P和所述第二素数q的二进制长度相同,并且满足pq ^ 2k,p-1与3的最大公约数为1, 以及q_l与3的最大公约数为3,其中,k是第一安全系数且为正整数;乘法装置,用于将所 述第一素数P和所述第二素数q相乘,其中,所得的乘积作为第一参数N ;哈希函数选取装 置,用于选取第一哈希函数h ()和第二哈希函数112();参数计算装置,用于计算第二参数 a,使得所述第二参数a为模q的三次非剩余,用于利用下式来计算第三参数n和第四参数 入n = [(q-l)mod 9]/3,A = nmod 2+1,还用于利用下式来计算第五参数0和第六参
数I W = ^ =anemodq,其中,所述第一素数p、所述第二素数q、所述第三参数n、
所述第四参数入、所述第五参数0和所述第六参数I用作所述基于身份的签名体制中的 第三方的秘密参数,而所述第一参数N、所述第一哈希函数、()、所述第二哈希函数h2 ()以 及所述第二参数a用作所述第三方的公开参数。根据本发明的另一方面,提供了一种用于基于身份的签名体制的签名生成设备。 该签名生成设备包括获取装置,用于从所述签名体制中的第三方获取第一公开参数N、第 二哈希函数h2 ()、以及签名者私钥g ;随机数选取装置,用于利用由所述获取装置获取的第 一公开参数N来选取第一随机数r,使得r e Z/,其中,Z/表示模N的循环群;随机数计 算装置,用于根据所述第一随机数r利用下式来计算第二随机数t :t = r3 modN ;签名参数 计算装置,用于利用由所述获取装置获取的签名者私钥g及第二哈希函数^12()来计算待发 送的消息M的签名参数S,使得<S = rg_|M)mod7V,其中,t |M表示将所述第二随机数t与 所述消息M 二者转换成二进制值后串接在一起;以及签名生成装置,用于生成所述消息M的 签名,其中所述签名包括所述签名参数S和所述第二随机数t。根据本发明的另一方面,提供了一种用于基于身份的签名体制的签名验证设备。 该签名验证设备包括公开参数获取装置,用于从所述签名体制中的第三方获取第一公开 参数N、第二公开参数a、第一哈希函数、()、以及第二哈希函数h2();消息接收装置,用于接收附带签名的消息M,其中所述签名包括第一签名参数S和第二签名参数t ;验证参数计算 装置,用于利用由所述公开参数获取装置获取的第一公开参数N、第二公开参数a、以及第 一哈希函数h (),针对与所述签名相关联的签名者标识ID计算多个验证参数印中的一个 或多个,其中i = 1,2,或3,氏满足下式洱=aHhidWmodN;以及验证装置,用于通过利 用由所述公开参数获取装置获取的第二哈希函数h2 ()计算所述第一签名参数S和所述第 二签名参数t是否满足下式中的任一个^t fi = 1,2,或3来验证所述签名是否
合法,其中,t| |M表示将所述第二签名参数t与所述消息M 二者转换成二进制值后串接在一起。


参照下面结合附图对本发明实施例的说明,会更加容易地理解本发明的以上和其 它目的、特点和优点。附图中的部件只是为了示出本发明的原理。在附图中,相同的或类似 的技术特征或部件将采用相同或类似的附图标记来表示。图1是示出了可实现本发明的基于身份的签名体制的基本框架的示意图;图2是示出了根据本发明的一个实施例的用于基于身份的签名体制的第三方参 数建立方法的流程图;图3示出了根据本发明的一个实施例的用于提取签名者私钥的方法的流程图;图4是示出了用于计算图2所示方法中的第七参数H的一个示例性过程的图;图5示出了根据本发明的一个实施例的签名生成方法的流程图;图6示出了根据本发明一个实施例的验证签名方法的流程图;图7是示出了根据本发明的一个实施例的用于实施图1所示方法的第三方参数建 立设备的结构的示意性框图;图8是示出了根据本发明的另一实施例的用于实施图2所示方法的参数建立设备 的结构的示意性框图;图9是示出了根据本发明的一个实施例的签名生成设备的结构的示意性框图;以 及图10是示出了根据本发明的一个实施例的签名验证设备的结构的示意性框图。
具体实施例方式下面参照附图来说明本发明的实施例。在本发明的一个附图或一种实施方式中描 述的元素和特征可以与一个或更多个其它附图或实施方式中示出的元素和特征相结合。应 当注意,为了清楚的目的,附图和说明中省略了与本发明无关的、本领域普通技术人员已知 的部件和处理的表示和描述。图1示出了可实现本发明的基于身份的签名体制的基本框架。如图1所示,可信 第三方首先通过参数建立过程建立用于该签名体制的各种参数。这些参数包括公开参数和 秘密参数。其中,公开参数是对外公开的,而秘密参数是不对外公开的。用户(包括签名者 (即消息发送方)和验证方(即消息接收方))可以从该第三方获取其公开参数以便进行签 名和验证。当消息发送方(即签名者)要对待发送的消息签名时,首先要获得签名者私钥。签名者可以将自己的标识ID发送给第三方。由第三方通过私钥提取过程、根据所建立的秘密 参数计算出与该签名者的标识对应的私钥,并反馈给签名者。因此,可信第三方亦可称为私 钥生成者(Private KeyGenerator,简称为 PKG)。签名者利用从第三方获取的公开参数和私钥生成用于待发送的消息的签名,并将 附带有签名的消息发送出去。消息的接收方(即验证方)在接收到该消息后,提取出签名, 并根据与该消息相关联的签名者的标识和从第三方获取的的公开参数来验证签名是否合 法。下文结合附图来描述基于上述框架实现的根据本发明实施例的第三方参数建立 方法和设备、签名生成方法和设备以及签名验证方法和设备。图2是示出了根据本发明的一个实施例的用于基于身份的签名体制的第三方参 数建立方法的流程图。下面参照该附图来描述该第三方参数建立方法。如图2所示,在步骤201,选取两个素数p和q (下文中分别称为第一素数和第二素 数)。这两个素数满足以下条件(1) 二者的二进制长度相同,(2)pq>2k,(3)p_l与3的 最大公约数为1,且q-1与3的最大公约数为3,即gcd(3,p-l) = l,gcd(3,q-l) = 3。其 中,k是安全系数(下文中称为第一安全系数)且为正整数。在步骤203,将第一素数p和第二素数q相乘,所得乘积作为第一参数N。在步骤205,选取第二参数a,使得第二参数a为模q的三次非剩余。在步骤207,按照下式计算第三参数n和第四参数入n = [(q-1)mod 9]/3,入=n mod 2+1。在步骤209,任意选取两个哈希函数、()和112()(下文中分别称为第一哈希函数 和第二哈希函数)。在一个示例中,第一哈希函数!!乂)优选为将任意长度的{0,1}序列映射成模N的 循环群Z/上的元素的哈希函数,而第二哈希函数h2()优选为将任意长度的{0,1}序列映 射成1比特的消息摘要的哈希函数,即这两个哈希函数满足下式屯():{0,i}*-zN*,h2() {0,1}*- {oa}1。其中,Z/表示模N的循环群,1为另一安全参数(称为第二安全系数) 且为正整数。当然,这里给出的哈希函数的例子是示例性的,而非限制性的,本领域的普通 技术人员应理解,任意适当的哈希函数均可适用,本发明并不限于所述示例。在步骤211,按照下式计算第五参数0和第六参数I
Q-\p =I = anfi modq。利用上述方法,即可建立用于可信第三方的参数。其中,可信第三方的秘密参数为 (p,q,旦 “,n,入),公开参数为(N,hi (),h20,a)。在一个示例中,第一安全系数k的二进制长度优选大于或等于1024比特,而第二 安全系数1的二进制长度优选大于或等于160比特。当然,这里给出的安全系数的例子是 示例性的,而非限制性的。本领域的普通技术人员可以根据实际的安全要求而采用其他数 值。任意适当的安全系数均可适用,本发明并不限于所述示例。图3示出了根据本发明的一个实施例的用于生成签名者私钥的方法。该私钥生成 方法由可信第三方基于根据图2所示的方法而建立的第三方参数而执行。如图3所示,在步骤301,从签名者接收签名者标识ID。
11
在步骤303,将所接收的签名者标识ID凑成模N(即前述第一参数)的三次剩余, 所得结果作为参数H(下文中称为第七参数)。在步骤305,计算第七参数H的三次根,所得结果作为与签名者标识ID对应的签名 者私钥g。在一个示例中,可以利用下式来计算签名者私钥g g3 = H mod N在一个更优选的示例中,还可以利用下式来计算签名者私钥g g = H ^^modTV,该方法更加快捷有效。当然,这里给出的根据第七参数来计算签名者私钥的方法是示例性的,而非限制 性的。在本发明的精神和范围内,本领域的普通技术人员可以对上述计算方法进行修改和 变更。本发明并不限于所述示例。最后,在步骤307,将所得到的签名者私钥g反馈给签名者。图4示出了用于计算所述第七参数H的具体示例。如图4所示,在步骤401,针对签名者标识ID利用下式计算第八参数(0 = hJID) A . 0mod q。在步骤403,根据第八参数co数计算第九参数c,使得当《 = 1时第九参数c等 于0,当(0 = ^时第九参数c等于1,当Co = I2时第九参数c等于2,即满足下式
‘0, a> = \ 1, = ^。 c =
2,co = F2
b在步骤405,根据第九参数c来计算第七参数H,使得第七参数H满足下式H =N。当然,这里给出的计算第七参数H的方法是示例性的,而非限制性的。在本发明的 精神和范围内,本领域的普通技术人员可以对上述计算方法进行修改和变更。本发明并不 限于所述示例。图5示出了根据本发明的一个实施例的签名生成方法。该方法利用根据图2所示 的方法建立的可信第三方的公开参数及根据图3所示的方法生成的签名者私钥。假设待发 送的消息用M来表示,下面参考附图5来描述用于为该消息生成签名的过程。如图5所示,作为该方法的预备步骤,在步骤S501,从可信第三方获取公开参数 (具体地说,第一公开参数N和第二哈希函数h2 ())以及签名者私钥g。在步骤503,根据第一公开参数N来选取一个小随机数r (下文中称为第一随机 数)。可选地,该第一随机数满足rez/。其中,Z/表示模N的循环群。在步骤505,根据第一随机数r来计算大随机数t (下文中称为第二随机数)。例 如,第二随机数t满足下式t = r3 mod N。在步骤507,根据上述两个随机数r和t、利用签名者私钥g及第二哈希函数h2 () 计算消息M的签名参数S。签名参数S满足下式J = rghMM) modiV。其中,11 |M表示将第 二随机数t与消息M二者转换成二进制值后串接在一起。
最后,在步骤509,生成消息M的签名,其中该签名包括作为第一签名参数的签名 参数S和作为第二签名参数的第二随机数t。上述的签名生成方法仅需一次模指运算,大大减小了计算复杂度。在上述的签名生成方法中,签名者私钥对应于签名者ID,是第三方根据上述私钥 提取方法而生成的。在此不再一一赘述。在上述的签名生成方法中,第一公开参数N是可信第三方的公开参数。N = p X q, P和q为二进制长度相同的两个素数,并且满足pq ^ 2k,p-1与3的最大公约数为1,以及 q-1与3的最大公约数为3。k是第一安全系数且为正整数。在上述的签名生成方法中,第二哈希函数h2()也是从第三方获取的公开参数。在 一个示例中,h2()为将任意长度的{0,1}序列映射成1比特的消息摘要的哈希函数。1为 第二安全参数且为正整数。当然,这里给出的哈希函数的例子是示例性的,而非限制性的, 本领域的普通技术人员应理解,任意适当的哈希函数均可适用,本发明并不限于所述示例。在一个示例中,第一安全系数k的二进制长度优选大于或等于1024比特,而第二 安全系数1的二进制长度优选大于或等于160比特。当然,这里给出的安全系数的例子是 示例性的,而非限制性的。本领域的普通技术人员可以根据实际的安全要求而采用其他数 值。任意适当的安全系数均可适用,本发明并不限于所述示例。图6示出了根据本发明一个实施例的用于验证签名的方法。下面参考图6来描述 对该签名进行验证的过程。如图6所示,作为该方法的预备步骤,在步骤601,从可信第三方获取第一公开参 数N、第二公开参数a、第一哈希函数、()、以及第二哈希函数h2 ()。在步骤603,接收附带签名的消息M,其中该签名包括第一签名参数S和第二签名 参数t。在步骤605,利用从可信第三方获取的第一公开参数N、第二公开参数a、以及第一 哈希函数h (),针对与所接收到的消息M对应的签名者标识ID来计算多个验证参数氏中 的一个或多个,其中i = 1,2,或3。氏满足下式母=ai"1h1(ID)mod N。具体地,第一验证参数&、第二验证参数H2、第三验证参数H3分别满足下式Hi = (ID) mod N, H2 = a (ID) mod N, H3 = a2 (ID) mod N。在步骤607,利用从第三方获取的第二哈希函数h2 ()计算第一签名参数S和第二 签名参数t是否满足下式中的任一个S'H^^t >i = 1,2,3,其中,t| |M表示将第二签名参数t与消息M 二者转换成二进制值后串接在一起,只要满足上述三个等式中的任一个,则可确定所述签名是合法的。如果三个等式 均不成立,则可确定所述签名是不合法的。上述的签名验证方法仅需两次模指运算,并且仅依赖于签名者的身份(ID),而不 依赖于需要认证的类似公钥的信息。在一个示例中,N = pXq,p和q为二进制长度相同的两个素数,并且满足pq彡2k, P-1与3的最大公约数为1,以及q_l与3的最大公约数为3。k是第一安全系数且为正整数。在一个示例中,第一哈希函数!!乂)为将任意长度的{0,1}序列映射成模N的循环群Z/上的元素的哈希函数,h2()为将任意长度的{0,1}序列映射成1比特的消息摘要的 哈希函数。1为第二安全参数且为正整数。当然,这里给出的哈希函数的例子是示例性的, 而非限制性的,本领域的普通技术人员应理解,任意适当的哈希函数均可适用,本发明并不 限于所述示例。在一个示例中,第一安全系数k的二进制长度优选大于或等于1024比特,而第二 安全系数1的二进制长度优选大于或等于160比特。当然,这里给出的安全系数的例子是 示例性的,而非限制性的。本领域的普通技术人员可以根据实际的安全要求而采用其他数 值。任意适当的安全系数均可适用,本发明并不限于所述示例。应该理解,上述的所有例子均是示例性的,而非限制性的。在本发明的精神和范围 内,本领域的普通技术人员可以对上述方法和/或步骤进行修改和变更。本发明并不限于 所述的各个示例。为了更好地理解本发明,下面以具体的参数为例来示例性地描述图1中所示的用 于建立第三方参数的过程、用于生成签名者私钥的过程、用于生成签名的过程以及用于验 证签名的过程。1.第三方参数建立首先,选择两个素数,使得p = 5,q = 7,可以计算,所选取的两个参数分别满足 gcd(3, p-1) = 1, gcd(3, q-1) = 3。然后,计算第一参数N,即N= 5X7 = 35。然后,选取模7 (q)的三次非剩余2,得到第二参数a。然后,计算第三参数n和第四参数、,具体地,n = [(q-l)mod 9]/3 = 2,入=n mod 2+1 = 1。然后,选取两个哈希函数,例如h() :{o,i}*-z3;,h2o :{o,i}*- {oa}1,并计算 第五参数0和第六参数€,具体地,"=¥ = 2,^ = 22X2 mod 7 = 2。这样,即可得到可信第三方的秘密参数(p = 2,q= 7,3 = 2,€ = 2,n = 2, 入=1)以及公开参数(N = 14,、(),h2 (),a = 2)。2.签名者私钥提取假设签名者标识ID = 23,则第一哈希函数、(23)= 3。因此,根据前述等式可计 算得到第八参数《 = 31X2 mod 7 = 2及第九参数c = 1。根据第八参数和第九参数可计 算得到第七参数H = 2 3 mod 35 = 6。这样,即可计算出与签名者ID 23对应的私钥g
2'(5-1)(7-1)-3g = 6 ^ mod35 = 65 mod35 = 6。3.签名生成假设待发送的消息为5,即二进制101。下面描述如何生成针对该消息的签名。首 先,选择第一随机数r = 2(2 G Z3/)。然后根据该第一随机数可计算得到第二随机数t = 23 mod 35 = 8。第二随机数8的二进制表示为1000,而8与5串接得到1000101,即十进 制的69。假设h2(69) = 1,则可计算得到第一签名参数^^axeW^mt^SH。因此,消息5的签名为(12,8)。4.签名验证
当接收到附带有上述签名的消息时,对上述签名进行验证。首先,计算三个验证参 数,即 = 3 mod 35 = 3,H2 = 2 3 mod 35 = 6,H3 = 22 3 mod 35 = 12。对于 i = 1,
2,3,分别检验123丑/ mod35 = 8是否成立。当其中任一个等式成立时,即可断定签名是合法
的。在这个示例中,i = l时,等式成立。因此,可以验证这个签名是合法的。应该理解,上述示例中虽然给出了具体的参数,但这些参数均是示例性的,而非限 制性的。在本发明的精神和范围内,本领域的普通技术人员可以根据实际需求对上述参数 进行修改和变更。本发明并不限于所述示例。图7示出了根据本发明的一个实施例的用于实施图2所示方法的第三方参数建立 设备。如图7所示,该参数建立设备700可以包括素数选取装置701、乘法装置703、哈希 函数选取装置705以及参数计算装置707。素数选取装置701可以被配置用于选取第一素数p和第二素数q。与上述方法实 施例相同,第一素数P和第二素数q的二进制长度相同,并且满足pq ^ 2k,p_l与3的最大 公约数为1,以及q_l与3的最大公约数为3。其中,k是第一安全系数,为正整数。乘法装置703可以被配置用于将第一素数p和第二素数q相乘,所得的乘积作为
第一参数N。哈希函数选取装置705可以被配置用于选取第一哈希函数、()和第二哈希函数 h2()。第一哈希函数hj)和第二哈希函数112()可以是任选的。在一个示例中,第一哈希函 数匕^)优选为将任意长度的{0,1}序列映射成模N的循环群Z/上的元素的哈希函数,而 第二哈希函数h2()优选为将任意长度的{0,1}序列映射成1比特的消息摘要的哈希函数, 即这两个哈希函数满足下式屯():{0,i}*-zN*,h2() {0,1}*- {oa}1。其中,z/表示模 N的循环群,1为另一安全参数(称为第二安全系数)且为正整数。当然,这里给出的哈希函数的例子是示例性的,而非限制性的,本领域的普通技术 人员应理解,任意适当的哈希函数均可适用,本发明并不限于所述示例。参数计算装置707可以被配置用于计算第二参数a。所述第二参数a为模q的三 次非剩余。参数计算装置707还可以被配置用于计算第三参数n、第四参数X、第五参数 3和第六参数I。计算所得的第三参数n、第四参数X满足下式n = [(q-l)mod 9]/3,λ=n mod 2+1。计算所得的第五参数3和第六参数I满足下式 p =q-1/3, ξ = an Vodq,利用上述设备,即可建立用于可信第三方的参数。其中,可信第三方的秘密参数为 (p,q,旦 “,n,入),公开参数为(N,hi (),h20,a)。在一个示例中,第一安全系数k的二进制长度优选大于或等于1024比特,而第二 安全系数1的二进制长度优选大于或等于160比特。当然,这里给出的安全系数的例子是 示例性的,而非限制性的。本领域的普通技术人员可以根据实际的安全要求而采用其他数 值。任意适当的安全系数均可适用,本发明并不限于所述示例。图8示出了根据本发明另一实施例的参数建立设备800。参数建立设备800可以包括素数选取装置801、乘法装置803、哈希函数选取装置805以及参数计算装置807。与 图7所示的实施例的不同之处在于,参数建立设备800还可以包括用于实施图3所示方法 的签名者私钥生成装置809。签名者私钥生成装置809可以被配置用于通过将签名者标识ID凑成模N的三次 剩余来计算第七参数H,并计算所述第七参数H的三次根以得到与所述签名者标识ID对应 的签名者私钥g。第三方参数建立设备700和800使用与前述方法实施例相同的方法来建立第三方 参数,这里不再一一赘述。另外,签名者私钥生成装置805计算第七参数以及签名者私钥g 的方法也可与前述的各方法实施例相同,这里也不再一一赘述。图9示出了根据本发明的一个实施例的签名生成设备900。所述签名生成设备900 可以实施例如图5所示的签名生成方法。如图9所示,签名生成设备900可以包括获取装置901、随机数选取装置903、随机 数计算装置905、签名参数计算装置907以及签名生成装置909。获取装置901可以被配置用于从可信第三方获取公开参数(具体地说,第一公开 参数N和第二哈希函数1!2())以及签名者私钥g。随机数选取装置903可以被配置用于利用从所示签名体制的第三方获取的第一 公开参数N来选取第一随机数r,使得r e ZN\其中,Z/表示模N的循环群。随机数计算装置905可以被配置用于根据所述第一随机数r来计算第二随机数t。 其中,第二随机数t满足t = r3 mod N,。签名参数计算装置907可以被配置用于利用从所述第三方获取的签名者私 钥g及第二哈希函数^12()来计算待发送的消息M的签名参数S。其中,签名参数S满足 S = rg^,W) mod TV。其中,11 |M表示将第二随机数t与消息M 二者转换成二进制值后串接在一起。签名生成装置909可以被配置用于生成消息M的签名,其中该签名包括作为第一 签名参数的签名参数S和作为第二签名参数的第二随机数t。上述的签名生成设备在执行签名生成过程时仅需一次模指运算,大大减小了计算
复杂度。上述的签名生成设备所使用的签名者私钥对应于签名者ID,是第三方(签名者私 钥提取装置)利用前述私钥提取方法而生成的。在此不再一一赘述。上述的签名生成设备所使用的第一公开参数N是可信第三方的公开参数。N = pXq,p和q为二进制长度相同的两个素数,并且满足pq ^ 2k,p_l与3的最大公约数为1, 以及q_l与3的最大公约数为3。k是第一安全系数且为正整数。上述的签名生成设备所使用的第二哈希函数112()也是从第三方获取的公开参数。 在一个示例中,h2()为将任意长度的{0,1}序列映射成1比特的消息摘要的哈希函数。1为 第二安全参数且为正整数。当然,这里给出的哈希函数的例子是示例性的,而非限制性的, 本领域的普通技术人员应理解,任意适当的哈希函数均可适用,本发明并不限于所述示例。在一个示例中,第一安全系数k的二进制长度优选大于或等于1024比特,而第二 安全系数1的二进制长度优选大于或等于160比特。当然,这里给出的安全系数的例子是 示例性的,而非限制性的。本领域的普通技术人员可以根据实际的安全要求而采用其他数
16值。任意适当的安全系数均可适用,本发明并不限于所述示例。图10示出了根据本发明的一个实施例的签名验证设备1000。所述签名验证设备 1000可以实施例如图6所示的签名验证方法。如图10所示,签名验证设备1000可以包括公开参数获取装置1001、消息接收装置 1003、验证参数计算装置1005以及验证装置1007。公开参数获取装置1001可以被配置用于从可信第三方获取第一公开参数N、第二 公开参数a、第一哈希函数h ()、以及第二哈希函数h2 ()。消息接收装置1003可以被配置用于接收附带签名的消息M,其中该签名包括第一 签名参数S和第二签名参数t。验证参数计算装置1005可以被配置用于利用从可信第三方获取的第一参数N、第 二参数a、以及第一哈希函数、()来计算多个验证参数印中的一个或多个,其中i = 1,2, 或 3。氏满足下式:Hi = a^h! (ID)mod N。具体地,第一验证参数&、第二验证参数H2、第三验证参数H3应分别满足下列等 式Hi = (ID) mod N, H2 = a (ID) mod N, H3 = a2 (ID) mod N。验证装置1002可以被配置用于通过利用从所述第三方获取的第二哈希函数h2() 来计算包括在接收到的消息M的签名中的第一签名参数S和第二签名参数t是否满足下式 中的任一个= b其中,i = 1,2,3,11 | M表示将第二签名参数t与消息M 二者转 换成二进制值后串接在一起。如果上述三个等式中的任一个成立,则所述签名合法。如果三个等式均不成立,则 所述签名不合法。在一个示例中,N = pXq,p和q为二进制长度相同的两个素数,并且满足pq彡2k, P-1与3的最大公约数为1,以及q_l与3的最大公约数为3。k是第一安全系数且为正整数。在一个示例中,第一哈希函数!!乂)为将任意长度的{0,1}序列映射成模N的循环 群Z/上的元素的哈希函数,h2()为将任意长度的{0,1}序列映射成1比特的消息摘要的 哈希函数。1为第二安全参数且为正整数。当然,这里给出的哈希函数的例子是示例性的, 而非限制性的,本领域的普通技术人员应理解,任意适当的哈希函数均可适用,本发明并不 限于所述示例。在一个示例中,第一安全系数k的二进制长度优选大于或等于1024比特,而第二 安全系数1的二进制长度优选大于或等于160比特。当然,这里给出的安全系数的例子是 示例性的,而非限制性的。本领域的普通技术人员可以根据实际的安全要求而采用其他数 值。任意适当的安全系数均可适用,本发明并不限于所述示例。应该理解,上述的所有例子均是示例性的,而非限制性的。在本发明的精神和范围 内,本领域的普通技术人员可以对上述方法和/或步骤进行修改和变更。本发明并不限于 所述的各个示例。上述装置中各个组成部件、单元和子单元可通过软件、硬件或其组合的方式进行 配置。配置可使用的具体手段或方式为本领域技术人员所熟知,在此不再赘述。容易理解,包含上述本发明的实施例的设备和/或装置的签名体制或系统也应该被认为落入本发明的保护范围内。本发明还提出一种存储有机器可读取的指令代码的程序产品。所述指令代码由机 器读取并执行时,可执行上述根据本发明实施例的方法。相应地,用于承载上述存储有机器可读取的指令代码的程序产品的存储介质也包 括在本发明的公开中。所述存储介质包括但不限于软盘、光盘、磁光盘、存储卡、存储棒等寸。在上面对本发明具体实施例的描述中,针对一种实施方式描述和/或示出的特征 可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征 相组合,或替代其它实施方式中的特征。应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但 并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。此外,本发明的方法不限于按照说明书中描述的时间顺序来执行,也可以按照其 他的时间顺序地、并行地或独立地执行。因此,本说明书中描述的方法的执行顺序不对本发 明的技术范围构成限制。尽管上面已经通过对本发明的具体实施例的描述对本发明进行了披露,但是,应 该理解,本领域的技术人员可在所附权利要求的精神和范围内设计对本发明的各种修改、 改进或者等同物。这些修改、改进或者等同物也应当被认为包括在本发明的保护范围内。
18
权利要求
一种用于基于身份的签名体制的参数建立方法,包括选取第一素数p和第二素数q,使得所述第一素数p和所述第二素数q的二进制长度相同,并且满足pq≥2k,p-1与3的最大公约数为1,以及q-1与3的最大公约数为3,其中,k是第一安全系数且为正整数;将所述第一素数p和所述第二素数q相乘,所得乘积作为第一参数N;选取第二参数a,使得所述第二参数a为模q的三次非剩余;利用下式来计算第三参数η和第四参数λη=[(q-1)mod 9]/3,λ=ηmod 2+1;选取第一哈希函数h1()和第二哈希函数h2();以及利用下式来计算第五参数β和第六参数ξ <mrow><mi>&beta;</mi><mo>=</mo><mfrac> <mrow><mi>q</mi><mo>-</mo><mn>1</mn> </mrow> <mn>3</mn></mfrac><mo>,</mo> </mrow>ξ=aηβ mod q,其中,所述第一素数p、所述第二素数q、所述第三参数η、所述第四参数λ、所述第五参数β和所述第六参数ξ用作所述基于身份的签名体制中的第三方的秘密参数,而所述第一参数N、所述第一哈希函数h1()、所述第二哈希函数h2()以及所述第二参数a用作所述第三方的公开参数。
2.如权利要求1所述的参数建立方法,其中,所述第一哈希函数Ii1O为将任意长度的 {0,1}序列映射成模N的循环群Z/上的元素的哈希函数,而所述第二哈希函数1!2()为将任 意长度的|0,1}序列映射成1比特的消息摘要的哈希函数,其中,Z/表示模N的循环群,1 为第二安全参数且为正整数。
3.如权利要求1或2所述的参数建立方法,其中,所述第一安全系数k的二进制长度大 于或等于1024比特,而所述第二安全系数1的二进制长度大于或等于160比特。
4.如权利要求1或2所述的参数建立方法,还包括 从签名者接收签名者标识ID ;通过将所接收的签名者标识ID凑成模N的三次剩余来计算第七参数H ; 计算所述第七参数H的三次根以得到与所述签名者标识ID对应的签名者私钥g ;以及 将所得到的签名者私钥g反馈给所述签名者。
5.如权利要求4所述的参数建立方法,其中,通过将签名者标识ID凑成模N的三次剩 余来计算第七参数H的步骤包括针对所述签名者标识ID利用下式计算第八参数ω 计算第九参数c,使得当ω = 1时所述第九参数c等于0,当ω = ξ时所述第九参 数c等于1,当ω = ξ 2时所述第九参数c等于2;以及 利用下式来计算所述第七参数H H = aeh1(ID) mod N。
6.如权利要求4所述的参数建立方法,其中,所述签名者私钥g是根据所述第七参数H 利用下式来计算的
7.一种用于基于身份的签名体制的签名生成方法,包括从所述签名体制中的第三方获取第一公开参数N、第二哈希函数h2 ()、以及签名者私钥g ;利用从所获取的第一公开参数N来选取第一随机数r,使得r e Z/,其中,Z/表示模 N的循环群;根据所述第一随机数r利用下式来计算第二随机数t t = r3 mod N ;利用所获取的签名者私钥g及第二哈希函数h2 ()计算待发送的消息M的签名参数S, 使得S = rghMM) modTV,其中,11 IM表示将所述第二随机数t与所述消息M 二者转换成二进 制值后串接在一起;以及生成所述消息M的签名,其中所述签名包括所述签名参数S和所述第二随机数t。
8.如权利要求7所述的签名生成方法,其中,所述第一公开参数N等于第一素数ρ和第 二素数q的乘积,所述第一素数P和所述第二素数q的二进制长度相同,并且满足pq ^ 2k, P-I与3的最大公约数为1,以及q_l与3的最大公约数为3,k是第一安全系数且为正整 数。
9.如权利要求7所述的签名生成方法,其中,所述第二哈希函数h2()为将任意长度的 {0,1}序列映射成1比特的消息摘要的哈希函数,其中,1为第二安全参数且为正整数。
10.如权利要求9所述的签名生成方法,其中,所述第一安全系数k的二进制长度大于 或等于1024比特,而所述第二安全系数1的二进制长度大于或等于160比特。
11.如权利要求7所述的签名生成方法,其中,所述签名者私钥g是根据如权利要求 4-6中的任一项所述的参数建立方法而生成的。
12.一种用于基于身份的签名体制的签名验证方法,包括从所述签名体制中的第三方获取第一公开参数N、第二公开参数a、第一哈希函数hj)、 以及第二哈希函数h2();接收附带签名的消息M,其中所述签名包括第一签名参数S和第二签名参数t ; 利用所获取的第一公开参数N、第二公开参数a、以及第一哈希函数hj),根据下式针对 与所述签名相关联的签名者标识ID计算多个验证参数Hi中的一个或多个,其中i = 1,2, 或3,Hi满足下式Hi = Bi^h1 (ID) mod N ;以及通过利用所获取的第二哈希函数h2 ()计算所述第一签名参数S和所述第二签名参数t 是否满足下式中的任一个炉丑产_ ",i = 1,2,或3,来验证所述签名是否合法,其中,t| |M表示将所述第二签名参数t与所述消息Μ二者 转换成二进制值后串接在一起。
13.如权利要求12所述的签名验证方法,其中,所述第一公开参数N等于第一素数 P和第二素数q的乘积,所述第一素数P和所述第二素数q的二进制长度相同,并且满足 pq彡2k,p_l与3的最大公约数为1,以及q-Ι与3的最大公约数为3,k是第一安全系数且 为正整数。
14.如权利要求12或13所述的签名验证方法,其中,所述第一哈希函数Ill()为将任意长度的{0,1}序列映射成模N的循环群Z/上的元素的哈希函数,而所述第二哈希函数1!2() 为将任意长度的{0,1}序列映射成1比特的消息摘要的哈希函数,其中,Z/表示模N的循 环群,1为第二安全参数且为正整数。
15.如权利要求14所述的签名验证方法,其中,所述第一安全系数k的二进制长度大于 或等于1024比特,而所述第二安全系数1的二进制长度大于或等于160比特。
16.如权利要求12所述的签名验证方法,其中,所述消息M的所述签名是根据如权利要 求7-11中的任一项所述的签名生成方法而生成的。
17.一种用于基于身份的签名体制的参数建立设备,包括素数选取装置,用于选取第一素数P和第二素数q,使得所述第一素数P和所述第二素 数q的二进制长度相同,并且满足pq ^ 2k,p-1与3的最大公约数为1,以及q_l与3的最 大公约数为3,其中,k是第一安全系数且为正整数;乘法装置,用于将所述第一素数P和所述第二素数q相乘,其中,所得的乘积作为第一 参数N;哈希函数选取装置,用于选取第一哈希函数h ()和第二哈希函数112(); 参数计算装置,用于计算第二参数a,使得所述第二参数a为模q的三次非剩余,用于利 用下式来计算第三参数n和第四参数入 n = [(q-l)mod 9]/3,入=n mod 2+1, 还用于利用下式来计算第五参数0和第六参数I 其中,所述第一素数P、所述第二素数q、所述第三参数n、所述第四参数X、所述第五 参数0和所述第六参数I用作所述基于身份的签名体制中的第三方的秘密参数,而所述 第一参数N、所述第一哈希函数hi ()、所述第二哈希函数h2 ()以及所述第二参数a用作所述 第三方的公开参数。
18.如权利要求17所述的参数建立设备,其中,所述第一哈希函数hj)为将任意长度 的{0,1}序列映射成模N的循环群Z/上的元素的哈希函数,而所述第二哈希函数1!2()为 将任意长度的{0,1}序列映射成1比特的消息摘要的哈希函数,其中,Z/表示模N的循环 群,1为第二安全参数且为正整数。
19.如权利要求17或18所述的参数建立设备,其中,所述第一安全系数k的二进制长 度大于或等于1024比特,而所述第二安全系数1的二进制长度大于或等于160比特。
20.如权利要求17或18所述的参数建立设备,还包括签名者私钥生成装置,所述签名 者私钥生成装置用于通过将签名者标识ID凑成模N的三次剩余来计算第七参 数H,并计算 所述第七参数H的三次根以得到与所述签名者标识ID对应的签名者私钥g。
21.如权利要求20所述的参数建立设备,其中,所述签名者私钥生成装置通过以下操 作来计算第七参数H:针对所述签名者标识ID利用下式计算第八参数《 co = (ID) A 0 mod q ;计算第九参数c,使得当co = 1时所述第九参数c等于0,当《 = I时所述第九参 数c等于1,当《 = € 2时所述第九参数c等于2;以及利用下式来计算所述第七参数H H = ach1(ID)mod N。
22.如权利要求20所述的参数建立设备,其中,所述签名者私钥生成装置利用下式来 计算所述签名者私钥g g = H 9 mod#。
23.一种用于基于身份的签名体制的签名生成设备,包括获取装置,用于从所述签名体制中的第三方获取第一公开参数N、第二哈希函数h2 ()、 以及签名者私钥g;随机数选取装置,用于利用由所述获取装置获取的第一公开参数N来选取第一随机数 r,使得r e Z/,其中,Z/表示模N的循环群;随机数计算装置,用于根据所述第一随机数r利用下式来计算第二随机数t t = r3 mod N ;签名参数计算装置,用于利用由所述获取装置获取的签名者私钥g及第二哈希函数 h2()来计算待发送的消息M的签名参数S,使得SwgWWmodTV,其中,t |M表示将所述 第二随机数t与所述消息M二者转换成二进制值后串接在一起;以及签名生成装置,用于生成所述消息M的签名,其中所述签名包括所述签名参数S和所述 第二随机数t。
24.如权利要求23所述的签名生成设备,其中,所述第一公开参数N等于第一素数 P和第二素数q的乘积,所述第一素数P和所述第二素数q的二进制长度相同,并且满足 pq ^ 2k,p_l与3的最大公约数为1,以及q_l与3的最大公约数为3,k是第一安全系数且 为正整数。
25.如权利要求23所述的签名生成设备,其中,所述第二哈希函数h2()为将任意长度 的{0,1}序列映射成1比特的消息摘要的哈希函数,其中,1为第二安全参数且为正整数。
26.如权利要求25所述的签名生成设备,其中,所述第一安全系数k的二进制长度大于 或等于1024比特,而所述第二安全系数1的二进制长度大于或等于160比特。
27.如权利要求23所述的签名生成设备,其中,所述签名者私钥g是由如权利要求 20-22中的任一项所述的参数建立设备生成的。
28.一种用于基于身份的签名体制的签名验证设备,包括公开参数获取装置,用于从所述签名体制中的第三方获取第一公开参数N、第二公开参 数a、第一哈希函数h ()、以及第二哈希函数h2();消息接收装置,用于接收附带签名的消息M,其中所述签名包括第一签名参数S和第二 签名参数t;验证参数计算装置,用于利用由所述公开参数获取装置获取的第一公开参数N、第二公 开参数a、以及第一哈希函数、(),针对与所述签名相关联的签名者标识ID计算多个验证 参数印中的一个或多个,其中i = 1,2,或3,印满足下式 Hi = a^XdD) mod N ;以及验证装置,用于通过利用由所述公开参数获取装置获取的第二哈希函数h2 ()计算所述 第一签名参数S和所述第二签名参数t是否满足下式中的任一个炉= 1,2,或 3,来验证所述签名是否合法,其中,t| IM表示将所述第二签名参数t与所述消息Μ二者 转换成二进制值后串接在一起。
29.如权利要求28所述的签名验证设备,其中,所述第一公开参数N等于第一素数 P和第二素数q的乘积,所述第一素数P和所述第二素数q的二进制长度相同,并且满足 pq彡2k,p_l与3的最大公约数为1,以及q-Ι与3的最大公约数为3,k是第一安全系数且 为正整数。
30.如权利要求28或29所述的签名验证设备,其中,所述第一哈希函数Ill()为将任意 长度的|0,1}序列映射成模N的循环群Z/上的元素的哈希函数,而所述第二哈希函数1!2() 为将任意长度的|0,1}序列映射成1比特的消息摘要的哈希函数,其中,Z/表示模N的循 环群,1为第二安全参数且为正整数。
31.如权利要求30所述的签名验证设备,其中,所述第一安全系数k的二进制长度大于 或等于1024比特,而所述第二安全系数1的二进制长度大于或等于160比特。
32.如权利要求28所述的签名验证设备,其中,所述消息M的所述签名是由如权利要求 23-27中的任一项所述的签名生成设备生成的。
全文摘要
本发明提供了一种基于三次剩余的身份签名体制,其中包括参数建立方法和设备、签名生成方法和设备、以及签名验证方法和设备,该参数建立方法包括选取第一素数p和第二素数q;将第一素数p和第二素数q相乘,所得乘积作为第一参数N;选取第二参数a,使得所述第二参数a为模q的三次非剩余;计算第三参数η和第四参数λ;选取第一哈希函数h1()和第二哈希函数h2();以及计算第五参数β和第六参数ξ。在该身份签名体制中,不使用配对技术,其签名验证不依赖于需要认证的类似公钥的信息,并且能够有效地提高签名和验证效率。
文档编号H04L9/32GK101877638SQ200910135928
公开日2010年11月3日 申请日期2009年4月30日 优先权日2009年4月30日
发明者张智辉, 杨义先, 王励成, 王志伟, 郑世慧 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1