基于椭圆曲线的盲签名方法和装置制造方法及图纸

技术编号:10023057 阅读:129 留言:0更新日期:2014-05-09 06:36
本发明专利技术提供了一种基于椭圆曲线的盲签名方法和装置。该方法主要包括:发送用户随机选择盲化因子k∈Zq*,计算R=H1(m),S=kR,m为待签名信息中的一个任意长度0、1字符串,S为盲化后的消息,q为设定的大素数,Zq*表示1~(q-1)范围内的整数,H1是一个单向hash函数,Fp为从0到p-1的整数组成的域,p为设定的大素数,q是p+1的素因子;签名者用自己的私钥d对S进行签名,计算V’=dS=(dk)R,并将V’发送给接收用户;接收用户接收到V’后,计算V=k-1V’,V的横坐标x即为消息m的签名。本发明专利技术实施例的基于椭圆曲线的盲签名方法的盲签名消息长度仅仅为椭圆曲线点的横坐标,增加了系统运行的吞吐量,适合于带宽受限的通讯环境。

【技术实现步骤摘要】
基于椭圆曲线的盲签名方法和装置
本专利技术涉及通信
,尤其涉及一种基于椭圆曲线的盲签名方法和装置。
技术介绍
PKI(PublicKeyInfrastructure,公钥基础设施)技术能保证网络安全的四大需求,即机密性、真实性、完整性和不可抵赖性。PKI技术中所采用的非对称密码算法一般包括基于离散对数问题的RSA(RivestShamirAdleman)算法和DSA(DigitalSignatureAlgorithm,数字签名算法)算法,以及基于椭圆离散对数问题的ECC(EllipticCurvesCryptography,椭圆曲线密码)算法。ECC密码算法是1985年由Koblitz和Miller基于将椭圆曲线算术理论用于密码算法的想法,利用有限域上椭圆曲线的点构成的点群实现的离散对数密码算法。该密码算法分为两种情况:基于大素数域的椭圆曲线和基于特征2的椭圆曲线。ECC算法与RSA算法和DSA算法相比,具有安全性能高、计算量小,处理速度快、存储空间占用小等优点。ECC的这些特点使它必将取代RSA(DSA),成为新一代通用的公钥加密算法。比如,国家密码管理局制定的SM2算法就是中国自主知识产权的椭圆曲线密码算法标准。盲签名因为具有盲性这一特点,可以有效保护所签署消息的具体内容,所以在电子商务和电子选举等领域有着广泛的应用。盲签名允许消息者先将消息盲化,而后让签名者对盲化的消息进行签名,最后消息拥有者对签名信息除去盲因子,得到签名者关于原消息的签名。盲签名就是接收者在不让签名者获取所签署消息具体内容的情况下所采取的一种特殊的数字签名技术,它除了满足一般的数字签名条件外,还必须满足下面的两条性质:1.签名者对其所签署的消息是不可见的,即签名者不知道他所签署消息的具体内容。2.签名消息不可追踪,即当签名消息被公布后,签名者无法知道这是他哪次签署的。基于椭圆曲线的盲签名方法是近年来国内外密码研究的重要分支,目前,现有技术中还没有有效的基于椭圆曲线的盲签名方法。
技术实现思路
本专利技术的实施例提供了一种基于椭圆曲线的盲签名方法和装置,以实现缩短签名消息长度。一种基于椭圆曲线的盲签名方法,包括:发送用户随机选择盲化因子k∈Zq*,计算R=H1(m),S=kR,所述m为待签名信息中的一个任意长度0、1字符串m,所述S为盲化后的消息,所述q为设定的大素数,所述Zq*表示1~(q-1)范围内的整数,所述H1是一个单向hash函数,把m映射到G1上椭圆曲线E的一个点,所述G1是Fp上的椭圆曲线E加法群的一个阶为q的子群,所述Fp为从0到p-1的整数组成的域,所述p为设定的大素数,且所述q是p+1的素因子;签名者用自己的私钥d对S进行签名,计算V’=dS=dkR,并将V’发送给所述接收用户;所述接收用户接收到所述V’后,计算V=k-1V’,V的横坐标x即为消息m的签名。一种基于椭圆曲线的盲签名装置,包括:消息盲化处理模块,用于通过发送用户随机选择盲化因子k∈Zq*,计算R=H1(m),S=kR,所述m为待签名信息中的一个任意长度0、1字符串m,所述S为盲化后的消息,所述q为设定的大素数,所述Zq*表示1~(q-1)范围内的整数,所述H1是一个单向hash函数,把m映射到G1上椭圆曲线E的一个点,所述G1是Fp上的椭圆曲线E加法群的一个阶为q的子群,所述Fp为从0到p-1的整数组成的域,所述p为设定的大素数,且所述q是p+1的素因子;签名处理模块,用于用签名者的私钥d对S进行签名,计算V’=dS=dkR,并将V’发送给所述接收用户;签名计算模块,用于通过接收用户计算V=k-1V’,V的横坐标x即为消息m的签名。由上述本专利技术的实施例提供的技术方案可以看出,本专利技术实施例的基于椭圆曲线的盲签名方法的盲签名消息长度仅仅为椭圆曲线点的横坐标,短于现有椭圆曲线盲签名方法的签名消息长度,增加了系统运行的吞吐量,适合于带宽受限的通讯环境。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例一提供的一种基于椭圆曲线的盲签名方法的处理流程图;图2为本专利技术实施例一提供的一种盲签名处理的具体过程示意图;图3为本专利技术实施例二提供的一种基于椭圆曲线的盲签名装置的具体结构图。具体实施方式为便于对本专利技术实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本专利技术实施例的限定。实施例一该实施例提供的一种基于椭圆曲线的盲签名方法的处理流程如图1所示,包括如下的处理步骤:步骤11:选定G1、G2、p、q,得到G1的生成元P,双线性配对选定G1、G2为两个阶为q的群,p、q为两个大素数(其中p至少为512比特位,q至少为160比特位),且q是p+1的素因子,q的比特位数用n表示。G1是Fp上的椭圆曲线E加法群的一个子群,上述Fp表示从0到p-1的整数组成的域,上述椭圆曲线E可以形如:y2=f(x)的形式,G2是域上的一个乘法群,其中是由Fp二次扩张得到的,形如Fp[x]/f,Fp[x]是Fp上的多项式环,f是一个二次不可化约多项式。P为G1的生成元,即q*P=O,“O”是无穷远点。为一个双线性映射,该双线性配对是一个从集合G1×G1到集合G2的一个映射,该映射具有如下性质:双线性:对于任意g1,g2∈G1和任意的整数a,b∈Zp*,有非退化性:存在g1,g2∈G1使得可计算性:对任意的g1,g2∈G1,都可以快速地计算的值。步骤12、选择安全的哈希函数H1;H1:{0,1}*→G1,H1是一个单向hash函数,同时这个函数是安全的,它把需要签名信息的一个任意长度0、1字符串映射到G1上椭圆曲线E的一个点。安全哈希函数即指由明文的哈希值不能够反推出明文信息,G1是椭圆曲线E上所有点的集合。步骤13、CA(CertificateAuthority,认证中心)中心向用户和签名者公开系统参数,具体来说,可以选择Fp上的超奇异曲线作为上述椭圆曲线E,曲线的阶#E(Fp)=p+1,选取p为1024位的大素数:p=0xEB348F4B648412EAB3CE675E03B3AF14D434DFE4C6BC54291DD300DBDBA1BFDACB0D7CFEE20185398A64748E3CB8E25EAADF8612D1881FC808A749E661703A734C22EF62112B3A109A0CB86CEB1A2324B81837CA56C52EE75EDB37907E73B7FDF52F1BD333B16A0167D8116BD29B1939E3F3607E4B581BFE3D25969470A88D1B;选取q为256位的大素数:q=0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF;协因子:cof=0xEB348F4C4FB8A23618527A47CC4D8726882FECC2976A2A78DD549C5C0939B77本文档来自技高网
...
基于椭圆曲线的盲签名方法和装置

