[发明专利]一种分散机制的软件随机数生成方法有效
申请号: | 201310444948.1 | 申请日: | 2013-09-26 |
公开(公告)号: | CN103530086B | 公开(公告)日: | 2017-01-18 |
发明(设计)人: | 蒋声障;张登峰;余杭军 | 申请(专利权)人: | 福建升腾资讯有限公司 |
主分类号: | G06F7/58 | 分类号: | G06F7/58 |
代理公司: | 福州市鼓楼区京华专利事务所(普通合伙)35212 | 代理人: | 宋连梅 |
地址: | 350000 福建省福州市仓山区金*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种分散机制的软件随机数生成方法,该方法为1、获取初始的随机数种子,所述随机数种子为读取到的系统时间值,该随机数种子占N个字节;2、随机数种子通过线性同余算法,得到过程随机数;所述线性同余算法过程若产生溢出,则取低N字节的结果,丢弃溢出位;3、对产生的过程随机数进行分散;所述分散方式为将过程随机数的每N个字节数进行划分出来,并将各字节的值在一查询表中进行查询,查询到后进行置换,将置换得到的结果进行依次合并得到一结果随机数;4、输出所述结果随机数。本发明在循环迭代过程中加入了数据分散机制,增强了软件随机数据的随机性;并大大降低了被破解的可能性,从而提高了产品的安全性。 | ||
搜索关键词: | 一种 分散 机制 软件 随机数 生成 方法 | ||
【主权项】:
一种分散机制的软件随机数生成方法,其特征在于,所述方法具体包括如下步骤:步骤1、获取初始的随机数种子,所述随机数种子为读取到的系统时间值,该随机数种子占N个字节,N为大于1的整数;步骤2、随机数种子通过线性同余算法,得到过程随机数;线性同余算法公式为:R1=a*R0+b;其中a为8*N位的素数,b为8*N位的奇数,R0为随机数种子,R1为过程随机数;所述线性同余算法过程若产生溢出,则取低8*N位的结果,丢弃溢出位;步骤3、对产生的过程随机数进行分散;所述分散方式为将过程随机数的N个字节按字节进行划分出来,并将各字节的值在一查询表中进行查询,查询到后进行置换,将置换得到的结果进行依次合并得到一结果随机数;所述查询表中包含有256个序号,每个序号对应一数值;各字节的值与各序号进行查询匹配,匹配后置换序号对应的数值;该查询表用于对各字节的值进行置换为没有规律的分散值,从而生成N字节的结果随机数;步骤4、输出所述结果随机数。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建升腾资讯有限公司,未经福建升腾资讯有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310444948.1/,转载请声明来源钻瓜专利网。
- 上一篇:Ⅲ族氮化物半导体发光元件
- 下一篇:用于冷却支架的组件和方法