CN101807990B - 基于辫群的盲化数字签名系统和方法 - Google Patents
基于辫群的盲化数字签名系统和方法 Download PDFInfo
- Publication number
- CN101807990B CN101807990B CN200910009315.1A CN200910009315A CN101807990B CN 101807990 B CN101807990 B CN 101807990B CN 200910009315 A CN200910009315 A CN 200910009315A CN 101807990 B CN101807990 B CN 101807990B
- Authority
- CN
- China
- Prior art keywords
- plait
- signature
- message
- conjugation
- braid group
- 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
Landscapes
- Storage Device Security (AREA)
Abstract
提供基于辫群的盲化数字签名系统和方法,该系统包括:密钥生成装置,用于根据系统参数生成公钥和私钥;消息盲化装置,用于根据系统参数选择盲化因子,并根据共轭操作将所选盲化因子与欲签名消息进行计算,生成盲化消息辫子;签名装置,用于根据共轭操作将所述密钥生成装置生成的私钥与欲签名的盲化消息辫子进行计算,生成盲化签名辫子;以及签名脱盲装置,用于根据共轭操作将盲化因子与盲化签名辫子进行计算,生成签名辫子,并将欲签名的消息与脱盲后的签名辫子组合成完整的签名。因此,基于辫群的盲化数字签名的安全性可以被验证,有望抵抗已知的量子分析,并且更适合盲化数字签名的应用场景,例如电子货币等。
Description
技术领域
总的来说,本发明涉及盲化数字签名的系统和方法及其计算机产品,尤其涉及基于辫群的盲化数字签名系统、方法以及计算机产品。
背景技术
在传统的数字签名体制中,签名者是知道欲签名的消息内容的,签名体制的安全性要求伪造签名是不可能的。而在盲化数字签名体制中,用户却可以在不让签名者知道欲签名的真实消息的前提下,获得签名者对于该消息的签名。盲化签名(简称盲化数字签名)的概念最先是由David Chaum[1]在1982年发明的,其目的是用盲化数字签名模仿现实生活中货币和消费者之间所蕴含的匿名性。具体说,盲化数字签名有两个特有的属性:一是不可追踪性(untraceability);二是不可链接性(unlinkability)。盲化数字签名通常经常被用来实现电子现金:签名者相当于银行的角色,用户相当于消费者,签名的有效性表征现金的有效性;不可追踪性是说任何人(包括签名者)无法根据电子现金追踪到消费者;不可链接性是说任何人(包括消费者)无法判断把同一消费者所支付的任意两笔电子现金联系在一起,换句话说,对于任意给定的两笔电子现在,无法判断它们是否来自同一个消费者。正因为盲化数字签名具有这样的特性,它可以在电子货币、电子银行、电子商务的诸领域有广泛的应用背景。
盲化数字签名的概念一经提出,立刻引起了许多研究人员的关注,经过Chaum[1,2]、Bellare[3,4]、Ostrovsky[5]、Pointheval[6-8]、Schnorr[9]、张方国[10]等密码学家的努力,现在人们已经知道了如何基于RSA假设[1-4]、大整数分解难题(IFP,Integer FactoringProblem)[7]、离散对数难题(DLP,Discrete Logarithm Problem)[9]以及与双线性配对(Bilinear Pairings)有关密码学难题假设[10]来实现盲化数字签名。
然而,在量子计算环境下,上述难题均是可以在多项式时间复杂度和多项式空间复杂度之内被解决的[11];也就是说,上述传递签名体制在量子计算环境下均是不安全的。因此,我们认为有必要基于新的可以抵抗量子攻击的——至少可以抵抗已知量子攻击的——公钥密码学平台来重新设计传递签名。
为了增强公钥密码体制在量子计算环境下的安全性,人们已经提出了一些新的公钥密码学平台,其中包括基于辫群等非交换群上的一些公钥密码系统。辫群密码系统最早是由韩国Ko等人于2000年提出的[12],虽然至今已经发展了6、7年,但是具有可证安全性的密码体制并不多。第一个基于辫群的数字签名系统也是由Ko等人于2002年提出的[13];在这之后,虽然也有人对该体制提出了改进[14](甚至也申请了专利[15]),但是都没有严格的可证明安全性规约。直到最近,才有人针对该签名体制(以及后来的改进体制),给出了可证明安全性规约[16]。
因此,需要能够抵抗已知的量子分析,可应用于盲化数字签名的应用场景,例如电子货币等的盲化数字签名方案。
参考文献
[1]D.Chaum.Blind Signatures for Untraceable Payments.In Crypto’82,pages 199-203.Plenum,New York,1983.
[2]D.Chaum,A.Fiat,and M.Naor.Untraceable Electronic Cash.InCrypto’88,LNCS 403,pages 319-327.Springer-Verlag,Berlin,1989.
[3]M.Bellare,C.Namprempre,D.Pointcheval,and M.Semanko.ThePower of RSAInversion Oracles and the Security of Chaum’s RSA BlindSignature Scheme.InFinancial Cryptography’01,LNCS 2339.Springer-Verlag,Berlin,2001.
[4]M.Bellare,C.Namprempre,D.Pointcheval,and M.Semanko.TheOne-More-RSAInversion Problems and the Security of Chaum’s Blind SignatureScheme.Journalof Cryptology,16(3):185-215,2003.
[4]A.Juels,M.Luby,and R.Ostrovsky.Security of Blind DigitalSignatures.In Crypto’97,LNCS 1294,pages 150-164.Springer-Verlag,Berlin,1997.
[6]D.Pointcheval and J.Stern.Provably Secure Blind SignatureSchemes.InAsiacrypt’96,LNCS 1163,pages 252-265.Springer-Verlag,Berlin,1996.
[7]D.Pointcheval and J.Stern.New Blind Signatures Equivalent toFactorization.In Proc.of the 4th CCS,pages 92-99.ACM Press,New York,1997.
[8]D.Pointcheval and J.Stern.Security Arguments for DigitalSignaturesand Blind Signatures.Journal of Cryptology,13(3):361-396,2000.
[9]C.P.Schnorr.Security of Blind Discrete Log SignaturesagainstInteractive Attacks.In ICICS’01,LNCS,pages 1-12.Springer-Verlag,Berlin,2001.
[10]F.Zhang and K.Kim,Apparatus and method for generating andverifyingID-based blind signature by using bilinear parings.US PatentApplication No.:20040139029
[11]P.Shor.Polynomail-time algorithms for prime factorization anddiscretelogarithms on a quantum computer.SIAM J.Comput.5(1997):1484-1509.
[12]K.H.Ko,S.J.Lee,J.H.Cheon,and J.W.Han.New public-keycryptosystemusing braid groups.In CRYPTO 2000,LNCS 1880,pages 166-183.Springer-VerlagBerlin Heidelberg,2000.
[13]K.H.Ko,D.H.Choi,M.S.Cho,and J.W.Lee.New signature schemeusingconjugacy problem.Preprint,http://eprint.iacr.org/2002/168,2002.
[14]丁勇,田海博,王育民.一种改进的基于辫群的数字签名体制.西安电子科技大学学报,第33卷第1期,第50-61页,2006年2月.
[15]丁勇,陈剑勇,李亚晖.一种基于辫群共轭问题的数字签名方法,中国专利申请号:200310113604;公开号:1545242;公开日:20041110.
[16]L.Wang,Z.Cao,P.Zeng,and X.Li.One-more matching conjugateproblemand security of braid-based signatures.In ASIACCS’07,pages 295-301.ACM,March2007.
发明内容
为此,本发明提供基于辫群的盲化数字签名系统和方法,利用辫群密码体制具有的非交换性特点,基于辫群上共轭搜索问题难解性假设进行盲化数字签名,增强了盲化数字签名的安全性;其安全性可以被验证,并有望能够抵抗已知的量子攻击。
为了实现本发明的上述和其他目的,根据本发明的一个方面,提供基于辫群的盲化数字签名系统,所述系统包括:密钥生成装置,用于根据系统参 数生成公钥和私钥;消息盲化装置,用于根据所述系统参数选择盲化因子,并根据共轭操作将所选盲化因子与欲签名消息进行计算,生成盲化消息辫子;签名装置,用于根据共轭操作将所述密钥生成装置生成的私钥与欲签名的盲化消息辫子进行计算,生成盲化签名辫子;以及签名脱盲装置,用于根据共轭操作将所述盲化因子与所述盲化签名辫子进行计算,生成签名辫子,并将欲签名的消息与脱盲后的签名辫子组合成完整的签名,其中,所述系统参数包括辫群的辫指数、辫子的长度规模、消息空间、签名空间、签名中所需要用到的哈希函数。
根据本发明的优选实施例,该系统还可以包括签名验证装置,用于根据所述消息、签名辫子和所述公钥,判断所述签名辫子是否为所述消息的有效签名。
根据本发明的优选实施例,该系统还可以包括该系统参数选择装置,用于根据所需系统的安全性要求及运行效率要求,来选择系统参数,使得根据所选系统参数确定的辫群包含左半子群和右半子群。
根据本发明的优选实施例,密钥生成装置包括:辫子选择单元,用于从系统参数所确定的辫群中随机选择两个辫子作为第一辫子和第二辫子;辫子获取单元,用于将辫子选择单元选择的第一辫子作为共轭子,根据共轭子获取与第二辫子共轭的第三辫子;以及密钥生成单元,用于将辫子选择单元选择的第二辫子和辫子获取单元中获取的第三辫子作为公钥,将辫子选择单元选择的第一辫子作为私钥。
根据本发明的优选实施例,消息盲化装置包括:盲化因子选择单元,从系统参数所确定的辫群的右半子群中随机选择一个辫子,作为盲化因子;消息辫子生成单元,将欲签名消息经过哈希函数映射为系统参数所确定的辫群中的一个随机辫子作为消息辫子;以及盲化消息辫子生成单元,将盲化因子作为共轭子,获取与消息辫子共轭的辫子作为盲化消息辫子。
根据本发明的优选实施例,签名脱盲装置包括:脱盲单元,将盲化因子的逆辫子作为共轭子,获取与盲化签名辫子共轭的签名辫子;以及签名合成单元,将欲签名的消息和签名辫子的组合作为欲签名的消息的完整签名。
根据本发明的优选实施例,签名验证装置包括:消息辫子生成单元,对签名中的欲签名消息进行哈希运算,得到消息辫子;第一中间辫子生成单元,将第二辫子与本权利要求消息辫子进行乘积运算,获得第一中间辫子;第二 中间辫子生成单元,将第三辫子与本权利要求签名的签名辫子进行乘积运算,获得第二中间辫子;以及签名验证单元,判断欲验证签名中的签名辫子与消息辫子是否共轭,以及第一中间辫子与第二中间辫子是否共轭,并且如果欲验证签名中的签名辫子与消息辫子共轭,且第一中间辫子与第二中间辫子共轭,则确定为签名有效,否则确定为签名无效。
根据本发明的优选实施例,该消息的盲化签名和脱盲后的签名都是与系统公开辫子共轭的辫子。
为了实现本发明的上述和其他目的,根据本发明的另一个方面,提供基于辫群的盲化数字签名方法,方法包括步骤:根据系统安全性要求选择系统参数;根据系统参数生成公钥和私钥;根据系统参数选择盲化因子;根据共轭操作将盲化因子与欲签名的消息进行计算,生成盲化消息辫子;以及根据共轭操作将私钥与盲化消息辫子进行计算,生成盲化签名辫子;根据共轭操作将盲化因子与盲化签名辫子进行计算,生成签名辫子,并将欲签名的消息与脱盲后的签名辫子组合成完整的签名,其中,系统参数包括辫群的辫指数、辫子的长度规模、消息空间、签名空间、签名中所需要用到的哈希函数。
为了实现本发明的上述和其他目的,根据本发明的再另一个方面,提供计算机产品,其上实施有实现基于辫群的盲化数字签名方法的程序,方法包括步骤:根据系统安全性要求选择系统参数;根据系统参数生成公钥和私钥;根据系统参数选择盲化因子;根据共轭操作将盲化因子与欲签名的消息进行计算,生成盲化消息辫子;以及根据共轭操作将私钥与盲化消息辫子进行计算,生成盲化签名辫子;根据共轭操作将盲化因子与盲化签名辫子进行计算,生成签名辫子,并将欲签名的消息与脱盲后的签名辫子组合成完整的签名,其中,系统参数包括辫群的辫指数、辫子的长度规模、消息空间、签名空间、签名中所需要用到的哈希函数。
本发明与已有成果相比,有如下突出特点:一是与已发表的盲化数字签名方案相比,本发明有望抵抗已知的量子分析,因而更加安全,而已发表的盲化数字签名所基于的数论难题在量子计算环境下都是可以高效求解的,因而是不安全的;二是与已有的基于辫群的签名方案或专利相比,本发明适合盲化数字签名的应用场景,例如电子货币等。盲化数字签名往往包含了一个普通签名在内:如果在消息盲化时什么都不做,相应地,脱盲操作也什么都不做,那么就得到一个基于辫群的普通数字签名方案;但是普通签名无法代 替盲化数字签名,盲化数字签名比普通签名有更多的属性和要求,因此,已有的普通签名方案和专利不能取代本发明。
附图说明
通过结合附图参照下面的详细描述,本发明的上述和其它目的、特征和优点将变得更加清楚,其中:
图1a图示了辫群的单位元的几何解释;
图1b图示了辫群的生成子的几何解释;
图1c图示了辫群的生成子的逆的单位元的几何解释;
图2是示出根据本发明的优选实施例的基于辫群的盲化数字签名系统的框图;
图3是图解图2所示的密钥生成模块的结构的框图;
图4是图解图2所示的消息盲化模块的结构的框图;
图5是图解图2所示的签名脱盲模块的结构的框图;
图6是图解图2所示的签名验证模块的结构的框图;
图7是图示根据本发明的基于辫群的盲化数字签名方法的流程图;以及
图8是根据本发明基于辫群的盲签名方案所应用到的在线电子现金系统的结构示意图。
具体实施方式
下面将参照示出本发明的优选实施方式的附图来更加全面地描述本发明。应该理解,本发明可以用其他不同的形式来实现,而且不应当限于这里所描述的实施方式。事实上,提供下述实施方式只是为了全面和完整地将本发明的范围传达给本领域的普通技术人员。在以下的描述中,将省略在这里结合的公知功能和配置的详细描述,因为它可能混淆本发明。
本发明实施例提供了基于辫群的盲化数字签名方法和系统,本发明基于共轭搜索问题(CSP,Conjugator Search Problem)的难解性假设进行盲化数字签名,增强了签名的安全性。
通常,辫群Bn通过如下群表示来定义:
Bn=<a1,...,an-1|aiaj=ajai,若|i-j|>1;aiajai=ajaiaj,若|i-j|=1>, 其中n称为辫群的辨指数(index),ai(i=1,...,n-1)称为阿丁(Artin)生成子,简称生成子。
图1图示了辫群的单位元、每个生成子及其逆的几何解释。如图1所示,图1a表示的辫群的单位元。单位元也就是空辫子。从几何上看,就是n条相互平行的带子。
图1b表示生成子ai。从几何上看,就是第i+1条带子压在第i条带子之上。
图1c表示生成子ai的逆。从几何上看,就是第i条带子压在第i+1条带子之上。
两个辫子的乘积就是将第二个辫子拼接在第一个辫子下端而构成的图形。当n>2时,辫群Bn是一个非交换的无限群;当n<m是,Bn是Bm的真子群。特别的,可以在辫群B2n中定义出两个较大的子群LBn和RBn+1。LBn表示仅由阿丁生成子ai(i=1,...,n-1)生成的B2n的一个真子群,称为B2n的左半子群;RBn+1表示仅由阿丁生成子ai(i=n+1,...,2n-1)生成的B2n的一个真子群,称为B2n的右半子群。显然,左半子群中的任意阿丁生成子的下标和右半子群中的任意阿丁生成子的下标之差均大于1,故左半子群中的任意元素跟右半子群中的任意元素是可以交换的。
辫群上的共轭搜索问题是指:给定辫群Bn中的两个辫子p和q,其中q是p关于辫群Bn中某个辫子s的共轭,即q=s-1ps(其中s是未公开的,一般用作用户私钥),求某个辫子r,使得r也是p和q的一个共轭子(不要求r一定等于s),用公式表述为q=r-1pr。
图2示出了根据本发明的优选实施例的基于辫群的盲化数字签名系统。现在参考图2来描述根据本发明的优选实施例的基于辫群的盲化数字签名系统。该基于辫群的盲化数字签名系统包括:系统参数选择模块201、密钥生成模块202、消息盲化模块203、签名模块204、签名脱盲模块205以及签名验证模块206。
该系统参数选择模块201根据所需系统的安全性要求及运行效率要求,来选择系统参数。系统参数包括辫群的辫指数,辫子的长度规模,消息空间,签名空间,签名中所需要用到的哈希函数等。
该系统参数选择模块201选择辫指数n的依据或者要考虑的因素是:首先,n必须为大于4(不包括4)的整数;其次,n越大,则所得的系统的安 全性越高,但是系统的运行效率就会下降;反过来,n越小,运行效率越高,但是安全性越低。因此,选择n时需要在保证系统安全性的条件下兼顾运行效率,典型的推荐值为:n可取16~20之间的整数。
选择定n之后,其它系统参数就被隐含指定了。本发明所涉及的辫子的自然长度(即所包含的生成子的个数)的规模均约定为O(n2)。每个待签名的消息为一任意长度的二进制串,即消息空间M可以看作是任意二进制串的集合。每个消息的签名都是一个辫子,且与在密钥生成模块202中将会公开的辫子P共轭,故签名空间可以看作是B2n的一个共轭子群Conj(P)={bPb-1:b属于B2n}。
此外,该系统参数选择模块201还需要引入两个哈希函数。第一个哈希函数是一个密码学(即碰撞稳固的)哈希函数,记为H:M→B2n,用来把消息映射为一个随机辫子。第二个哈希函数是一个导出的哈希函数,记为HD:M→Conj(P),其导出定义为HD(m)=H(m)PH(m)-1,它映任意消息为Conj(P)中的一个辫子。
密钥生成模块202接收该系统参数选择模块201所选取和导出的上述系统参数和哈希函数,并根据系统参数选择模块201所选择的系统参数生成签名私钥和相应的验证签名的公钥。具体来说,密钥生成模块202将辫指数n作为输入,从LBn和B2n中各选择一个自然长度规模为O(n2)辫子,分别记为第一辫子W和第二辫子P。然后,密钥生成模块202将第一辫子W作为共轭子,根据该共轭子获取与第二辫子P共轭的第三辫子Q,这里可以通过Q=W-1PW计算得到。最后,密钥生成模块202得到签名私钥sk=W和相应的验证签名的公钥pk=(P,Q)。
图3是图解密钥生成模块202的结构的示意图。根据图3的图示,密钥生成模块202可以包括辫子选择单元301、辫子获取单元302和密钥生成单元303。
辫子选择单元301从系统参数所确定的辫群LBn和B2n中各选择一个辫子,分别作为第一辫子W和第二辫子P输出到辫子获取单元302。而辫子获取单元302将辫子选择单元301所选择的第一辫子W作为共轭子,根据共轭子获取与第二辫子P共轭的第三辫子Q。
然后,密钥生成单元303将辫子选择单元301选择的第二辫子P和辫子获取单元302中获取的第三辫子Q作为公钥pk=(P,Q),将辫子选择单元 302选择的第一辫子W作为私钥。从而,产生出所要求的密钥。
回到图2,根据本发明的优选实施例的基于辫群的盲化数字签名系统的消息盲化模块203根据密钥生成模块201所选择的系统参数来随机选择盲化因子b,并根据所选择的盲化因子对欲签名的消息进m行计算,生成盲化消息辫子mblind=bhb-1。更具体地说,消息盲化模块203对欲签名的消息(本实施例为m)进行导出哈希运算得到B2n中的一个辫子作为消息辫子,本实施例为h=HD(m)。然后,消息盲化模块203从RBn+1中随机选择一个辫子作为盲化因子,本实施例为b,并且将所述盲化因子(本实施例为b)作为共轭子,获取与对所述消息辫子(本实施例为h)共轭的盲化消息辫子,本实施例为mblind=bhb-1。
图4是图解消息盲化模块203的结构的示意图。根据图4的图示,消息盲化模块203包括盲化因子选择单元401、消息辫子生成单元402和盲化单元403。盲化因子选择单元401从系统参数所确定的辫群的右半子群RBn+1中随机选择一个辫子b作为盲化因子。而消息辫子生成单元402根据系统参数选择模块201中所确定的哈希函数,将欲签名消息映射为消息辫子h=HD(m)。然后,盲化单元403接收盲化因子选择单元401选择的盲化因子b和消息辫子生成单元402输出的消息辫子h=HD(m),并将盲化因子b作为共轭子,获取与消息辫子h=HD(m)共轭的盲化消息辫子mblind=bhb-1。
再次回到图2,根据本发明的优选实施例的基于辫群的盲化数字签名系统的签名模块204根据共轭操作和密钥生成模块202生成的私钥,并对消息盲化模块203所生成的盲化消息辫子进行计算,生成盲化签名辫子。
具体地说,签名模块204将密钥生成模块202中选择的第一辫子W作为共轭子,获取与消息盲化模块203输出的盲化消息辫子mblind共轭的盲化签名辫子S’=WmblindW-1。
根据本发明的优选实施例的基于辫群的盲化数字签名系统的签名脱盲模块205根据消息盲化模块203所选择的盲化因子b和签名模块204所生成的盲化签名辫子S’=WmblindW-1进行计算,生成签名辫子S=b-1S’b。然后,签名脱盲模块205将所述消息m与所述签名辫子S组合起来得到完整的签名(m,S)。
图5图解了根据本发明的签名脱盲模块205的结构框图。参考图5,该签名脱盲模块205包括脱盲单元501和签名合成单元502。
脱盲单元501根据盲化因子选择单元401所选择盲化因子b和签名模块204所生成的盲化签名辫子S’=WmblindW-1进行计算,生成脱盲后的签名辫子S=b-1S’b。签名合成单元502接收该系统参数选择模块201输出的欲签名的消息m以及脱盲单元501输出的脱盲后的签名辫子S=b-1S’b,并且组合成完整的签名(m,S),作为该签名脱盲模块205的输出。
再回到图2,根据本发明的优选实施例的基于辫群的盲化数字签名系统的签名验证模块206用于根据该系统参数选择模块201输出的所述消息m、脱盲单元501输出的签名辫子S=b-1S’b和密钥生成单元303所生成的所述公钥pk(P,Q),判断所述签名辫子S=b-1S’b是否为所述消息m的有效签名。
图6图解了根据本发明的签名验证模块206的结构框图。参考图6,根据本发明的优选实施方式的签名验证模块206包括消息辫子生成单元601、第一中间辫子生成子单元602、第二中间辫子生成子单元603以及签名验证单元604。第一中间辫子生成子单元602和第二中间辫子生成子单元603有时也统称为中间辫子生成单元。
消息辫子生成单元601根据系统参数选择模块201中所选择的哈希函数H,将欲验证签名中的消息m映射为消息辫子h=H(m)。同时,由中间辫子生成单元生成签名验证方程所需要的中间辫子。具体来说,中间辫子生成单元中的第一中间辫子生成子单元602将密钥生成模块202所生成的第二辫子P和本签名验证模块206中的消息辫子生成单元601所生成的消息辫子h=H(m)进行乘积运算,得到第一中间辫子U=Ph。然后,该中间辫子生成单元中的第二中间辫子生成子单元603将密钥生成模块202所生成的第三辫子Q和欲验证签名中的签名辫子S进行乘积运算,得到第二中间辫子V=QS。
接下来,根据本发明的签名验证模块206的签名验证单元604接收签名辫子S是否和所述消息辫子h=H(m),并且判断所输入的签名辫子S是否和所述消息辫子h=H(m)共轭,以及所述第一中间辫子U=Ph是否与所述第二中间辫子V=QS共轭。若这两个共轭关系均成立,则签名有效,输出1。否则,签名无效,输出0。
根据本发明的另一实施方式,提供基于辫群的盲化数字签名方法。图7是图示根据本发明的基于辫群的盲化数字签名方法的流程图。现在参考图7来描述本发明的基于辫群的盲化数字签名方法。
在步骤701,选择系统参数,系统参数包括辫群的辫指数,辫子的长度 规模,消息空间,签名空间,签名中所需要用到的哈希函数等。步骤701的具体过程如下:选择定n之后,其它系统参数就被隐含指定了,即约定:本发明所涉及的辫子的自然长度(即所包含的生成子的个数)的规模均为O(n2);每个待签名的消息为一任意长度的二进制串,即消息空间M可以看作是任意二进制串的集合;每个消息的签名都是一个辫子,且与在模块202中将会公开的辫子P共轭,故签名空间可以看作是B2n的一个共轭子群Conj(P)={bPb-1:b属于B2n}。
此外,步骤701还需要引入两个哈希函数,首先需要一个密码学(即碰撞稳固的)哈希函数,记为H:M→B2n,用来把消息映射为一个随机辫子;其次需要一个导出的哈希函数,记为HD:M→Conj(P),其导出定义为HD(m)=H(m)PH(m)-1,它映任意消息为Conj(P)中的一个辫子。
在步骤702,根据所选择的系统参数生成用户的签名私钥和相应的验证签名的公钥。具体过程如下:将系统安全参数n作为输入,从LBn和B2n中各选择一个自然长度规模为O(n2)辫子,分别记为第一辫子W和第二辫子P。然后,步骤702将第一辫子W作为共轭子,根据该共轭子获取与第二辫子P共轭的第三辫子Q,这里可以通过Q=W-1PW计算得到。最后,得到签名私钥sk=W和相应的验证签名的公钥pk=(P,Q)。
在步骤703,根据共轭操作和所述系统参数对欲签名的消息进行计算,生成盲化消息辫子。具体过程为:对欲签名的消息(本实施例为m)进行导出哈希运算得到B2n中的一个辫子作为消息辫子,本实施例为h=HD(m);从RBn+1中随机选择一个辫子作为盲化因子,本实施例为b;将所述盲化因子(本实施例为b)作为共轭子,获取与对所述消息辫子(本实施例为h)共轭的盲化消息辫子,本实施例为mblind=bhb-1。
在步骤704,根据共轭操作和所述私钥对所述盲化消息辫子进行计算,生成盲化签名辫子。具体过程为:将步骤702中选择的第一辫子W作为共轭子,获取与盲化消息辫子(本实施例为mblind)共轭的盲化签名辫子,本实施例为S’=WmblindW-1。
在步骤705,根据所述盲化因子和所述盲化签名辫子进行计算,生成签名辫子。具体过程为:根据所述盲化因子(本实施例为b)的逆辫子作为共轭子,获取与所述盲化签名辫子(本实施例为S’)共轭的签名辫子,本实施例为S=b-1S’b;将所述消息(本实施例为m)与所述签名辫子(本实施例为S) 组合起来得到完整的签名,本实施例为(m,S)。
在步骤706,其它用户得到上述签名(m,S)后,可以通过以下方法进行验证:
1)将签名(m,S)和所述公钥(P,Q)作为输入,先计算消息辫子h=H(m);
2)再计两个中间辫子U=Ph、V=QS;
3)判断签名辫子S和消息辫子h是否共轭、中间辫子U是否和中间辫子V共轭,用公式表示为S~h和U~V。
4)如果S~h和U~V共轭关系同时成立,则该签名正确,并输出1;否则,该签名错误,并输出0。
如上所述,理论和实践可以验证,本发明基于辫群的盲化数字签名方法和基于辫群的盲化数字签名系统有望抵抗已知的量子分析,因而更加安全,而已发表的盲化数字签名所基于的数论难题在量子计算环境下都是可以高效求解的,因而是不安全的。而且,与已有的基于辫群的签名方案或专利相比,本发明适合盲化数字签名的应用场景,例如电子货币等。盲化数字签名往往包含了一个普通签名在内:如果在消息盲化时什么都不做,相应地,脱盲操作也什么都不做,那么就得到一个基于辫群的普通数字签名方案;但是普通签名无法代替盲化数字签名,盲化数字签名比普通签名有更多的属性和要求,因此,已有的普通签名方案和专利不能取代本发明。
图8图解了本发明的基于辫群的盲化数字签名系统和方法用于电子商务系统的示意图。参见图8,该电子商务系统由三个实体构成:银行实体801、客户实体802和商家实体803。
在图8所示的电子商务系统中,银行实体801接受客户实体802的取(贷)款请求,为客户实体802签发经过盲化的电子现金。同时,银行实体801也接受商家实体803的验款请求,验证商家所接受的电子货币是否属于重复消费。银行实体801可以通过盲签名方案中的签名者来模拟。
客户实体802向银行实体801发送取(贷)款请求,并向商家实体803发送脱盲后的电子现金,以换取所需的服务。客户实体802通过盲签名方案中的普通用户来模拟。
而商家实体803接受客户实体802发送的电子现金,首先验证其真伪性,如果为真,再向银行实体801询问该电子现金是否属于重复消费。如果电子现金为假,或者虽为真但是属于重复消费,则拒绝客户实体802的服务请求; 否则,向客户实体802提供其申请的服务。
参考图8,在该电子商务系统中,盲化信息和盲化签名以及脱盲操作的流程如下:首先,当客户实体802向银行实体801发送取(贷)款请求时,为了保证所获得的电子现金的不可追踪性,需要对此请求进行盲化。所以,发送的是盲化的请求消息。消息没有具体的含义,可以视为随机数;每次这种盲化请求,代表申请1个单位的电子货币。
然后,银行实体801向客户实体802发送盲化的签名,它代表1个单位的盲化电子货币。客户实体802对收到的盲化货币执行脱盲操纵,得到1个单位的脱盲后的电子货币。客户实体802向商家实体803提交脱盲后的电子货币,以期获得某种服务。
商家实体803向银行实体801转发客户实体802提供的脱盲后的电子货币,用来询问“该货币是否为重复消费?”银行实体801回答商家实体803的询问,有两者可能的结果:“是”或者“否”。商家实体803根据银行实体801的回答所采取的操纵,有两种情形:如果银行回答“是”,则商家实体803拒绝客户的服务请求;否则,如果银行实体801回答“否”,则商家实体803向客户实体802提供所请求的服务。
在上面的说明中,根据本发明的优选实施方式描述了代理盲化数字签名系统及其方法。本领域技术人员将理解,该系统和方法都可以实现为记录在计算机可读记录介质上的计算机可读代码。该计算机可读记录介质可以是存储可由计算机系统读取的数据的任何数据存储设备。计算机可读记录介质的示例包括只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘、光数据存储装置和载波(诸如通过因特网的数据发送)。计算机可读记录介质还可以分布在联网的计算机系统中,以便以分布的方式存储并执行计算机可读代码。
尽管上述是参照示例性实施方式来描述本发明,但本领域技术人员将理解,在不背离由所附权利要求书限定的本发明宗旨和范围的前提下,可以对本发明进行各种形式和细节上的修改。优选实施方式应该仅认为是说明性的,而不是限制性的。因此,本发明的详细描述不限定本发明的范围,本发明的范围应该由所附权利要求限定,并且本发明的范围内的所有区别技术特征应理解为包含在本发明中。
Claims (13)
1.一种基于辫群的盲化数字签名系统,所述系统包括:
系统参数选择装置,用于根据所需系统的安全性要求及运行效率要求来选择系统参数,使得根据所选系统参数确定的辫群包含左半子群和右半子群;
密钥生成装置,用于根据系统参数生成公钥和私钥;
消息盲化装置,用于对欲签名的消息进行两次哈希运算,根据所述系统参数选择盲化因子,并且将所选盲化因子与经过所述两次哈希运算的欲签名的消息进行共轭运算,生成与公钥共轭的并且属于辫群的同一个共轭子群的盲化消息辫子;
签名装置,用于根据共轭操作将所述密钥生成装置生成的私钥与欲签名的盲化消息辫子进行计算,生成盲化签名辫子;以及
签名脱盲装置,用于根据共轭操作将所述盲化因子与所述盲化签名辫子进行计算,生成签名辫子,并将欲签名的消息与脱盲后的签名辫子组合成完整的签名,
其中,所述系统参数包括辫群的辫指数、辫子的长度规模、消息空间、签名空间、签名中所需要用到的哈希函数。
2.如权利要求1所述的基于辫群的盲化数字签名系统,还包括签名验证装置,用于根据所述欲签名的消息、签名辫子和所述公钥,判断所述签名辫子是否为所述消息的有效签名。
3.如权利要求1所述的基于辫群的盲化数字签名系统,其中,所述密钥生成装置包括:
辫子选择单元,用于从系统参数所确定的辫群中随机选择两个辫子作为第一辫子和第二辫子;
辫子获取单元,用于将辫子选择单元选择的第一辫子作为共轭子,根据共轭子获取与第二辫子共轭的第三辫子;以及
密钥生成单元,用于将辫子选择单元选择的第二辫子和辫子获取单元中获取的第三辫子作为公钥,将辫子选择单元选择的第一辫子作为私钥。
4.如权利要求1所述的基于辫群的盲化数字签名系统,其中,所述消息盲化装置包括:
盲化因子选择单元,从系统参数所确定的辫群的右半子群中随机选择一个辫子,作为盲化因子;
消息辫子生成单元,将欲签名消息经过两次哈希函数映射为所述系统参数所确定的辫群中的一个随机辫子作为消息辫子;以及
盲化消息辫子生成单元,将所述盲化因子作为共轭子,获取与所述消息辫子共轭的辫子作为盲化消息辫子。
5.如权利要求1所述的基于辫群的盲化数字签名系统,其中,所述签名脱盲装置包括:
脱盲单元,将所述盲化因子的逆辫子作为共轭子,获取与所述盲化签名辫子共轭的签名辫子;以及
签名合成单元,将所述欲签名的消息和所述签名辫子的组合作为所述欲签名的消息的完整签名。
6.如权利要求3所述的基于辫群的盲化数字签名系统,其中,所述签名验证装置包括:
消息辫子生成单元,对所述签名中的所述欲签名消息进行哈希运算,得到消息辫子;
第一中间辫子生成单元,将所述第二辫子与所述消息辫子进行乘积运算,获得第一中间辫子;
第二中间辫子生成单元,将所述第三辫子与本权利要求所述签名的签名辫子进行乘积运算,获得第二中间辫子;以及
签名验证单元,判断欲验证签名中的签名辫子与所述消息辫子是否共轭,以及所述第一中间辫子与所述第二中间辫子是否共轭,并且如果所述欲验证签名中的签名辫子与所述消息辫子共轭,且所述第一中间辫子与所述第二中间辫子共轭,则确定为所述签名有效,否则确定为所述签名无效。
7.如权利要求1所述的基于辫群的盲化数字签名系统,其中,消息的盲化签名和脱盲后的签名都是与系统公开辫子共轭的辫子。
8.一种基于辫群的盲化数字签名方法,所述方法包括步骤:
1)根据系统安全性要求及运行效率要求选择系统参数,使得根据所选系统参数确定的辫群包含左半子群和右半子群;
2)根据所述系统参数生成公钥和私钥;
3)对欲签名的消息进行两次哈希运算;
4)根据所述系统参数选择盲化因子,并且将所选盲化因子与经过所述两次哈希运算的欲签名的消息进行共轭运算,生成与公钥共轭的并且属于辫群的同一个共轭子群的盲化消息辫子;以及
5)根据共轭操作将所述私钥与盲化消息辫子进行计算,生成盲化签名辫子;
6)根据共轭操作将所述盲化因子与盲化签名辫子进行计算,生成签名辫子,并将欲签名的消息与脱盲后的签名辫子组合成完整的签名,
其中,所述系统参数包括辫群的辫指数、辫子的长度规模、消息空间、签名空间、签名中所需要用到的哈希函数。
9.如权利要求8所述的基于辫群的盲化数字签名方法,还包括步骤:
7)根据所述欲签名的消息、签名辫子和所述公钥,判断所述签名辫子是否为所述消息的有效签名。
10.如权利要求8所述的基于辫群的盲化数字签名方法,其中,所述步骤2)包括子步骤:
从系统参数所确定的辫群的左半子群中随机选择两个辫子作为第一辫子和第二辫子,将所述第一辫子作为共轭子,根据所述共轭子获取与所述第二辫子共轭的第三辫子,并要求第三辫子属于第二辫子的超级顶点集的一个较小的邻域;以及
将所述第二辫子和第三辫子作为公钥,将所述第一辫子作为私钥。
11.如权利要求8所述的基于辫群的盲化数字签名方法,其中,所述步骤6)包括子步骤:
将所述盲化因子的逆辫子作为共轭子,获取与所述盲化签名辫子共轭的签名辫子;以及
将所述欲签名的消息和所述签名辫子的组合作为所述欲签名的消息的完整的签名。
12.如权利要求10所述的基于辫群的盲化数字签名方法,其中,步骤7)包括子步骤:
对所述签名中的所述欲签名消息进行哈希运算,得到消息辫子;
将所述第二辫子与所述消息辫子进行乘积运算,获得第一中间辫子;
将所述第三辫子与所述签名中的签名辫子进行乘积运算,获得第二中间辫子;
判断欲验证签名中的签名辫子与所述消息辫子是否共轭以及所述第一中间辫子和所述第二中间辫子是否共轭;以及
如果所述欲验证签名中的签名辫子与所述消息辫子共轭,且所述第一中间辫子和所述第二中间辫子共轭,则确定所述签名有效,否则,确定所述签名无效。
13.如权利要求8所述的基于辫群的盲化数字签名方法,其中,消息的盲化签名和脱盲后的签名都是与系统公开辫子共轭的辫子。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910009315.1A CN101807990B (zh) | 2009-02-18 | 2009-02-18 | 基于辫群的盲化数字签名系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910009315.1A CN101807990B (zh) | 2009-02-18 | 2009-02-18 | 基于辫群的盲化数字签名系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101807990A CN101807990A (zh) | 2010-08-18 |
CN101807990B true CN101807990B (zh) | 2017-04-12 |
Family
ID=42609613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910009315.1A Active CN101807990B (zh) | 2009-02-18 | 2009-02-18 | 基于辫群的盲化数字签名系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101807990B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106603236A (zh) * | 2015-10-15 | 2017-04-26 | 收付宝科技有限公司 | 一种用于生成签名的方法和装置 |
CN105933121A (zh) * | 2016-04-11 | 2016-09-07 | 南京邮电大学 | 一种具有隐私保护功能的服务发现机制实现方法和系统 |
CN106452768B (zh) * | 2016-12-21 | 2019-09-17 | 湖南文理学院 | 量子盲签中消息真实性保护方法 |
CN106982113B (zh) * | 2017-05-02 | 2018-06-29 | 北京邮电大学 | 基于非交换单群的公钥全同态数据处理方法及装置 |
WO2019071457A1 (zh) * | 2017-10-11 | 2019-04-18 | 深圳大学 | 加密货币中条件可追踪用户签名的方法和系统 |
CN110048854B (zh) * | 2019-04-23 | 2021-11-30 | 西安邮电大学 | 基于多变量的后量子盲签名方法 |
CN114221753B (zh) * | 2021-11-23 | 2023-08-04 | 深圳大学 | 密钥数据处理方法和电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1763760A (zh) * | 2004-10-19 | 2006-04-26 | 三星电子株式会社 | 用于使用数字票据提供匿名性的电子商务的方法和设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8468359B2 (en) * | 2006-06-30 | 2013-06-18 | Novell, Inc. | Credentials for blinded intended audiences |
-
2009
- 2009-02-18 CN CN200910009315.1A patent/CN101807990B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1763760A (zh) * | 2004-10-19 | 2006-04-26 | 三星电子株式会社 | 用于使用数字票据提供匿名性的电子商务的方法和设备 |
Non-Patent Citations (1)
Title |
---|
一种改进的基于辫群的签名体制;丁勇等;《西安电子科技大学学报(自然科学版)》;20060131;第33卷(第1期);第50-52页 * |
Also Published As
Publication number | Publication date |
---|---|
CN101807990A (zh) | 2010-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Designated-verifier proof of assets for bitcoin exchange using elliptic curve cryptography | |
CN101807990B (zh) | 基于辫群的盲化数字签名系统和方法 | |
Saeednia et al. | An efficient strong designated verifier signature scheme | |
JP2666191B2 (ja) | データ交換システムにおける加入者相互のアイデンテイフイケーシヨンならびに署名の発生および確認のための方法 | |
US5493614A (en) | Private signature and proof systems | |
CN102263638B (zh) | 认证设备、认证方法和签名生成设备 | |
Chen et al. | ID-based restrictive partially blind signatures and applications | |
Au et al. | Practical anonymous divisible e-cash from bounded accumulators | |
WO2013031414A1 (ja) | 署名検証装置、署名検証方法、プログラム、及び記録媒体 | |
Au et al. | Compact e-cash from bounded accumulator | |
WO2013031533A1 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
US9276735B2 (en) | Information processing apparatus, signature generation apparatus, information processing method, signature generation method, and program | |
JP2011254155A (ja) | 認証装置、認証方法、プログラム、及び署名生成装置 | |
Oros et al. | A secure and efficient off-line electronic payment system forwireless networks | |
TWI511517B (zh) | Information processing apparatus, information processing method, program and recording medium | |
EP2822217A1 (en) | Information processing device, information processing method, and program | |
Hanatani et al. | Provably secure electronic cash based on blind multisignature schemes | |
Thomas et al. | Group signature schemes using braid groups | |
Au et al. | Short e-cash | |
Canard et al. | Divisible e‐cash made practical | |
JP5790286B2 (ja) | 情報処理装置、署名生成装置、情報処理方法、署名生成方法、及びプログラム | |
Popescu | A Secure and Efficient Off-line Electronic Transaction Protocol | |
EP2752836A1 (en) | Information processing device, signature generation device, signature verification device, information processing method, signature generation method, and signature verification method | |
Wang | Untraceable fair network payment protocols with off-line TTP | |
Yang | Practical escrow protocol for cryptocurrencies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CB03 | Change of inventor or designer information |
Inventor after: Wang Licheng Inventor after: Zheng Shihui Inventor after: Yang Yixian Inventor after: Wang Daoshun Inventor before: Wang Licheng Inventor before: Zheng Shihui Inventor before: Yang Yixian |
|
CB03 | Change of inventor or designer information |