[发明专利]伪随机数的生成方法、装置和服务器有效
申请号: | 201910236478.7 | 申请日: | 2019-03-27 |
公开(公告)号: | CN110058843B | 公开(公告)日: | 2023-03-03 |
发明(设计)人: | 赵原 | 申请(专利权)人: | 创新先进技术有限公司 |
主分类号: | G06F7/58 | 分类号: | G06F7/58 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 李辉 |
地址: | 开曼群岛大开曼岛*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 随机数 生成 方法 装置 服务器 | ||
1.一种伪随机数的生成方法,包括:
获取预设的种子数据,其中,所述预设的种子数据包含有多个随机数种子,所述随机数种子分别携带有一个预设密钥;
调用并根据预设指令集对所述预设的种子数据进行多轮预设处理,得到多个伪随机数,其中,所述预设指令集为预设在处理器中的指令集,所述预设指令集包含有多个与预设处理相关的处理指令,所述预设处理为针对与所述多个随机数种子对应的多个随机数流的并行处理。
2.根据权利要求1所述的方法,所述预设指令集至少包括AES-NI指令集。
3.根据权利要求2所述的方法,在所述预设指令集包括AES-NI指令集的情况下,所述预设密钥包括AES密钥。
4.根据权利要求1所述的方法,调用并根据预设指令集对所述预设的种子数据进行多轮预设处理,得到多个伪随机数,包括:
根据所述种子数据中所包含的多个预设密钥,进行密钥扩展,得到多个密钥组,其中,所述多个密钥组中的各个密钥组分别包含有多个处理密钥;
根据所述预设的种子数据中所包含的多个随机数种子,生成多个随机数流;
利用所述多个密钥组,以及预设指令集,对所述多个随机数流进行多轮并行的预设处理,得到所述多个伪随机数。
5.根据权利要求4所述的方法,利用所述多个密钥组,以及预设指令集,对所述多个随机数流进行多轮并行的预设处理,包括:按照以下方式进行当前轮的并行的预设处理:
获取当前轮之前一轮的预设处理得到的多个上下文数据,其中,所述多个上下文数据分别与一个随机数流对应;
将所述多个密钥组中与当前轮对应的密钥交错处理,得到交错后的密钥数据;
根据预设指令集中与当前轮对应的处理指令,利用所述交错后的密钥数据对所述多个上下文数据同步进行加密或解密处理,得到多个处理后的上下文数据。
6.根据权利要求1所述的方法,在获取预设的种子数据前,所述方法还包括:
确定随机数种子所包含的数据的字节数量,以及处理器的在执行预设指令集时的流水吞吐量;
根据所述随机数种子所包含的数据的字节数量,以及处理器的在执行预设指令集中的处理指令的流水吞吐量,确定所述预设的种子数据所包含的多个随机数种子的数量的上限值。
7.根据权利要求6所述的方法,在确定所述预设的种子数据所包含的多个随机数种子的数量的上限值后,所述方法还包括:
确定待生成的伪随机数的数量;
根据所述待生成的伪随机数的数量,和所述预设的种子数据所包含的多个随机数种子的数量的上限值,确定所述预设的种子数据所包含的多个随机数种子的数量;
按照所确定的所述预设的种子数据所包含的多个随机数种子的数量,将多个随机数种子进行拼接,得到所述预设的种子数据。
8.根据权利要求1所述的方法,在调用并根据预设指令集对所述预设的种子数据进行多轮预设处理,得到多个伪随机数后,所述方法还包括:
根据所述多个伪随机数,进行安全多方计算,得到多个计算结果;
根据所述多个计算结果,训练交易数据安全处理模型,其中,所述安全处理模型至少包括MORSE模型。
9.一种伪随机数的生成装置,包括:
获取模块,用于获取预设的种子数据,其中,所述预设的种子数据包含有多个随机数种子,所述随机数种子分别携带有一个预设密钥;
处理模块,用于调用并根据预设指令集对所述预设的种子数据进行多轮预设处理,得到多个伪随机数,其中,所述预设指令集为预设在处理器中的指令集,所述预设指令集包含有多个与预设处理相关的处理指令,所述预设处理为针对与所述多个随机数种子对应的多个随机数流的并行处理。
10.根据权利要求9所述的装置,所述预设指令集至少包括AES-NI指令集。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于创新先进技术有限公司,未经创新先进技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910236478.7/1.html,转载请声明来源钻瓜专利网。