首页 / 专利库 / 专利权 / 申请 / 国际申请 / 请求书 / 指定 / 一种具备指定可撤销性的Schnorr环签名方法

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

阅读:1013发布:2020-06-16

专利汇可以提供一种具备指定可撤销性的Schnorr环签名方法专利检索,专利查询,专利分析的服务。并且本 发明 提出了一种具备 指定 可撤销性的Schnorr环签名方法。所述方法中,系统选择生成签名和验证签名的系统参数,并生成环成员公私钥;成员利用私钥对消息进行签名;验证者根据系统公开参数和所有环成员公钥对消息签名进行验证;签名人利用指定验证人公钥发起交互式证明协议,通过该证明协议过程指定验证人可确认对方是否是真实签名人。该方法构造简洁、高效,增强了环签名方案的适用性,且实现了身份验证范围的可控,尤其适合用于匿名举报--事后奖励的应用场景。,下面是一种具备指定可撤销性的Schnorr环签名方法专利的具体信息内容。

1.一种具备指定可撤销性的Schnorr环签名方法,其特征在于,所述方法包括系统参数及密钥生成步骤、签名步骤、验证步骤、身份确认步骤四个部分;所述系统参数及密钥生成步骤中,系统选择生成签名和验证签名的系统参数,并生成环成员公私钥;所述签名步骤中,成员利用私钥对消息进行签名;所述验证步骤中,验证者根据公开的系统参数和所有环成员公钥对消息签名进行验证;所述身份确认步骤中,签名人利用指定验证人公钥发起交互式证明协议,通过该证明协议过程指定验证人可确认对方是否是真实签名人;各步骤具体如下:
A.系统参数及密钥生成步骤
k
首先系统选取两个大素数p,q,q使得q|(p-1),且q>2,其中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}执行以下步骤:
* a * * v
步骤1:随机选取 并计算a=h mod p,b=(a )mod p;
步骤2:随机选取 并计算U=(a*)u mod p,θ=u+vF(m||a*,U)mod q;
步骤3:将a+v分成n个片段;具体的,成员Is为其余环成员Ii,i≠s分别选取1个随机元素 并确定自身的片段
步骤4:对所有i≠s,计算
步骤5:计算
步骤6:计算
步骤7:对消息m的签名是(m,R1,…,Rn,σ,a*,b*,U,θ);
C.验证步骤
对于给定的消息m和相应的签名,验证者首先检测关键参数a*,b*是否按要求生成,接着再验证签名的有效性;具体操作步骤如下:
步骤8:检查等式 是否成立;若成立,则执行下一步;反之则
签名无效;
步骤9:对所有1≤i≤n,计算hi=H(m,Ri);
步骤10:检查等式 是否成立;若成立,则签名有
效;反之则签名无效;
D.身份确认步骤
真实签名人可通过以下交互式证明协议,使其指定的验证方确信他的身份,即向对方* *
证明他知道以a为底,b 的对数;具体步骤如下:
* α
步骤11:签名人随机选择 并计算β=(a) mod p;同时,随机选择 并
计算β的承诺 其中 是指定验证方的公钥,SKv是其私
钥,PKv不同于生成签名的所有公钥yi;签名人将c发送给指定验证方;
步骤12:指定验证方随机选取 并发送给签名人;
步骤13:收到挑战信息ε后,签名人计算η=α+vεmod q并发送给指定验证人;接着,签名人公开β,γ,供对方验证承诺c;
步骤14:指定验证方检查两个等式c=gβ(PKv)γmod p,(a*)η=β(b*)εmod p是否成立;若成立,则确信被验证方是关于消息m真实签名人。

说明书全文

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

技术领域

[0001] 本发明涉及一种数字签名技术,属于信息安全技术领域,具体指的是一种具备指定可撤销性的Schnorr环签名方法。

背景技术

