[发明专利]用于签名和密钥交换的素数阶椭圆曲线生成方法及系统有效
| 申请号: | 202110192635.6 | 申请日: | 2021-02-20 |
| 公开(公告)号: | CN112887096B | 公开(公告)日: | 2022-04-12 |
| 发明(设计)人: | 许光午;伍涵 | 申请(专利权)人: | 山东区块链研究院 |
| 主分类号: | H04L9/30 | 分类号: | H04L9/30;H04L9/32 |
| 代理公司: | 济南圣达知识产权代理有限公司 37221 | 代理人: | 张庆骞 |
| 地址: | 250102 山东省济南市高新*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用于 签名 密钥 交换 素数 椭圆 曲线 生成 方法 系统 | ||
1.一种用于签名和密钥交换的素数阶椭圆曲线生成方法,其特征在于,所述素数阶椭圆曲线用于与发送方的私钥一起对文件进行签名,由接收方利用共享的公钥及素数阶椭圆曲线来验证签名的有效性;或所述素数阶椭圆曲线用于密钥交换;
该素数阶椭圆曲线生成方法包括:
生成具有指定位数n且具有稀疏表示的3k+1型的大素数p;
将p分解为p=c2-cd+d2的形式,其中c≡2(mod 3),d≡0(mod 3);
判断下述ni,1≤i≤6中是否存在素数,若不存在,重新生成p:
n1:=p+1-d+2c,n2:=p+1+c+d,n3:=p+1-c+2d,
n4:=p+1+d-2c,n5:=p+1-c-d,n6:=p+1+c-2d;
若存在,则记该素数为n’,接着,寻找p的任意一个原根,若在设定时间内找到原根g,则计算s:=c(mod2),t:=d(mod2),r:=4(s+1)t(mod6);按照原根g的指数与ni的对应关系,寻找素数n’对应的原根g的指数r0,返回并输出及对应的大素数p;
若在设定时间内未找到原根g,计算使得椭圆曲线0≤j≤5分别具有阶数ni,1≤i≤6的z;计算若满足p|(c-d-dV),则将z更新为z5;计算m:=p+1-n′,并在(c,d)(mod2)与0≤k≤5的对应关系表中查找m,若m所在列的第一个元素为则返回并输出及对应的大素数p;
n1~n6分别对应的原根g的指数r0为r,(r+1)(mod6),(r+2)(mod6),(r+3)(mod6),(r+4)(mod6),(r+5)(mod6);
(c,d)(mod2)与0≤k≤5的对应关系表为:
计算使得椭圆曲线0≤j≤5分别具有阶数ni,1≤i≤6的z的过程为:
定义H2为由中所有二次剩余所构成的集合,定义H3为由中所有三次剩余所构成的集合,定义nq为不属于H2的最小素数,定义nc为不属于H3的最小素数;使用Adleman算法检测nc是否属于H2及nq是否属于H3:
计算z如下:
2.如权利要求1所述的用于签名和密钥交换的素数阶椭圆曲线生成方法,其特征在于,指定位数n为32的倍数。
3.如权利要求1所述的用于签名和密钥交换的素数阶椭圆曲线生成方法,其特征在于,使用秦九韶算法和Adleman算法将p分解为p=c2-cd+d2的形式。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东区块链研究院,未经山东区块链研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110192635.6/1.html,转载请声明来源钻瓜专利网。





