一种具有指定可验证性的Schnorr环签名方案的制作方法

文档序号:9435842阅读:633来源:国知局
一种具有指定可验证性的Schnorr环签名方案的制作方法
【技术领域】
[0001] 本发明涉及一种数字签名技术,尤其涉及一种具备指定可验证性的Schnorr环签 名方案。
【背景技术】
[0002] 越来越多的网络应用涉及隐私信息的交互,对匿名通信能力的需求日益增加。环 签名是一种新型的匿名签名技术,由Rivest等人于2001年在"安全泄露秘密"的背景下提 出。它是一种特殊的面向群体的签名,没有群管理员及群的建立过程,签名者只需任意选取 一部分成员公钥(用于隐藏签名者身份),再通过自己的私钥生成一个签名,这样减少了很 多复杂的交互证明过程。环签名的最大特点是签名者具有无条件匿名性,即使攻击者拥有 无限的计算能力,也无法追踪签名人的身份。因此,它在匿名电子选举、电子货币系统、自组 织网络通信以及安全多方计算中都有广泛的应用。
[0003] 环签名是一种匿名技术,然而在有些情况下需要撤销其匿名性。比如在某些场合, 要给泄密者(签名人)颁奖,需要真实签名人证明其身份。鉴于此问题,较早的研究工作有: Lv等人于2003年提出的基于双离散对数的可验证环签名方案,但签名复杂度过高。2004 年,GAN等人在阀下信道中嵌入认证信息,也实现了环签名的可验证,然而实现成本较高。 另外,还有人提出可转换的环签名方案。如果真实签名人需要证实其身份,他可通过泄露有 关环签名的秘密信息将环签名转换为普通签名,但如此一来任何验证者都可获得其身份信 息,身份暴露的围将不可控。
[0004]近年来,又陆续提出了可否认的环签名(Komanoetal, 2006),Step-Out环签名 (Klonowskietal,2008),扩展的RST环签名(Dongetal,2012),但它们都存在交互过程 繁复,实现复杂,效率低下的问题。

【发明内容】