[0002] 出于公平、公正以及保护用户隐私的动机,越来越多的应用场合开始关注匿名性。环签名作为一种新型的匿名签名技术,是Rivest等人于2001年在“安全泄露秘密”的背景下提出的。它是一种特殊的面向群体的签名,不需要群的建立过程,没有群管理员,签名者只需随意选取一部分成员公钥(用于隐藏签名者身份),再通过自己的私钥生成一个签名,这样减少了很多复杂的交互证明过程。环签名的最大特点是签名者具有无条件匿名性,即使攻击者拥有无限的计算能,也无法追踪签名人的身份,且签名过程易于高效实现。因此,它在匿名电子选举、电子货币系统、自组织网络通信以及安全多方计算中都有广泛的应用。
[0003] 环签名是一种匿名技术,然而在有些情况下需要撤销其匿名性。比如在某些场合,要给泄密者(签名人)颁奖,需要真实签名人证明其身份。鉴于此问题,Lv等人于2003年提出了基于双离散对数的可验证环签名方案。2004年,GAN等人在下信道中嵌入认证信息,也实现了环签名的可验证。但前者大大增加了签名的复杂度,后者的实现成本较高。另外,还有人提出可转换的环签名方案。如果真实签名人需要证实其身份,他可通过泄露有关环签名的秘密信息将环签名转换为普通签名,但如此一来任何验证者都可获得其身份信息,身份暴露的范围将不可控。
[0004] 下面首先对相关概念进行说明:
[0005] 1.单向陷函数(Trap-door oneway function)
[0006] 单向陷门函数ft(x):D→R,是一个单向函数,即对任意的x∈D,容易计算,而对几乎所有R中的值,求逆困难。但是,如果知道陷门信息t,则对所有的y∈R,容易计算满足y=ft(x)的x∈D。
[0007] 2.DL(Discrete Logarithm)困难问题假定
[0008] 定义1给定素数q及有限域Fq,g是 的一个生成元,对于任意的 求解惟一的整数a
[0009] 本发明中方案的安全性是基于单向函数的性质和DL问题的难解性。下面将说明方案基于的Schnorr环签名。
[0010] 首先给出Schnorr环签名的简单流程图,图1。
[0011] Schnorr环签名方案具备系统参数及密钥生成模、签名模块、验证模块。
[0012] 1.系统参数及密钥生成模块
[0013] 首先系统选取大素数p,q使得q|p-1,且q≥2k,其中k是方案的安全参数。选取 中的q阶生成元g,以及抗碰撞的散列函数 令所有环成员为I1,I2,…,In,每个成员Ii选取其私钥 则相应的公钥为
[0014] 综上所述,系统的公开参数为params=(p,q,g,H),环成员的公私钥集合为{(xi,yi)i=1,2,…,n}。
[0015] 2.签名模块
[0016] 为了生成消息m的签名,真实签名人Is,s∈{1,2,…,n}执行以下步骤:
[0017] 对所有i∈{1,2,…,n},i≠s,在 中随机选择两两不同的ai,并计算i≠s;另随机选择a∈Zq,并计算 若Rs=1或Rs=Ri(i≠s),则重新选择a;计算 则消息m的环签名为
(m,R1,R2,…,Rn,h1,h2,…,hn,σ),其中hi=H(m,Ri),1≤i≤n。注:(h1,h2,…,hn)可由签名中其余部分求得,故不必出现在最终签名中。
[0018] 3.验证模块
[0019] 验证者计算hi=H(m,Ri),并验证等式 是否成立。成立,则签名有效;反之,签名无效。

发明内容

