[发明专利]一种在嵌入式系统中生成密钥对的实现方法和装置有效
申请号: | 201810178200.4 | 申请日: | 2018-03-05 |
公开(公告)号: | CN108306730B | 公开(公告)日: | 2020-10-13 |
发明(设计)人: | 陆舟;于华章 | 申请(专利权)人: | 飞天诚信科技股份有限公司 |
主分类号: | H04L9/08 | 分类号: | H04L9/08;H04L9/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 嵌入式 系统 生成 密钥 实现 方法 装置 | ||
1.一种在嵌入式系统中生成密钥对的实现方法,其特征在于,包括:
步骤S1:当CPU接收到生成密钥对指令时,从所述生成密钥对指令中获取RSA公钥指数、RSA模长、RSA密钥对类型;
步骤S2:所述CPU调用随机数生成接口生成与所述RSA模长的安全性相匹配的第一种子;
步骤S3:所述CPU分别根据所述RSA模长、所述第一种子和所述RSA公钥指数调用哈希算法接口、模乘接口、模加接口、模幂接口生成第一确定性素数和第二确定性素数;
步骤S4:所述CPU检测所述RSA密钥对类型,如为第一预设类型则执行步骤S5,如为第二预设类型则执行步骤S6;所述第一预设类型为RSA-CRT,包括一个模数和三个私钥;第二预设类型为RSA-ND,包括一个模数和一个私钥;
步骤S5:所述CPU根据所述RSA模长、所述RSA公钥指数、所述第一确定性素数和所述第二确定性素数调用大数乘法接口、大数模逆接口、模乘接口、模减接口生成第一预设类型的RSA公钥模数和RSA私钥,根据所述RSA公钥模数和所述RSA公钥指数组成RSA公钥,保存所述RSA公钥和所述RSA私钥;
步骤S6:所述CPU根据所述RSA模长、所述RSA公钥指数、所述第一确定性素数和所述第二确定性素数调用大数乘法接口、大数除法接口、模乘接口、大数模逆接口生成第二预设类型的RSA公钥模数和RSA私钥,根据所述RSA公钥模数和所述RSA公钥指数组成RSA公钥,保存所述RSA公钥和所述RSA私钥;
所述步骤S3包括:
步骤S31:所述CPU判断所述RSA模长、所述RSA公钥指数、所述第一种子是否满足预定条件,是则执行步骤S32,否则报错;
步骤S32:所述CPU分别根据所述RSA模长、所述第一种子和所述RSA公钥指数调用哈希算法接口、模乘接口、模加接口、模幂接口生成第一确定性素数和第二确定性素数,更新所述第一种子;
步骤S33:所述CPU判断所述第一确定性素数和所述第二确定性素数的差值是否在预设范围内,是则返回步骤S32,否则执行步骤S4;
或所述步骤S3包括:
步骤S3-1:所述CPU根据所述RSA模长计算第一确定性素数比特长度,并获取第一辅助素数比特长度和第二辅助素数比特长度,根据所述第一确定性素数比特长度、所述第一辅助素数比特长度、所述第二辅助素数比特长度、所述第一种子和所述RSA公钥指数调用哈希算法接口、模乘接口、模加接口、模幂接口生成第一确定性素数;
步骤S3-2:所述CPU根据所述RSA模长计算第二确定性素数比特长度,并获取第四辅助素数比特长度、第五辅助素数比特长度,根据所述第二确定性素数比特长度、所述第四辅助素数比特长度、所述第五辅助素数比特长度、所述第一种子和所述RSA公钥指数调用哈希算法接口、模乘接口、模加接口、模幂接口生成第二确定性素数。
2.如权利要求1所述的方法,其特征在于,所述步骤S2包括:
步骤S21:所述CPU根据所述RSA模长计算RSA算法的安全比特强度;
步骤S22:所述CPU调用随机数生成接口生成对应于所述RSA算法的安全比特强度的第一种子。
3.如权利要求1所述的方法,其特征在于,所述步骤S3-1中的所述CPU根据所述RSA模长计算得到第一确定性素数比特长度,具体为:所述CPU将所述RSA模长的一半作为第一确定性素数比特长度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于飞天诚信科技股份有限公司,未经飞天诚信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810178200.4/1.html,转载请声明来源钻瓜专利网。