当前位置: 首页 > 专利查询>河海大学专利>正文

一种具备指定可撤销性的Schnorr环签名方法技术

技术编号:8724567 阅读:228 留言:0更新日期:2013-05-22 22:39
本发明专利技术提出了一种具备指定可撤销性的Schnorr环签名方法。所述方法中,系统选择生成签名和验证签名的系统参数,并生成环成员公私钥;成员利用私钥对消息进行签名;验证者根据系统公开参数和所有环成员公钥对消息签名进行验证;签名人利用指定验证人公钥发起交互式证明协议,通过该证明协议过程指定验证人可确认对方是否是真实签名人。该方法构造简洁、高效,增强了环签名方案的适用性,且实现了身份验证范围的可控,尤其适合用于匿名举报--事后奖励的应用场景。

【技术实现步骤摘要】

本专利技术涉及一种数字签名技术,属于信息安全
,具体指的是。
技术介绍
出于公平、公正以及保护用户隐私的动机,越来越多的应用场合开始关注匿名性。环签名作为一种新型的匿名签名技术,是Rivest等人于2001年在“安全泄露秘密”的背景下提出的。它是一种特殊的面向群体的签名,不需要群的建立过程,没有群管理员,签名者只需随意选取一部分成员公钥(用于隐藏签名者身份),再通过自己的私钥生成一个签名,这样减少了很多复杂的交互证明过程。环签名的最大特点是签名者具有无条件匿名性,即使攻击者拥有无限的计算能力,也无法追踪签名人的身份,且签名过程易于高效实现。因此,它在匿名电子选举、电子货币系统、自组织网络通信以及安全多方计算中都有广泛的应用。环签名是一种匿名技术,然而在有些情况下需要撤销其匿名性。比如在某些场合,要给泄密者(签名人)颁奖,需要真实签名人证明其身份。鉴于此问题,Lv等人于2003年提出了基于双离散对数的可验证环签名方案。2004年,GAN等人在阀下信道中嵌入认证信息,也实现了环签名的可验证。但前者大大增加了签名的复杂度,后者的实现成本较高。另外,还有人提出可转换的环签名方案。如果真实签名人需要证实其身份,他可通过泄露有关环签名的秘密信息将环签名转换为普通签名,但如此一来任何验证者都可获得其身份信息,身份暴露的范围将不可控。下面首先对相关概念进行说明:1.单向陷门函数(Trap-door oneway function)`单向陷门函数ft(x):D — R,是一个单向函数,即对任意的χ e D,容易计算,而对几乎所有R中的值,求逆困难。但是,如果知道陷门信息t,则对所有的y e R,容易计算满足 y=ft (χ)的 χ e D。2.DL(Discrete Logarithm)困难问题假定定义I给定素数q及有限域Fq,g是^;的一个生成元,对于任意的A e l!F:,求解惟一的整数a〈q,满足h=ga。本专利技术中方案的安全性是基于单向函数的性质和DL问题的难解性。下面将说明方案基于的Schnorr环签名。首先给出Schnorr环签名的简单流程图,附图说明图1。Schnorr环签名方案具备系统参数及密钥生成模块、签名模块、验证模块。1.系统参数及密钥生成模块首先系统选取大素数p,q使得q|p_l,且q彡2k,其中k是方案的安全参数。选取Z中的q阶生成元g,以及抗碰撞的散列函数丑():!0,1Γ χ {O, I)* -> Z;。令所有环成员为I1,I2,…,In,每个成员Ii选取其私钥4 e Z*,则相应的公钥为JZi modi 。综上所述,系统的公开参数为params= (p, q, g, H),环成员的公私钥集合为{ (xi,Yi) i = 1,2,..., rJ。2.签名模块为了生成消息m的签名,真实签名人Is,s e {1,2,…,η}执行以下步骤:对所有i e {1,2,…,n},i古s,在 < 中随机选择两两不同的ai;并计算Ri 腦# , i # s ;另随机选择a e Zq,并计算尺mo却,若艮=1或Rs=Ri (i关s),则重新选择a ;计算σ = 〃 + Σ 4 H () mod (i ■则消息m的环签名为(m, R1, R2,…,Rn, h” h2,…,hn, σ ),其中 h^H(m, Ri), I 彡 i 彡 η。注:(h1; h2,…,hn)可由签名中其余部分求得,故不必出现在最终签名中。3.验证模块验证者计算Iii=H(m, Ri),并验证等式=R1 R2 -...-Rn - jf* -J*2....yh mod是否成立。成立,则签名有效;反之,签名无效。
技术实现思路
本专利技术针对上述技术问题,针对已有同类方案存在的缺陷,根据匿名举报一事后奖励的应用需求,提出,该方法基于Schnorr环签名,结合指定确认者签名和指定验证者证明,具有签名确认过程,使得签名人可向指定的验证方证实其身份,且验证方不能向其他人证明签名人的身份;在随机预言机模型下具有无条件匿名性,不可伪造性 和不可传递性;在效率和功能性上均有显著提高,构造简洁、闻效。本专利技术为解决上述技术问题,采用如下技术方案:,所述方法包括系统参数及密钥生成模块、签名模块、验证模块、身份确认模块四个部分;所述系统参数及密钥生成模块中,系统选择生成签名和验证签名的系统参数,并生成环成员公私钥;所述签名模块中,成员利用私钥对消息进行签名;所述验证模块中,验证者根据公开的系统参数和所有环成员公钥对消息签名进行验证;所述身份确认模块中,签名人利用指定验证人公钥发起交互式证明协议,通过该证明协议过程指定验证人可确认对方是否是真实签名人;各模块及具体操作步骤如下:A.系统参数及密钥生成模块首先系统选取两个大素数P,q,q使得q I p-1,且q彡2k,其中k是预先设定的方案安全参数;选取<中的两个q阶生成元g,h,以及抗碰撞的散列函数():{0, Γχ{0,1!、7带加密的散列函数FO ;令所有环成员为I1, I2,…,In,每个成员Ii选取其私钥A G K,则相应的公钥为J,, = gx.mod P ; η为环成员数;贝U,系统的公开参数为params=(p,q, g, h, H, F),环成员的公私钥集合为Kxi, Y^i }.=1,2,…,η」,B.签名模块为了生成消息m的签名,真实签名人Is,s e {1,2,…,η}执行以下步骤:步骤1:随机选取《,V e $并计算 athamodp, b*= (a*) vmodp ;步骤2:随机选取《 G Z9并计算 U= (a*) umodp, Θ =u+vF (m | | a*, U) modq ;步骤3:将a+v分成η个片段;具体的,成员Is为其余环成员IiQ幸s)分别选取I个随机元素本文档来自技高网
...

【技术保护点】
一种具备指定可撤销性的Schnorr环签名方法,其特征在于,所述方法包括系统参数及密钥生成模块、签名模块、验证模块、身份确认模块四个部分;所述系统参数及密钥生成模块中,系统选择生成签名和验证签名的系统参数,并生成环成员公私钥;所述签名模块中,成员利用私钥对消息进行签名;所述验证模块中,验证者根据公开的系统参数和所有环成员公钥对消息签名进行验证;所述身份确认模块中,签名人利用指定验证人公钥发起交互式证明协议,通过该证明协议过程指定验证人可确认对方是否是真实签名人;各模块及具体操作步骤如下:A.系统参数及密钥生成模块首先系统选取两个大素数p,q,q使得q|p‑1,且q≥2k,其中k是预先设定的方案安全参数;选取整数群中的两个q阶生成元g,h,以及抗碰撞的散列函数带加密的散列函数F();令所有环成员为I1,I2,...Ii,…,In,每个成员Ii选取其私钥则相应的公钥为n为环成员数;则,系统的公开参数为params=(p,q,g,h,H,F),环成员的公私钥集合为{(xi,yi)i=1,2,…,n};B.签名模块为了生成消息m的签名,真实签名人Is,s∈{1,2,…,n}执行以下步骤:步骤1:随机选取并计算a*=hamodp,b*=(a*)vmodp;步骤2:随机选取并计算U=(a*)umodp,θ=u+vF(m||a*,U)modq;步骤3:将a+v分成n个片段;具体的,成员Is为其余环成员Ii,i≠s分别选取1个随机元素并确定自身的片段 a s = ( ( a + v ) - Σ i = 1 , i ≠ s n a i ) mod q ; 步骤4:对所有i≠s,计算步骤5:计算 R s = g a s Π i ≠ s y i - H ( m , R i ) mod p ; 步骤6:计算 σ = Σ i = 1 n a i + x s H ( m , R s ) = a + v + x s H ( m , R s ) mod q ; 步骤7:对消息m的签名是(m,R1,…,Rn,σ,a*,b*,U,θ);C.验证模块对于给定的消息m和相应的签名,验证者首先检测关键参数a*,b*是否按要求生成,接着再验证签名的有效性;具体操作步骤如下:步骤8:检查等式modp是否成立;若成立,则执行下一步;反之则签名无效;步骤9:对所有1≤i≤n,计算hi=H(m,Ri);步骤10:检查等式 g σ = R 1 · R 2 · . . . · R n · y 1 h ...

【技术特征摘要】
1.一种具备指定可撤销性的Schnorr环签名方法,其特征在于,所述方法包括系统参数及密钥生成模块、签名模块、验证模块、身份确认模块四个部分;所述系统参数及密钥生成模块中,系统选择生成签名和验证签名的系统参数,并生成环成员公私钥;所述签名模块中,成员利用私钥对消息进行签名;所述验证模块中,验证者根据公开的系统参数和所有环成员公钥对消息签名进行验证;所述身份确认模块中,签名人利用指定验证人公钥发起交互式证明协议,通过该证明协议过程指定验证人可确认对方是否是真实签名人;各模块及具体操作步骤如下: A.系统参数及密钥生成模块 首先系统选取两个大素数P,q,q使得q|p_l,且q彡2k,其中k是预先设定的方案安全参数;选取整数群C中的两个q阶生成元g,h,以及抗碰撞的散列函数/y():{0,l}*x{0,ir^Z;,带加密的散列函数FO ;令所有环成员为I1, I2,…Ii,…,In,每个成员Ii选取其私钥A e zI,则相应的公钥为.V, = ^λ: mod P ; η为环成员数; 贝1J,系统的公开参数为params=(p, q, g, h, H, F),环成员的公私钥集合为Kxi, Y^i = }.1,2,..., nJ , B.签名模块 为了生成消息m的签名,真实签名人Is,s e {1,2,-,η}执行以下步骤:步骤 1:随机选取12,v e 并计算 athamodp, b*= (a*) vmodp ;步骤 2:随机选取w e 并计算 U= (a*) umodp, Θ =u+vF (m | | a*, U) modq ; 步骤3:将a+v分成η个片 段;具体的,成员Is为其余环成员Ii, i古s分别选取I个随(ηΛ机元素 ,并确定自身的片段4= (a + v)- E σ, modq; ...

【专利技术属性】
技术研发人员:王志坚吕鑫傅晓
申请(专利权)人:河海大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1