[0020] 本发明针对上述技术问题,针对已有同类方案存在的缺陷,根据匿名举报--事后奖励的应用需求,提出一种具备指定可撤销性的Schnorr环签名方法,该方法基于Schnorr环签名,结合指定确认者签名和指定验证者证明,具有签名确认过程,使得签名人可向指定的验证方证实其身份,且验证方不能向其他人证明签名人的身份;在随机预言机模型下具有无条件匿名性,不可伪造性和不可传递性;在效率和功能性上均有显著提高,构造简洁、高效。
[0021] 本发明为解决上述技术问题,采用如下技术方案:
[0022] 一种具备指定可撤销性的Schnorr环签名方法,所述方法包括系统参数及密钥生成模块、签名模块、验证模块、身份确认模块四个部分;所述系统参数及密钥生成模块中,系统选择生成签名和验证签名的系统参数,并生成环成员公私钥;所述签名模块中,成员利用私钥对消息进行签名;所述验证模块中,验证者根据公开的系统参数和所有环成员公钥对消息签名进行验证;所述身份确认模块中,签名人利用指定验证人公钥发起交互式证明协议,通过该证明协议过程指定验证人可确认对方是否是真实签名人;各模块及具体操作步骤如下:
[0023] A.系统参数及密钥生成模块
[0024] 首先系统选取两个大素数p,q,q使得q|p-1,且q≥2k,其中k是预先设定的方案安全参数;选取 中的两个q阶生成元g,h,以及抗碰撞的散列函数带加密的散列函数F();令所有环成员为I1,I2,…,In,每个成员Ii选取其私钥 则相应的公钥为 n为环成员数;
[0025] 则,系统的公开参数为params=(p,q,g,h,H,F),环成员的公私钥集合为{(xi,yi)i=1,2,…,n};
[0026] B.签名模块
[0027] 为了生成消息m的签名,真实签名人Is,s∈{1,2,…,n}执行以下步骤:* a * * v
[0028] 步骤1:随机选取 并计算a=hmodp,b=(a)modp;
[0029] 步骤2:随机选取 并计算U=(a*)umodp,θ=u+vF(m||a*,U)modq;
[0030] 步骤3:将a+v分成n个片段;具体的,成员Is为其余环成员Ii(i≠s)分别选取1个随机元素 并确定自身的片段
[0031] 步骤4:对所有i≠s,计算
[0032] 步骤5:计算
[0033] 步骤6:计算
[0034] 步骤7:对消息m的签名是(m,R1,…,Rn,σ,a*,b*,U,θ);
[0035] C.验证模块
[0036] 对于给定的消息m和相应的签名,验证者首先检测关键参数a*,b*是否按要求生成,接着再验证签名的有效性;具体操作步骤如下:
[0037] 步骤8:检查等式(a*)θ=U(b*)F(m||a*,U)modp是否成立;若成立,则执行下一步;反之则签名无效;
[0038] 步骤9:对所有1≤i≤n,计算hi=H(m,Ri);
[0039] 步骤10:检查等式 是否成立;若成立,则签名有效;反之则签名无效;
[0040] D.身份确认
[0041] 真实签名人可通过以下交互式证明协议,使其指定的验证方确信他的身份,即向* *对方证明他知道以a为底,b 的对数;具体步骤如下:
[0042] 步骤11:签名人随机选择 并计算β=(a*)αmodp;同时,随机选择 并计算β的承诺 其中 是指定验证方的公钥,SKv是其私钥,PKv不同于生成签名的所有公钥yi;签名人将c发送给指定验证方;
[0043] 步骤12:指定验证方随机选取 并发送给签名人;
[0044] 步骤13:收到挑战信息ε后,签名人计算η=α+vεmodq并发送给指定验证人;接着,签名人公开β,γ,供对方验证承诺c;
[0045] 步骤14:指定验证方检查两个等式c=gβ(PKv)γmodp,(a*)η=β(b*)εmodp是否成立;若成立,则确信被验证方是关于消息m真实签名人。
[0046] 有益效果:
[0047] 本发明提出了一种具备指定可撤销性的Schnorr环签名方法。所述方法中,系统选择生成签名和验证签名的系统参数,并生成环成员公私钥;成员利用私钥对消息进行签名;验证者根据系统公开参数和所有环成员公钥对消息签名进行验证;签名人利用指定验证人公钥发起交互式证明协议,通过该证明协议过程指定验证人可确认对方是否是真实签名人。该方法构造简洁、高效,增强了环签名方案的适用性,且实现了身份验证范围的可控,尤其适合用于匿名举报--事后奖励的应用场景。附图说明:
[0048] 图1是普通的Schnorr环签名方案流程图;
[0049] 图2是本发明的具备指定可撤销性的Schnorr环签名方法流程图。具体实施方式:
[0050] 下面结合附图,进一步具体说明本发明一种具备指定可撤销性的Schnorr环签名方法的技术方案。
[0051] 本发明包括如下步骤:选择生成签名和验证签名的系统参数,并生成环成员公私钥;成员利用私钥对消息进行签名;验证者根据系统公开参数和所有环成员公钥对消息签名进行验证;签名人利用指定验证人公钥发起交互式证明协议,通过此过程指定验证人可确认对方是否是真实签名人。
[0052] 由图2,给出本发明各个模块进行的具体操作步骤:
[0053] E.系统参数及密钥生成模块
[0054] 首先系统选取两个大素数p,q,q使得q|p-1,且q≥2k,其中k是预先设定的方案安全参数;选取 中的两个q阶生成元g,h,以及抗碰撞的散列函数带加密的散列函数F();令所有环成员为I1,I2,…,In,每个成员Ii选取其私钥 则相应的公钥为 n为环成员数;则,系统的公开参数为
params=(p,q,g,h,H,F),环成员的公私钥集合为{(xi,yi)i=1,2,…,n};
[0055] F.签名模块
[0056] 为了生成消息m的签名,真实签名人Is,s∈{1,2,…,n}执行以下步骤:
[0057] 步骤1:随机选取 并计算a*=hamodp,b*=(a*)vmodp;
[0058] 步骤2:随机选取 并计算U=(a*)umodp,θ=u+vF(m||a*,U)modq;
[0059] 步骤3:将a+v分成n个片段;具体的,成员Is为其余环成员Ii(i≠s)分别选取1个随机元素 并确定自身的片段
[0060] 步骤4:对所有i≠s,计算
[0061] 步骤5:计算
[0062] 步骤6:计算
[0063] 步骤7:对消息m的签名是(m,R1,…,Rn,σ,a*,b*,U,θ);
[0064] G.验证模块
[0065] 对于给定的消息m和相应的签名,验证者首先检测关键参数a*,b*是否按要求生成,接着再验证签名的有效性;具体操作步骤如下:
[0066] 步骤8:检查等式(a*)θ=U(b*)F(m||a*,U)modp是否成立;若成立,则执行下一步;反之则签名无效;
[0067] 步骤9:对所有1≤i≤n,计算hi=H(m,Ri);
[0068] 步骤10:检查等式 是否成立;若成立,则签名有效;反之则签名无效;
[0069] H.身份确认
[0070] 真实签名人可通过以下交互式证明协议,使其指定的验证方确信他的身份,即向* *对方证明他知道以a为底,b 的对数;具体步骤如下:
* α
[0071] 步骤11:签名人随机选择 并计算β=(a) modp;同时,随机选择 并计算β的承诺 其中 是指定验证方的公钥,SKv是其私钥,PKv不同于生成签名的所有公钥yi;签名人将c发送给指定验证方;
[0072] 步骤12:指定验证方随机选取 并发送给签名人;
[0073] 步骤13:收到挑战信息ε后,签名人计算η=α+vεmodq并发送给指定验证人;接着,签名人公开β,γ,供对方验证承诺c;
β γ * η * ε
[0074] 步骤14:指定验证方检查两个等式c=g (PKv) modp,(a) =β(b) modp是否成立;若成立,则确信被验证方是关于消息m真实签名人。
[0075] 方法比较
[0076] 本发明较之普通的Schnorr环签名方案,增加了身份确认功能。验证方仅需与签名人进行1次交互,即可确认对方是否是真实签名人。与同类的可验证环签名方案相比,本发明的构造简洁、高效,并实现了身份验证范围的可控。
[0077] 下面将对本发明的环签名方案应用于企业中的情形进行说明。
[0078] 依照本发明的步骤,当政府部门或大型企业应用本发明的签名系统时,如某一职员发现领导、上司的贪腐或失职行为,他可利用部门内部所有员工的公钥生成环签名,将举报信息公之于众或向更高的上级反映。由于公钥信息均来自部门内部,验证者(举报信息接收者)可确信消息来源,但无法确认举报者身份。举报信息一经查实,有关部门希望对举报给予奖励,此时该职员可通过“身份确认”功能,向具体负责人证实其身份。由于该过程的不可传递性,验证方无法散播举报人的身份信息,避免了被举报人及其同党可能实施的报复行为。
[0079] 所以,本发明带来的有益效果是:增强了环签名方案的适用性,尤其适用于匿名举报--事后奖励的应用场景。
[0080] 对该技术领域的普通技术人员而言,根据以上实施类型可以很容易联想其他的优点和变形。因此,本发明并不局限于上述具体实例,其仅仅作为例子对本发明的一种形态进行详细、示范性的说明。在不背离本发明宗旨的范围内,本领域普通技术人员根据上述具体实例通过各种等同替换所得到的技术方案,均应包含在本发明的权利要求范围及其等同范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