[0005] 发明目的:针对上述问题,本发明提出了一种构造简洁、高效且可验证的Schnorr 环签名方案,并且其具备不可伪造性且身份的验证范围可控的特性。
[0006] 技术方案:所述的一种具备指定可验证性的Schnorr环签名方案,包括以下模 块:
[0007]系统初始化模块:基于相应的安全参数,选取方案所需的公开参数,为每个环成员 生成公私钥对;
[0008] 签名模块:即概率性签名算法,概率地生成环签名以及用于身份确认的关键参 数;
[0009] 验证模块:非交互式确定性证明算法,验证身份确认参数及环签名的有效性;
[0010] 确认模块:交互式零知识证明协议,使指定验证方确认示证方的身份;
[0011] 包括具体的操作步骤为:
[0012] 1)系统初始化:生成环成员公私钥对以及系统的公开参数;
[0013] 2)签名生成:真实签名人生成消息签名;
[0014] 3)签名验证:对于给定的消息和相应的签名,验证者首先检测关键参数是否按要 求生成,接着再验证签名的有效性;
[0015] 4)身份确认:真实签名人可通过一种交互式证明协议,使其指定的验证方确信他 的身份。
[0016]系统初始化具体步骤:首先系统选取大素数p,q使得q|p_l,且q> 2k,其中k是方案的安全参数;选取巧中的两个q阶生成元g,h,以及抗碰撞 的散列函数- ><,氏〇:{0,1}、Zp,带加密的散列函数 ): {0,氺x{0,氺4 ;令所有环成员为軋A2,…,An,每个成员~选取其私钥x,eZ:,则 相应的公钥为只=f
[0017]综合上所述,系统的公开参数为params= (p,q,g,h,H,氏,F),环成员的公私钥集 合为{(Xdyi)1= li2,...,n};
[0018] 签名生成具体为:为了生成消息m的签名,真实签名人As,sG{1,2,…,n}执行以 下步骤:
[0019]步骤 2-1:随机选取《,ve 并计算 a*=hamodp,b*=(a*)vmodp;
[0020] 步骤2-2 :随机选取《e<并计算
[0021]U= (a*)umodp, 9 =u+vF(m| |a*,U)modq;
[0022] 步骤2-3 :为其余n-1个环成员Aji乒s)各选取一个随机数,并计算
[0023]步骤 2-4:计算m'=氏(m||a* | |b*):
[0024] 步骤2-5 :随机选取化e<,并计算
[0025]步骤 2-6:计;
[0026]步骤 2-7 :对消息m的签名是(m,&,…,Rn,〇,a*,b'U,0 );
[0027] 签名验证具体步骤如下:
[0028] 步骤3-1:检查等式" 1mod/;是否成立,若成立,则执行下一步; 反之则签名无效;
[0029] 步骤3-2:计算m'=氏(m| |a*| |b*),对所有1彡i彡n,计算hi=H(m',R;);
[0030] 步骤3-3:检查等式宫〃。與為....-g2…幽dp是否成立,若成立,则 签名有效;反之则签名无效;
[0031] 身份确认具体步骤如下:
[0032] 步骤4-1 :签名人随机选择《e&,并计算0 = (a)am〇dp。同时,随机选择 并计算e的承诺^ 其中是指定验证方的公钥, SKV是其私钥,PKV不同于所有环成员的公钥yi(i= 1,2,…,n)。签名人将c发送给指定验 证方;
[0033] 步骤4-2 :指定验证方随机选取seZt/并发送给签名人;
[0034] 步骤4-3:收到挑战信息e后,签名人计算q=a+vemodq并发送给指定验 证人。接着,签名人公开0,T,供对方验证承诺c;
[0035]步骤 4-4:指定验证方检查两个等式c=gp (PKV)Ymodp,(a*)n = 0(b*)Emodp 是否成立,若成立,则确信被验证方是关于消息m真实签名人。
[0036] 对上述技术方案涉及的相关概念进行说明和解释:
[0037] 一、单向陷门函数(Trap-doorone-wayfunction)
[0038] 单向陷门函数是数字签名的基础,单向陷门函数ft (x) :D-R,是一个单向函数,即 对任意的xGD,容易计算匕〇〇,而对几乎所有R中的值,求逆困难。但是,如果知道陷门 信息t,则对所有的yGR,容易计算满足y=ft(x)的xGD;其中,单向陷门函数是公钥密 码的基础,ft(x)相当于对x加密,而陷门信息t则相当于私钥,用于解密ft(x)中的X,在没 有t的情况下,即没有私钥的情况下,解密(求逆)是困难的。公钥密码除了便于加解密, 也使得数字签名成为可能,两者都是基于单向陷门函数的。
[0039] 二、对于系统初始化中,选取大素数p,q,进而生成环成员公私钥对(Xl,yi),其中, 涉及DL(DiscreteLogarithm)困难问题假定,其定义为:给定素数q及有限域?(],8是< 的一个生成元,对于任意的,求解惟一的整数a<q,满足h=ga。
[0040] 有益效果:与现有技术相比,本发明的优点在于:设计了一种具有特殊性质的环 签名方案,该方案增加了身份确认功能,在身份确认过程中仅需签名人与验证方2次交互, 即可完成身份确认,操作简便,构造简洁、高效,且实现了身份验证范围的可控性。
【附图说明】
[0041] 图1是普通的Schnorr环签名方案流程图;
[0042] 图2是本发明的具备指定可验证性的Schnorr环签名方案流程图。
【具体实施方式】
[0043] 下面结合附图和【具体实施方式】,进一步阐明本发明。
[0044]如图1所示,为普通Schnorr环签名方案(Herranzetal, 2003),它包括系统初始 化、签名生成、签名验证3个步骤,本发明涉及的一种具备指定可验证性的Schnorr环签名 方案是在其基础上增加了身份确认的步骤,如图2所示,该方案包括系统初始化模块、签名 模块、验证模块和确认模块;该方案选择生成签名和验证签名的系统参数,并生成环成员 公私钥;成员利用私钥对消息进行签名;验证者根据系统公开参数和所有环成员公钥对消 息签名进行验证;签名人利用指定验证人公钥发起交互式证明协议,通过此过程指定验证 人可确认对方是否是真实签名人。
[0045]由图2给出本发明各个模块执行的具体操作步骤:
[0046] 步骤1,首先系统选取大素数p,q使得q|p_l,且q> 2k,其中k是方案
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1