[发明专利]一种随机比特生成方法、装置及电子设备和存储介质在审
申请号: | 201911076456.5 | 申请日: | 2019-11-06 |
公开(公告)号: | CN110851112A | 公开(公告)日: | 2020-02-28 |
发明(设计)人: | 张文科 | 申请(专利权)人: | 成都卫士通信息产业股份有限公司 |
主分类号: | G06F7/58 | 分类号: | G06F7/58;H04L9/06 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 史翠 |
地址: | 610041 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 随机 比特 生成 方法 装置 电子设备 存储 介质 | ||
1.一种随机比特生成方法,其特征在于,包括:
获取输入熵和请求比特长度;
利用第一函数和第二函数创建所述输入熵对应的种子和随机数状态;其中,所述第一函数为基于SM4的导出函数,所述第二函数为基于SM4的状态更新函数;
根据所述请求比特长度和当前的随机数状态利用所述第一函数、所述第二函数和SM4算法生成随机比特。
2.根据权利要求1所述随机比特生成方法,其特征在于,所述利用第一函数和第二函数创建所述输入熵对应的种子和随机数状态,包括:
确定种子长度,并根据所述输入熵和个性化信息利用所述第一函数创建所述种子长度的种子;
初始化随机数状态Key和V中的比特位均为0,并根据初始化的Key、V和所述种子利用所述第二函数创建随机数状态。
3.根据权利要求1所述随机比特生成方法,其特征在于,所述根据所述请求比特长度和当前的随机数状态利用所述第一函数、所述第二函数和SM4算法生成随机比特之前,还包括:
利用所述第一函数和所述第二函数重置所述种子和更新所述随机数状态。
4.根据权利要求3所述随机比特生成方法,其特征在于,所述利用所述第一函数和所述第二函数重置所述种子和更新所述随机数状态,包括:
根据所述输入熵和附加信息利用所述第一函数重置所述种子,得到重置后的种子;
根据当前的Key、V和所述重置后的种子利用所述第二函数更新所述随机数状态。
5.根据权利要求1所述随机比特生成方法,其特征在于,所述根据所述请求比特长度和当前的随机数状态利用所述第一函数、所述第二函数和SM4算法生成随机比特之后,还包括:
清除所述随机数状态。
6.根据权利要求1所述随机比特生成方法,其特征在于,所述SM4算法具体为SM4算法的ECB模式。
7.根据权利要求2至6中任一项所述随机比特生成方法,其特征在于,所述根据所述请求比特长度和当前的随机数状态利用所述第一函数、所述第二函数和SM4算法生成随机比特,包括:
S1:将目标标志位、第一计数器置0、第二计数器置1;
S2:若所述目标标志位为1或所述第一计数器为0,则根据所述输入熵和附加信息利用所述第一函数和所述第二函数重置所述种子和更新当前的随机数状态,并将所述附加信息置为空串,将所述目标标志位置为0,将所述第一计数器加1;
S3:判断所述第二计数器是否大于阈值;若是,则进入S11,若否,则进入S4;
S4:判断所述附加信息是否为空串;若是,则进入S5;若否,则进入S6;
S5:将所述附加信息置为长度为所述种子长度、所有比特位均为0的字符串;
S6:根据所述种子长度利用所述SM4算法更新所述附加信息,并利用所述第二函数更新当前的随机数状态;
S7:初始化临时字符串为空串;
S8:判断所述临时字符串的长度是否小于所述请求比特长度,若是,则进入S9,若否,则进入S10;
S9:利用预设公式更新V,根据当前的随机数状态利用所述SM4算法计算中间字符串,将所述临时字符串更新为所述中间字符串与所述临时字符串的或操作结果,并重新进入S8;
其中,所述预设公式具体为:
V=(V+1)mod 2ctr_len;其中,ctr_len为预设值;
S10:将所述临时字符串的前N位作为所述随机比特,根据所述附加信息利用所述第二函数更新当前的随机数状态,并将所述第二计数器加1,将所述目标标志位置为1,重新进入S2;其中,N为所述请求比特长度;
S11:返回所述随机比特。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都卫士通信息产业股份有限公司,未经成都卫士通信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911076456.5/1.html,转载请声明来源钻瓜专利网。