盲签名方法和盲签名系统与流程

文档序号:17689140发布日期:2019-05-17 20:53阅读:2361来源:国知局
盲签名方法和盲签名系统与流程

本发明涉及忙签名领域,具体涉及一种盲签名方法和盲签名系统。



背景技术:

伴随着电子商务的发展,越来越多的电子交易在网上完成,需要处理的数据量非常庞大,这对于签名者而言是异常大的压力,同时也对用户忍耐性是一个非常大的考验。因此,为保证数字信息的可验证性和不可抵赖性,盲签名是一种有效的工具。盲签名不仅可以用来保护用户的信息,同时能够保证数据的可验证性,是电子交易中最常用的工具。

但相关技术中签名机构逐个进行盲签名,导致盲签名效率低。



技术实现要素:

本发明旨在至少解决上述技术问题之一。

为此,本发明的第一个目的在于提出一种盲签名方法。

本发明的第二个目的在于提出一种盲签名系统。

为了实现上述目的,本发明的实施例公开了一种盲签名方法,包括以下步骤:S1:可信任权威机构选择素数p和q,且满足q|(p-1),输出一个阶数为素数q的群Zp*;S2:所述可信任权威机构随机选择群Zp*中的两个生成元g1,g2,域Zq中的三个随机元素s1,s2,t;S3:计算v=g1-s1*g2-s2mod p,公钥表示为:(g1,g2,p,q,t,v);私钥表示为:(s1,s2);S4:根据签名的信息量,选择批的大小n;S5:盲签名者对于第i个要签名的消息选择随机数r(i,1),r(i,2),利用SDR算法进行重新编码,接着利用并行批处理指数运算乘积算法计算客户对于第i个要签名的消息选择随机数u(i,1),u(i,2),利用SDR算法进行重新编码,利用并行批处理指数运算乘积算法计算

ei*=H(xi*,mi),选择随机数di,计算ei=ei*+di结果反馈给盲签名者,盲签名者对于反馈回来的消息利用密钥进行签名,客户端对签名进行脱盲的处理;S6:在批验证的过程中,当验证者得到n个不同的消息签名对,所述验证者通过并行批处理指数运算乘积算法求得结果进行验证。

根据本发明实施例的盲签名方法,本体制签名n个消息需与一般的批处理指数运算乘积相比,节省了大约25%的计算量,对于终端设备进行信息处理有了很大程度上的帮助,有效的缓解了计算上的压力;将繁重的签名验证任务进行了批处理,在验证的过程中采用批验证的方法对n个签名进行同时验证,有效的节省了计算时间,只需要花费普通方法的大约70%的时间、效率高。

另外,根据本发明上述实施例的盲签名方法,还可以具有如下附加的技术特征:

进一步地,随机选择域中元素的随机数生成函数从Pairing-Based Cryptosystems函数包中调用库函数运行。

为了实现上述目的,本发明的实施例公开了一种盲签名系统,包括:系统初始化模块,所述系统初始化模块用于通过可信任权威机构选择素数p和q,且满足q|(p-1),输出一个阶数为素数q的群Zp*,然后通过所述可信任权威机构随机选择群Zp*中的两个生成元g1,g2,域Zq中的三个随机元素s1,s2,t,所述可信任权威机构计算v=g1-s1*g2-s2mod p,公钥表示为:(g1,g2,p,q,t,v);私钥表示为:(s1,s2);数据批处理模块,所述数据批处理模块用于根据签名的信息量,选择批的大小n,所述批处理模块还用于盲签名者对于第i个要签名的消息选择随机数r(i,1),r(i,2),利用SDR算法进行重新编码,接着利用并行批处理指数运算乘积算法计算客户对于第i个要签名的消息选择随机数u(i,1),u(i,2),利用SDR算法进行重新编码,利用并行批处理指数运算乘积算法计算

ei*=H(xi*,mi),选择随机数di,计算ei=ei*+di结果反馈给盲签名者,盲签名者对于反馈回来的消息利用密钥进行签名,客户端对签名进行脱盲的处理;数据批验证模块,所述数据批验证模块用于对在批验证的过程中,当验证者得到n个不同的消息签名对,所述验证者通过并行批处理指数运算乘积算法求得结果进行验证。

根据本发明实施例的盲签名系统,本体制签名n个消息需与一般的批处理指数运算乘积相比,节省了大约25%的计算量,对于终端设备进行信息处理有了很大程度上的帮助,有效的缓解了计算上的压力;将繁重的签名验证任务进行了批处理,在验证的过程中采用批验证的方法对n个签名进行同时验证,有效的节省了计算时间,只需要花费普通方法的大约70%的时间、效率高。

另外,根据本发明上述实施例的盲签名系统,还可以具有如下附加的技术特征:

进一步地,所述系统初始化模块还用于随机选择域中元素的随机数生成函数从Pairing-Based Cryptosystems函数包中调用库函数运行。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1是本发明一个实施例的盲签名方法的流程图;

