[发明专利]一种可刺穿的数字签名方法有效
| 申请号: | 201910279881.8 | 申请日: | 2019-04-08 |
| 公开(公告)号: | CN110034936B | 公开(公告)日: | 2021-04-30 |
| 发明(设计)人: | 徐静;李新宇;张振峰 | 申请(专利权)人: | 中国科学院软件研究所 |
| 主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/08 |
| 代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 陈艳 |
| 地址: | 100190 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 刺穿 数字签名 方法 | ||
1.一种可刺穿的数字签名方法,其特征在于,包括以下步骤:
利用SM9算法产生双线性映射的参数,生成布隆过滤器实例,选取哈希函数,并利用主密钥为每个位置身份分发私钥;
根据消息m的预设定刺穿字段str,检查对应位置的私钥是否存在,检查对应位置的私钥是否存在的方法为:检测BF.Check({Hj}j∈[k],T,str)是否等于0,如果等于0,则存在私钥,私钥的对应位置为满足其中,BF.Check为布隆过滤器的检测算法,Hj为哈希函数,k为整数,T为数组;
如果存在,则随机选取一位置身份处的私钥,对消息m进行签名;
对刺穿字段str做刺穿,完成对当前私钥的更新;
利用公钥验证消息m的签名。
2.如权利要求1所述的方法,其特征在于,所述双线性映射的参数为(p,e,ψ,G1,G2,GT,P1,P2),其中,G1,G2和GT是三个阶均为素数p的群,P1和P2分别是G1和G2的生成元,存在G2到G1的同态映射ψ:G2→G1使得ψ(P2)=P1,双线性映射e:G1×G2→GT;该双线性映射e:G1×G2→GT满足如下条件:
双线性性:对任意的(P,Q)∈G1×G2和表示集合{1,...,p-1},有e(aP,bQ)=e(P,Q)ab;
非退化性:e(P1,P2)≠1;
可计算性:对任意的(P,Q)∈G1×G2,存在有效的算法计算e(P,Q)。
3.如权利要求2所述的方法,其特征在于,运行({Hj}j∈[k],T)←Gen(l,k)生成布隆过滤器BF=(BF.Gen,BF.Update,BF.Check)实例,选取哈希函数和其中l和k为整数,Hj为哈希函数,T为一个l比特的数组,N为自然数集合,Gen为参数生成算法,Update为更新算法,Check为检测算法。
4.如权利要求3所述的方法,其特征在于,所述布隆过滤器由参数生成算法Gen、更新算法Update和检测算法Check组成;其中,
Gen(l,k):输入两个整数l和k,Gen算法首先选取k个独立的哈希函数H1,...,Hk,其中Hj:U→[l](j∈[k]),U为元素集合;定义H={Hj}j∈[k],T=0l,T是一个l比特的数组,所有比特初始为0;输出(H,T);
Update(H,T,u):输入H={Hi}i∈[k],T∈{0,1}l和u∈U,Update算法首先设置更新后的状态T'为T'=T,之后对于任意的i∈[k]令T'[Hi(u)]=1,并返回T';
Check(H,T,u):输入H={Hi}i∈[k],T∈{0,1}l和u∈U,Check算法返回b=∩i∈[k]T[Hi(u)]。
5.如权利要求3所述的方法,其特征在于,随机地选择作为主密钥,根据哈希函数为每一个位置身份i∈[l]分发私钥
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910279881.8/1.html,转载请声明来源钻瓜专利网。





