首页> 中国专利> 一种格上基于身份的部分盲签名方法

一种格上基于身份的部分盲签名方法

摘要

本发明涉及一种格上基于身份的部分盲签名方法,包括如下步骤:1)私有密钥生成器PKG(private key generator),以安全参数λ作为输入,使用陷门生成算法TrapGen(1

著录项

  • 公开/公告号CN107332665A

    专利类型发明专利

  • 公开/公告日2017-11-07

    原文格式PDF

  • 申请/专利权人 河南理工大学;

    申请/专利号CN201710544491.X

  • 申请日2017-07-06

  • 分类号

  • 代理机构

  • 代理人

  • 地址 454000 河南省焦作市高新区世纪路2001号

  • 入库时间 2023-06-19 03:45:42

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-06-26

    授权

    授权

  • 2017-12-01

    实质审查的生效 IPC(主分类):H04L9/08 申请日:20170706

    实质审查的生效

  • 2017-11-07

    公开

    公开

说明书

技术领域

本发明涉及信息安全技术领域,具体为提出了一种格上基于身份的部分盲签名方法。

背景技术

目前,基于格的公钥密码体制是量子计算机不能攻破的少数经典公钥密码体制之一,且基于格的公钥密码体制还有其他优良特性,如平均情况与最差情况一样安全以及简单高效等,因而基于格的密码体制可以成为在量子时代保证信息安全的重要工具。

盲签名(BS,blind signature)是签名者和请求者之间的一个交互协议,能够让签名者在不知道待签消息的具体内容的情况下对消息进行签名,当盲签名公布后签名者也无法将签名过程与最终公布的签名联系起来。由于盲签名能够有效地保护签名请求者的隐私,因此盲签名在匿名投票选举系统、匿名电子现金系统等领域有着广泛的应用。但是在电子现金系统中,盲签名有比较严重的缺陷,例如,银行的数据库必须保存每个使用过的电子货币以防止货币被重复使用,这一点使得盲签名的签名数量成几何级数增加。另外,由于盲签名的匿名性容易造成恶意的请求者非法使用,使得一些违法行为如偷税漏税、黑市交易洗钱等难以监管。

为了解决盲签名的这些问题,1996年Abe和Fujisaki提出了部分盲签名(PBS,partially blind signature)的概念,部分盲签名是盲签名的一种扩展,允许为用户产生关于某个消息m的盲签名,但是签名中需嵌入一个由用户和签名者协商的声明信息c,c在整个签名过程中都是可见的。尤其在电子现金系统中,部分盲签名既可以保护签名请求者的隐私又能使得签名者对签名内容的部分可控性,很好地解决了盲签名在实际应用中的问题,并且部分盲签名在应用中比盲签名的效率更高,但目前还没有一个可证明安全的格上基于身份的部分盲签名方案。

发明内容

针对上述问题,本发明的目的是提供一种可证明安全的格上基于身份的部分盲签名方法,该方法建立的部分盲签名方案直接使用用户身份作为公钥,在选择消息和选择身份攻击下满足安全性,并且可抵抗量子计算机的攻击。

为实现上述目的,本发明采取以下技术方案,方案主要包括私钥生成中心PKG(private key generator),消息拥有者C,消息签名者S,消息验证者V,具体实施步骤为:

Setup:私有密钥生成器PKG以安全参数λ作为输入,使用陷门生成算法TrapGen(1λ)生成系统主密钥S0和相应的系统参数Param。公布系统参数Param,主密钥S0保密。

KeyGen:PKG输入自己的私钥S0,收到的签名者的身份信息ID,系统公共参数Param,使用矩阵采样算法SampleMat输出签名者身份ID对应的私钥SID

Issue:msg为待签名消息,info为签名者S和消息拥有者C共同协商的声明信息。S和C之间的签名交互如下:

(1)Sign(PartⅠ):S在分布中随机选择一个向量y,随机采样一个向量对然后由y、做计算得到(c1,c2),把结果(c1,c2)发送给C。

(2)Blind:C在收到S发来的(c1,c2)之后,对待签消息msg进行盲化。C计算盲化后的消息ε*,发送给S。

(3)Sign(PartⅡ):S收到ε*之后,使用自己的私钥SID,和拒绝采样定理计算盲化后的消息的签名,S输出盲化后消息ε*的签名并且发送给C。

(4)Unblind:C在收到S发来的消息签名之后,做去盲计算,输出消息(msg,info)的签名(z1,z212)。

Verify:验证者V收到消息和签名之后,使用公共参数Param和S的公钥,都可以通过一定的计算来验证,消息(msg,info)和签名(z1,z212)的正确性。

本发明具有以下优点和积极效果:

(1)安全性高

本发明是一种安全性很高的部分盲签名方法。其安全性可规约到格上的小整数解(SIS)困难问题,能够抵抗量子计算机的攻击,并且能够在选择消息攻击和选择身份攻击下满足不可伪造性。

(2)运算效率高

本方法使用矩阵采样算法计算用户身份信息对应的私钥,可以保证私钥的维度不变,在计算签名时能够有效的提高运算效率。本方法在计算签名时采用无陷门的签名算法,仅使用简单地线性运算(模乘,模加),与其他有陷门的签名方案相比明显运算效率有所提高。

附图说明

图1是一种格上基于身份的部分盲签名方法的流程图。

具体实施方式

以下结合实施例和附图对本发明作进一步描述。

本发明分为四个阶段:Setup(建立)阶段、KeyGen(密钥建立)阶段、Issue(发布)阶段、Verify(验证)阶段。方法中的包括3个密码学哈希函数:Hmsg:{0,1}*→{-1,0,1}k

Setup:私有密钥生成器PKG(private key generator),以安全参数λ作为输入,使用陷门生成算法TrapGen(1λ)生成矩阵和对应的短基其中为系统主密钥,A为系统公钥。

KeyGen:PKG使用自己的私钥S0,和收到的身份信息ID,还有系统公共参数Param={n,m,A,q,s,k,HID,Hmsg,Hinfo},其中s为采样标准差,使用矩阵采样算法SampleMat(A,S0,s,HID(ID))输出用户ID对应的私钥并且满足ASID=HID(ID),用户的公钥为HID(ID)。

Issue:msg为待签名消息,info为签名者S和消息拥有者C共同协商的声明信息。S和C之间的签名交互如下:

(1)Sign(PartⅠ):S在分布中随机选择一个向量y,随机采样一个向量对其中然后做如下计算:

c1=Aymodq

把(c1,c2)发送给C。

(2)Blind:C在收到S发来的(c1,c2)之后,对待签消息msg进行盲化。C在分布上随机采样两个向量β1,β2,在分布上随机采样两个向量α1,α2。做如下计算:

c′1=c1+Aα1-HID(ID)β1modq

c′2=c2+Aα2-Hinfo(info)β2modq

ε=Hmsg(c′1,c′2,Hinfo(info),msg)

ε*=(ε-β12)mod3

最后把ε*发送给S。

(3)Sign(PartⅡ):S收到ε*之后做如下计算:

S把发送给C,根据拒绝采样定理,发送成功的概率为如果发送失败,则重新计算再发送。

(4)Unblind:C在收到S发来的消息之后做如下计算:

并且验证:和如果成功则消息拥有者C输出消息(msg,info)的签名(z1,z212)。

Verify:验证者V收到消息和签名之后,使用公共参数Param和S的公钥HID(ID),进行如下验证:

12)mod3=Hmsg(Az1-HID(ID)ε1,Az2-Hinfo(info)ε2,Hinfo(info),msg)

如果成立则接受,不成立则拒绝。

本发明提出一种格上基于身份的部分盲签名方法,所提方法的优点在于:在安全性上,本方法的安全性基于格上SIS困难问题的难解性,可以抵抗量子计算机的攻击;效率方面,该方法采用矩阵采样算法计算用户身份信息对应的私钥,在计算签名时采用无陷门的签名算法,仅使用简单地线性运算(模乘,模加),因而生成的用户私钥更短,签名速度更快。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的人员都可以理解其原理,在不脱离本发明的原理的情况下可以对实施例进行多种变化、修改或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号