图2是本发明一个实施例的忙签名系统的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。

以下结合附图描述根据本发明实施例的盲签名方法。

图1是本发明一个实施例的盲签名方法的流程图。请参考图1,一种盲签名方法,包括以下步骤:

S1:可信任权威机构运行初始化算法,选择素数p和q,且满足q|(p-1),输出一个阶数为素数q的群Zp*。其中,在步骤S1中的“算法”,其运行方法如下:可信任权威机构输入系统安全参数,系统根据的大小,选择相应的群。一般,安全参数数值越大,所选择的群也越大。

S2:所述可信任权威机构运行随机数生成算法,随机选择群Zp*中的两个生成元g1,g2,域Zq中的三个随机元素s1,s2,t。其中,步骤S2中所述的“随机数生成算法”,随机选择域中元素的随机数生成函数可以从Pairing-Based Cryptosystems函数包中调用库函数运行。下文中提到的随机数生成算法皆按上述方法运行。

S3:计算v=g1-s1*g2-s2mod p,公钥表示为:(g1,g2,p,q,t,v);私钥表示为:(s1,s2)。

S4:根据签名的信息量,选择批的大小n。其中,步骤S4中批的大小n越大,那么节省的计算量越大,但是批的大小的选择应该根据某一时刻通信量的多少决定。

S5:盲签名者对于第i个要签名的消息选择随机数r(i,1),r(i,2),利用SDR算法进行重新编码,接着利用并行批处理指数运算乘积算法计算客户对于第i个要签名的消息选择随机数u(i,1),u(i,2),利用SDR算法进行重新编码,利用并行批处理指数运算乘积算法计算

ei*=H(xi*,mi),选择随机数di,计算ei=ei*+di结果反馈给盲签名者,盲签名者对于反馈回来的消息利用密钥进行签名,客户端对签名进行脱盲的处理。其中,步骤S5当中采用的并行批处理指数运算乘积算法利用了n个签名计算过程当中底数相同,平方一次可以使用多次的特点,且对于g1,g2都需要不断进行平方,因此将次平方过程合并。与椭圆曲线上基本批处理指数运算相比,很大程度的减少了乘法的运算次数,也因此节省了计算时间,提高了效率。

S6:在批验证的过程中,当验证者得到n个不同的消息签名对,所述验证者通过并行批处理指数运算乘积算法求得结果进行验证。

以下结合附图描述根据本发明实施例的盲签名系统。

图2是本发明一个实施例的盲签名系统的结构示意图。请参考图2,一种盲签名系统,包括:系统初始化模块210、数据批处理模块220和数据批验证模块230。

具体地,系统初始化模块210用于通过可信任权威机构选择素数p和q,且满足q|(p-1),输出一个阶数为素数q的群Zp*,可信任权威机构输入系统安全参数,系统根据的大小,选择相应的群。一般,安全参数数值越大,所选择的群也越大。然后通过所述可信任权威机构随机选择群Zp*中的两个生成元g1,g2,域Zq中的三个随机元素s1,s2,t。其中,随机选择域中元素的随机数生成函数可以从Pairing-Based Cryptosystems函数包中调用库函数运行。下文中提到的随机数生成算法皆按上述方法运行。所述可信任权威机构计算v=g1-s1*g2-s2mod p,公钥表示为:(g1,g2,p,q,t,v);私钥表示为:(s1,s2)。

数据批处理模块220用于根据签名的信息量,选择批的大小n。批的大小n越大,那么节省的计算量越大,但是批的大小的选择应该根据某一时刻通信量的多少决定。批处理模块还用于盲签名者对于第i个要签名的消息选择随机数r(i,1),r(i,2),利用SDR算法进行重新编码,接着利用并行批处理指数运算乘积算法计算客户对于第i个要签名的消息选择随机数u(i,1),u(i,2),利用SDR算法进行重新编码,利用并行批处理指数运算乘积算法计算

ei*=H(xi*,mi),选择随机数di,计算ei=ei*+di结果反馈给盲签名者,盲签名者对于反馈回来的消息利用密钥进行签名,客户端对签名进行脱盲的处理。并行批处理指数运算乘积算法利用了n个签名计算过程当中底数相同,平方一次可以使用多次的特点,且对于g1,g2都需要不断进行平方,因此将次平方过程合并。与椭圆曲线上基本批处理指数运算相比,很大程度的减少了乘法的运算次数,也因此节省了计算时间,提高了效率。

数据批验证模块230用于对在批验证的过程中,当验证者得到n个不同的消息签名对,验证者通过并行批处理指数运算乘积算法求得结果进行验证。

另外,本发明实施例的忙签名方法和盲签名系统的其它构成以及作用对于本领域的技术人员而言都是已知的,为了减少冗余,不做赘述。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同限定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1