发明名称 一种分散机制的软件随机数生成方法
摘要 本发明提供一种分散机制的软件随机数生成方法,该方法为:1、获取初始的随机数种子,所述随机数种子为读取到的系统时间值,该随机数种子占N个字节;2、随机数种子通过线性同余算法,得到过程随机数;所述线性同余算法过程若产生溢出,则取低N字节的结果,丢弃溢出位;3、对产生的过程随机数进行分散;所述分散方式为将过程随机数的每N个字节数进行划分出来,并将各字节的值在一查询表中进行查询,查询到后进行置换,将置换得到的结果进行依次合并得到一结果随机数;4、输出所述结果随机数。本发明在循环迭代过程中加入了数据分散机制,增强了软件随机数据的随机性;并大大降低了被破解的可能性,从而提高了产品的安全性。
申请公布号 CN103530086A 申请公布日期 2014.01.22
申请号 CN201310444948.1 申请日期 2013.09.26
申请人 福建升腾资讯有限公司 发明人 蒋声障;张登峰;余杭军
分类号 G06F7/58(2006.01)I 主分类号 G06F7/58(2006.01)I
代理机构 福州市鼓楼区京华专利事务所(普通合伙) 35212 代理人 宋连梅
主权项 一种分散机制的软件随机数生成方法,其特征在于,所述方法具体包括如下步骤:步骤1、获取初始的随机数种子,所述随机数种子为读取到的系统时间值,该随机数种子占N个字节,N为大于1的整数;步骤2、随机数种子通过线性同余算法,得到过程随机数;线性同余算法公式为:R1=a*R0+b;其中a为8*N位的素数,b为8*N位的奇数,R0为随机数种子,R1为过程随机数;所述线性同余算法过程若产生溢出,则取低8*N位的结果,丢弃溢出位;步骤3、对产生的过程随机数进行分散;所述分散方式为将过程随机数的N个字节按字节进行划分出来,并将各字节的值在一查询表中进行查询,查询到后进行置换,将置换得到的结果进行依次合并得到一结果随机数;所述查询表中包含有256个序号,每个序号对应一数值;各字节的值与各序号进行查询匹配,匹配后置换序号对应的数值;该查询表用于对各字节的值进行置换为没有规律的分散值,从而生成N字节的结果随机数;步骤4、输出所述结果随机数。
地址 350000 福建省福州市仓山区金山工业区金山大道618号21#、22#、55#
您可能感兴趣的专利