【技术保护点】

【技术特征摘要】
1.一种基于椭圆曲线的盲签名方法,其特征在于,包括:发送用户随机选择盲化因子k∈Zq*,计算R=H1(m),S=kR,m为待签名信息中的一个任意长度0、1字符串m,所述S为盲化后的消息,q为设定的大素数,所述Zq*表示1~(q-1)范围内的整数,所述H1是一个单向hash函数,把m映射到G1上椭圆曲线E的一个点,所述G1是Fp上的椭圆曲线E加法群的一个阶为q的子群,所述Fp为从0到p-1的整数组成的域,所述p为设定的大素数,且所述q是p+1的素因子;签名者用自己的私钥d对S进行签名,计算V’=dS=dkR,并将V’发送给接收用户;所述接收用户接收到所述V’后,计算V=k-1V’,V的横坐标x即为消息m的签名。2.根据权利要求1所述的基于椭圆曲线的盲签名方法,其特征在于,所述计算R=H1(m)包括:步骤1、给定需要签名信息的一个任意长度字符串M∈{0,1}*,设定i为变量,i←0;步骤2、设定(x,b)←sha-1(i||M),这里x是计算的横坐标,b是确定纵坐标的二进制比特位,符号“←”表示赋值的意思,将“←”右边的值赋值给“←”左边的变量;sha-1是一种哈希杂凑函数,是一种密码算法;i||M是将i和M联接起来作为输入变量,求哈希;步骤3、根据椭圆曲线方程y2=f(x),及x横坐标,计算得到两个平方根y值y0和y1,确定G1上的点PM’(x,yb);步骤4、计算PM=cof*PM’,所述cof为设定的协因子,若PM≠0,即输出与M对应的G1上的点PM作为H1(m);否则,将变量i自加1,重新执行所述步骤2、3和4。3.根据权利要求1所述的基于椭圆曲线的盲签名方法,其特征在于,所述签名者收到所述盲化后的消息S之前还包括:所述签名者在本地产生不超过q的随机数d作为自己的私钥,计算出自己的公钥Q=dP,并将Q传给CA中心,CA中心将所述公钥Q发送给所述接收用户,所述P为所述G1的生成元。4.根据权利要求3所述的基于椭圆曲线的盲签名方法,其特征在于,所述的方法还包括:计算R=H1(m);计算为一个双线性映射,是一个从集合(G1×G1)到集合G2的一个映射,G2表示阶为一个大素数的乘法循环群;根据横坐标x计算得到曲线E上的点V1;计算若g2=g1或g2=g1-1,验证通过;否则验证失败。5.一种基于椭圆曲线的盲签名装置,其...

【专利技术属性】
技术研发人员:张庆胜苏斌王永宝
申请(专利权)人:航天信息股份有限公司
类型:发明
国别省市:

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

1