CN110502208B - 一种随机数发生器的多随机源管理方法 - Google Patents
一种随机数发生器的多随机源管理方法 Download PDFInfo
- Publication number
- CN110502208B CN110502208B CN201910761973.XA CN201910761973A CN110502208B CN 110502208 B CN110502208 B CN 110502208B CN 201910761973 A CN201910761973 A CN 201910761973A CN 110502208 B CN110502208 B CN 110502208B
- Authority
- CN
- China
- Prior art keywords
- random
- random source
- bit
- source
- number generator
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Pinball Game Machines (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例涉及一种随机数发生器的多随机源管理方法,其特征在于,所述方法包括:从参数区获取随机源列表;根据随机源列表对随机源列表中标识的所有随机源进行随机源比特生成处理生成第一随机源比特序列;根据第一随机源比特序列进行随机源比特融合处理,生成第一随机源融合比特;根据随机源列表,连续生成一百二十八个随机源融合比特,并组合成第二随机源比特序列;根据第二随机源比特序列进行随机源随机性校验;在当随机源随机性校验成功之后,将第二随机源比特序列作为计算初始数据进行随机数生成处理。本发明方法对随机数发生器随机源的正常工作进行管理核验,防止其在随机源工作失常时进入错误工作状态。
Description
技术领域
本发明涉及单片机技术领域,特别涉及一种随机数发生器的多随机源管理方法。
背景技术
随机数发生器在单片机领域已经得到广泛应用,所有与算法协处理器相关的应用都与随机数发生器密不可分,所有与信息加解密的应用都需要由随机数发生器产生随机数种子,从而协助生成过程密钥、加解密随机因子等等。如果随机数发生器产生随机数种子的随机源工作失常,则随机数发生器的核心功能就失常。如此,轻则导致参与加密的初始化数据与过程随机数据的随机性丧失,重则导致参与计算的密钥参数被破坏。
发明内容
本发明的目的,就是针对现有技术的缺陷,提供一种随机数发生器的多随机源管理方法,对随机数发生器随机源的正常工作进行管理核验,防止其在随机源工作失常时进入错误工作状态。
为实现上述目的,本发明提供了一种随机数发生器的多随机源管理方法,包括:
随机数发生器从参数区获取随机源列表,所述随机源列表由多条随机源标识记录组成,所述随机源标识记录包括随机源标识、随机源状态两项数据元;
所述随机数发生器根据所述随机源列表,对所述随机源列表中标识的所有随机源进行随机源比特生成处理,生成第一随机源比特序列;
所述随机数发生器根据所述第一随机源比特序列,进行随机源比特融合处理,生成第一随机源融合比特;
所述随机数发生器根据所述随机源列表,连续生成一百二十八个随机源融合比特,按所述一百二十八个随机源融合比特的生成顺序依次进行比特位添加,生成第二随机源比特序列;
所述随机数发生器根据所述第二随机源比特序列,进行随机源随机性校验;
在当所述随机源随机性校验成功之后,所述随机数发生器确认所述随机源列表中标识的所有随机源工作正常,接着,所述随机数发生器将所述第二随机源比特序列作为计算初始数据进行随机数生成处理。
进一步的,所述方法还包括:
在当所述随机源随机性校验失败之后,所述随机数发生器根据所述随机源列表,对所述随机源列表中标识的随机源进行随机源中止工作处理,并向上位机发送随机源工作异常信息。
进一步的,所述随机数发生器从参数区获取随机源列表,之前还包括:
所述随机数发生器初始化随机性状态字,具体的:
所述随机数发生器初始化所述随机性状态字的第一校验位的值为0;
所述随机数发生器初始化所述随机性状态字的第二校验位的值为0。
进一步的,所述随机数发生器根据所述随机源列表,对所述随机源列表中标识的所有随机源进行随机源比特生成处理,生成第一随机源比特序列,具体包括:
步骤41,所述随机数发生器获取所述随机源列表的记录总数生成第一记录总数,初始化第一记录索引、第一比特索引的值为1;
步骤42,所述随机数发生器初始化第一临时比特序列的比特位总数等于所述第一记录总数,设置每个比特位的初始值为0;
步骤43,所述随机数发生器根据所述随机源列表,提取所述第一记录索引随机源标识记录字节,生成第一随机源标识记录;
步骤44,所述随机数发生器根据所述第一随机源标识记录,提取所述随机源标识字节生成第一随机源标识,提取所述随机源状态字节生成第一随机源状态;
步骤45,判断所述第一随机源状态的值是否为开启,如果所述第一随机源状态的值为开启则转至步骤46,如果所述第一随机源状态的值不为开启则转至步骤48;
步骤46,所述随机数发生器对所述第一随机源标识对应的随机源进行随机源数据生成处理,生成第一随机源比特;
步骤47,所述随机数发生器设置所述第一临时比特序列的所述第一比特索引比特位的值为所述第一随机源比特的值;
步骤48,所述随机数发生器将所述第一记录索引的值加1,将所述第一比特索引的值加1;
步骤49,所述随机数发生器判断所述第一记录索引的值是否大于所述第一记录总数的值,所述第一记录索引的值大于所述第一记录总数的值则转至步骤50,如果所述第一记录索引的值小于或等于所述第一记录总数的值则转至步骤43;
步骤50,所述随机数发生器根据所述第一临时比特序列,提取所述第一临时比特序列的所有比特位的值,生成所述第一随机源比特序列。
优选的,所述随机数发生器对所述第一随机源标识对应的随机源进行随机源数据生成处理,生成第一随机源比特,具体包括:
所述随机数发生器利用所述随机数发生器的热噪声电阻生成第一电压信号;
所述随机数发生器将所述第一电压信号作为所述随机数发生器的热噪声放大器的输入信号,并利用所述热噪声放大器生成第二电压信号;
所述随机数发生器将所述第二电压信号作为所述随机数发生器的高频振荡器的输入信号,并利用所述高频振荡器生成振荡后信号;
所述随机数发生器将所述振荡后信号作为所述随机数发生器的低频采样电路的输入信号,并利用所述低频采样电路生成采样后信号;
所述随机数发生器对所述采样后信号进行二进制数字化转换处理,生成所述第一随机源比特。
进一步的,所述随机数发生器根据所述第一随机源比特序列,进行随机源比特融合处理,生成第一随机源融合比特,具体包括:
所述随机数发生器提取所述第一随机源比特序列的所有比特,进行比特异或处理,生成所述第一随机源融合比特。
进一步的,所述随机数发生器根据所述第二随机源比特序列,进行随机源随机性校验,具体包括:
所述随机数发生器根据所述第二随机源比特序列进行连续同位校验;
所述随机数发生器根据所述第二随机源比特序列进行卡方检验校验;
所述随机数发生器判断所述随机性状态字的所述第一校验位、第二校验位,当所述第一校验位与所述第二校验位的值均为0时所述随机源随机性校验成功,当所述第一校验位与所述第二校验位的值不全为0时所述随机源随机性校验失败。
优选的,所述随机数发生器根据所述第二随机源比特序列进行连续同位校验,具体包括:
所述随机数发生器提取所述第二随机源比特序列的第一比特位至第四十八比特位的值,生成连续同位校验比特序列;
判断所述连续同位校验比特序列的值是否为四十八个比特零或一,如果所述连续同位校验比特序列的值为四十八个比特零或一,则所述连续同位校验失败并设置所述随机性状态字的所述第一校验位的值为1;如果所述连续同位校验比特序列的值既不为四十八个比特零也不为四十八个比特一,则所述连续同位校验成功并设置所述随机性状态字的所述第一校验位的值为0。
优选的,所述随机数发生器根据所述第二随机源比特序列进行卡方检验校验,具体包括:
所述随机数发生器根据所述第二随机源比特序列,从第一比特位起每隔四个比特位,提取连续四个比特位进行二进制到十进制转的数值转换,生成第一自然数、第二自然数直至第三十二自然数;
在由所述第一自然数到所述第三十二自然数组成的自然数序列中,对零到十五这十六个自然数其中任意一个出现在所述自然数序列中的次数进行统计生成第一次数、第二次数直至第十六次数;
对所述第一次数、第二次数直至第十六次数分别做平方计算,生成第一次数平方、第二次数平方直至第十六次数平方;
对所述第一次数平方、第二次数平方直至第十六次数平方做求和计算,生成第一次数平方总和;
所述随机数发生器判断所述第一次数平方总和是否大于194,如果所述第一次数平方总和大于194,则所述卡方检验校验失败并设置所述随机性状态字的所述第二校验位的值为1;如果所述第一次数平方总和小于或等于194,则所述卡方检验校验成功并设置所述随机性状态字的所述第二校验位的值为 0。
本发明提供的一种随机数发生器的多随机源管理方法,通过随机源列表可以对多个随机源进行选择性启动;在启动多个随机源各自独立生成随机比特之后经由多随机源输出的融合处理生成第一随机源融合比特,进一步提高随机源比特的随机性;再在收集了连续128个融合比特之后,通过连续同位校验与卡方检验校验进行双重的连续比特随机性检查,又进一步确保随机源输出的随机性;本发明方法发现随机源随机性校验不通过时,会立即中止随机数发生器的工作并及时上报上位机。
附图说明
图1为本发明实施例一提供的一种随机数发生器的多随机源管理方法的示意图。
图2为本发明实施例二提供的一种随机数发生器的多随机源管理方法的示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在对发明实施例进行详细阐述之前,先对卡方检验算法做一个简单介绍。卡方检验是用于对随机源产生的随机数的静态特性进行检测,每次检测长度为128比特。卡方检验的数学公式为第一公式:其中X2表示观察值与理论值之间的偏离程度,当X2大于预设的临界值时,则认为观测结果不符合预期。Oi为第i次观测的频数,Ei为第i次观测的期望频数。我们将128比特待测数据按每4比特一组,分为32组,观测每组的值,从而统计0,1,2~15这16个数在32组中出现的次数。因为每组0,1,2~15中每一个数出现的概率1/16,故将Ei代入上述卡方检验的数学公式,并设定临界值为65,则推出第一关系式:对第一关系式进一步简化,生成第二关系式:根据第二关系式,设定判断标准:如果第二关系式成立,则说明卡方检验失败。
本发明实施例一,如图1为本发明实施例一提供的一种随机数发生器的多随机源管理方法的示意图所示,方法包括以下步骤:
步骤131,随机数发生器初始化随机性状态字,
具体包括:步骤1311,随机数发生器初始化随机性状态字的第一校验位的值为0;
步骤1312,随机数发生器初始化随机性状态字的第二校验位的值为0。
步骤132,随机数发生器从参数区获取随机源列表,随机源列表由多条随机源标识记录组成,随机源标识记录包括随机源标识、随机源状态两项数据元。
步骤133,随机数发生器根据随机源列表,对随机源列表中标识的所有随机源进行随机源比特生成处理,生成第一随机源比特序列,
具体包括:步骤1331,随机数发生器获取随机源列表的记录总数生成第一记录总数,初始化第一记录索引、第一比特索引的值为1;
步骤1332,随机数发生器初始化第一临时比特序列的比特位总数等于第一记录总数,设置每个比特位的初始值为0;
步骤1333,随机数发生器根据随机源列表,提取第一记录索引随机源标识记录字节,生成第一随机源标识记录;
步骤1334,随机数发生器根据第一随机源标识记录,提取随机源标识字节生成第一随机源标识,提取随机源状态字节生成第一随机源状态;
步骤1335,判断第一随机源状态的值是否为开启,如果第一随机源状态的值为开启则转至步骤1336,如果第一随机源状态的值不为开启则转至步骤 1338;
步骤1336,随机数发生器对第一随机源标识对应的随机源进行随机源数据生成处理,生成第一随机源比特,
具体包括:步骤13361,随机数发生器利用随机源的热噪声电阻生成第一电压信号;
步骤13362,随机数发生器将第一电压信号作为随机源的热噪声放大器的输入信号,并利用热噪声放大器生成第二电压信号;
步骤13363,随机数发生器将第二电压信号作为随机源的高频振荡器的输入信号,并利用高频振荡器生成振荡后信号;
步骤13364,随机数发生器将振荡后信号作为随机源的低频采样电路的输入信号,并利用低频采样电路生成采样后信号;
步骤13365,随机数发生器对采样后信号进行二进制数字化转换处理,生成第一随机源比特;
步骤1337,随机数发生器设置第一临时比特序列的第一比特索引比特位的值为第一随机源比特的值;
步骤1338,随机数发生器将第一记录索引的值加1,将第一比特索引的值加1;
步骤1339,随机数发生器判断第一记录索引的值是否大于第一记录总数的值,第一记录索引的值大于第一记录总数的值则转至步骤1340,如果第一记录索引的值小于或等于第一记录总数的值则转至步骤1333;
步骤1340,随机数发生器根据第一临时比特序列,提取第一临时比特序列的所有比特位的值,生成第一随机源比特序列。
步骤134,随机数发生器根据第一随机源比特序列,进行随机源比特融合处理,生成第一随机源融合比特,
具体的,随机数发生器提取第一随机源比特序列的所有比特,进行比特异或处理,生成第一随机源融合比特。
步骤135,随机数发生器根据随机源列表,连续生成128个随机源融合比特,按128个随机源融合比特的生成顺序依次进行比特位添加,生成第二随机源比特序列。
步骤136,随机数发生器根据第二随机源比特序列,进行随机源随机性校验,
具体包括:步骤1361,随机数发生器根据第二随机源比特序列进行连续同位校验,
具体包括:步骤13611,随机数发生器提取第二随机源比特序列的第1比特位至第48比特位的值,生成连续同位校验比特序列;
步骤13612,判断连续同位校验比特序列的值是否为48个比特0或1,如果连续同位校验比特序列的值为48个比特0或1,则连续同位校验失败并设置随机性状态字的第一校验位的值为1;如果连续同位校验比特序列的值既不为48个比特0也不为48个比特1,则连续同位校验成功并设置随机性状态字的第一校验位的值为0
步骤1362,随机数发生器根据第二随机源比特序列进行卡方检验校验,
具体包括:步骤13621,随机数发生器根据第二随机源比特序列,从第一比特位起每隔4个比特位,提取连续4个比特位进行二进制到十进制转的数值转换,生成第一自然数、第二自然数直至第三十二自然数;
步骤13622,在由第一自然数到第三十二自然数组成的自然数序列中,对 0到15这16个自然数其中任意一个出现在自然数序列中的次数进行统计生成第一次数、第二次数直至第十六次数;
步骤13623,对第一次数、第二次数直至第十六次数分别做平方计算,生成第一次数平方、第二次数平方直至第十六次数平方;
步骤13624,对第一次数平方、第二次数平方直至第十六次数平方做求和计算,生成第一次数平方总和;
步骤13625,随机数发生器判断第一次数平方总和是否大于194,如果第一次数平方总和大于194,则卡方检验校验失败并设置随机性状态字的第二校验位的值为1;如果第一次数平方总和小于或等于194,则卡方检验校验成功并设置随机性状态字的第二校验位的值为0;
步骤1363,随机数发生器判断随机性状态字的第一校验位、第二校验位,当第一校验位与第二校验位的值均为0时随机源随机性校验成功,当第一校验位与第二校验位的值不全为0时随机源随机性校验失败。
步骤137,在当随机源随机性校验成功之后,随机数发生器确认随机源列表中标识的所有随机源工作正常,接着,随机数发生器将第二随机源比特序列作为计算初始数据进行随机数生成处理。
本发明实施例二,如图2为本发明实施例二提供的一种随机数发生器的多随机源管理方法的示意图所示,方法包括以下步骤:
步骤231,随机数发生器初始化随机性状态字,
具体包括:步骤2311,随机数发生器初始化随机性状态字的第一校验位的值为0;
步骤2312,随机数发生器初始化随机性状态字的第二校验位的值为0。
步骤232,随机数发生器从参数区获取随机源列表,随机源列表由多条随机源标识记录组成,随机源标识记录包括随机源标识、随机源状态两项数据元。
步骤233,随机数发生器根据随机源列表,对随机源列表中标识的所有随机源进行随机源比特生成处理,生成第一随机源比特序列,
具体包括:步骤2331,随机数发生器获取随机源列表的记录总数生成第一记录总数,初始化第一记录索引、第一比特索引的值为1;
步骤2332,随机数发生器初始化第一临时比特序列的比特位总数等于第一记录总数,设置每个比特位的初始值为0;
步骤2333,随机数发生器根据随机源列表,提取第一记录索引随机源标识记录字节,生成第一随机源标识记录;
步骤2334,随机数发生器根据第一随机源标识记录,提取随机源标识字节生成第一随机源标识,提取随机源状态字节生成第一随机源状态;
步骤2335,判断第一随机源状态的值是否为开启,如果第一随机源状态的值为开启则转至步骤2336,如果第一随机源状态的值不为开启则转至步骤 2338;
步骤2336,随机数发生器对第一随机源标识对应的随机源进行随机源数据生成处理,生成第一随机源比特,
具体包括:步骤23361,随机数发生器利用随机源的热噪声电阻生成第一电压信号;
步骤23362,随机数发生器将第一电压信号作为随机源的热噪声放大器的输入信号,并利用热噪声放大器生成第二电压信号;
步骤23363,随机数发生器将第二电压信号作为随机源的高频振荡器的输入信号,并利用高频振荡器生成振荡后信号;
步骤23364,随机数发生器将振荡后信号作为随机源的低频采样电路的输入信号,并利用低频采样电路生成采样后信号;
步骤23365,随机数发生器对采样后信号进行二进制数字化转换处理,生成第一随机源比特;
步骤2337,随机数发生器设置第一临时比特序列的第一比特索引比特位的值为第一随机源比特的值;
步骤2338,随机数发生器将第一记录索引的值加1,将第一比特索引的值加1;
步骤2339,随机数发生器判断第一记录索引的值是否大于第一记录总数的值,第一记录索引的值大于第一记录总数的值则转至步骤2340,如果第一记录索引的值小于或等于第一记录总数的值则转至步骤2333;
步骤2340,随机数发生器根据第一临时比特序列,提取第一临时比特序列的所有比特位的值,生成第一随机源比特序列。
步骤234,随机数发生器根据第一随机源比特序列,进行随机源比特融合处理,生成第一随机源融合比特,
具体的,随机数发生器提取第一随机源比特序列的所有比特,进行比特异或处理,生成第一随机源融合比特。
步骤235,随机数发生器根据随机源列表,连续生成128个随机源融合比特,按128个随机源融合比特的生成顺序依次进行比特位添加,生成第二随机源比特序列。
步骤236,随机数发生器根据第二随机源比特序列,进行随机源随机性校验,
具体包括:步骤2361,随机数发生器根据第二随机源比特序列进行连续同位校验,
具体包括:步骤23611,随机数发生器提取第二随机源比特序列的第1比特位至第48比特位的值,生成连续同住校验比特序列;
步骤23612,判断连续同位校验比特序列的值是否为48个比特0或1,如果连续同位校验比特序列的值为48个比特0或1,则连续同位校验失败并设置随机性状态字的第一校验位的值为1;如果连续同位校验比特序列的值既不为48个比特0也不为48个比特1,则连续同位校验成功并设置随机性状态字的第一校验位的值为0;
此处,例如第二随机源比特序列如为128比特1:1111111111111111 111111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111,则前48位连续为1,连续同位校验失败。
步骤2362,随机数发生器根据第二随机源比特序列进行卡方检验校验,
具体包括:步骤23621,随机数发生器根据第二随机源比特序列,从第1 比特位起每隔4个比特位,提取连续4个比特位进行二进制到十进制转的数值转换,生成第一自然数、第二自然数直至第三十二自然数;
此处,例如第二随机源比特序列如为128比特1:1111111111111111 111111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111,则生成的32个自然数是:15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, 15,15,15,15,15,15,15,15,15,15,15,15。
步骤23622,在由第一自然数到第三十二自然数组成的自然数序列中,对 0到15这16个自然数其中任意一个出现在自然数序列中的次数进行统计生成第一次数、第二次数直至第十六次数;
此处,例如第二随机源比特序列如为128比特1,则在上述32个自然数中(32个15),第一次数到第十六次数依次是:0(0出现次数),1(0出现次数),0(2出现次数),0(3出现次数),0(4出现次数),0(5出现次数),0(6出现次数),0(7出现次数),0(8出现次数),0(9出现次数),0(10出现次数),0(11出现次数),0(12出现次数),0(13 出现次数),0(14出现次数)32(15出现次数)。
步骤23623,对第一次数、第二次数直至第十六次数分别做平方计算,生成第一次数平方、第二次数平方直至第十六次数平方;
此处,例如第二随机源比特序列如为128比特1,则第一次数平方、第二次数平方直至第十六次数平方的值依次是:0,0,0,0,0,0,0,0,0,0, 0,0,0,0,1024。
步骤23624,对第一次数平方、第二次数平方直至第十六次数平方做求和计算,生成第一次数平方总和;
此处,例如第二随机源比特序列如为128比特1,则第一次数平方总和为 1024。
步骤23625,随机数发生器判断第一次数平方总和是否大于194,如果第一次数平方总和大于194,则卡方检验校验失败并设置随机性状态字的第二校验位的值为1;如果第一次数平方总和小于或等于194,则卡方检验校验成功并设置随机性状态字的第二校验位的值为0;
此处,例如第二随机源比特序列如为128比特1,则第一次数平方总和远大于194,随机源的卡方检验校验失败。
步骤2363,随机数发生器判断随机性状态字的第一校验位、第二校验位,当第一校验位与第二校验位的值均为0时随机源随机性校验成功,当第一校验位与第二校验位的值不全为0时随机源随机性校验失败。
步骤237,判断随机源随机性校验结果,如果随机源随机性校验成功转至步骤238,如果随机源随机性校验失败转至步骤410。
步骤238,随机数发生器确认随机源列表中标识的所有随机源工作正常,接着,随机数发生器将第二随机源比特序列作为计算初始数据进行随机数生成处理。
步骤410,随机数发生器根据随机源列表,对随机源列表中标识的随机源进行随机源中止工作处理,并向上位机发送随机源工作异常信息。
造成该类错误的原因,是对128比特的第二随机源比特序列进行随机性检查时未通过检查。
本发明提供的一种随机数发生器的多随机源管理方法,通过随机源列表可以对多个随机源进行选择性启动;在启动多个随机源各自独立生成随机比特之后经由多随机源输出的融合处理生成第一随机源融合比特,进一步提高随机源比特的随机性;再在收集了连续128个融合比特之后,通过连续同位校验与卡方检验校验进行连续比特随机性检查,又进一步确保随机源输出的随机性;本发明方法发现随机源随机性校验不通过时,会立即中止随机数发生器的工作并及时上报上位机。本发明的目的就是提供一种全面的管理方法,不但可以对随机数发生器随机源的正常工作进行管理核验,还能防止其在随机源工作失常时进入错误工作状态。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种随机数发生器的多随机源管理方法,其特征在于,所述方法包括:
随机数发生器从参数区获取随机源列表,所述随机源列表由多条随机源标识记录组成,所述随机源标识记录包括随机源标识、随机源状态两项数据元;
所述随机数发生器根据所述随机源列表,对所述随机源列表中标识的所有随机源进行随机源比特生成处理,生成第一随机源比特序列;
所述随机数发生器根据所述第一随机源比特序列,进行随机源比特融合处理,生成第一随机源融合比特;
所述随机数发生器根据所述随机源列表,连续生成一百二十八个随机源融合比特,按所述一百二十八个随机源融合比特的生成顺序依次进行比特位添加,生成第二随机源比特序列;
所述随机数发生器根据所述第二随机源比特序列,进行随机源随机性校验;
在当所述随机源随机性校验成功之后,所述随机数发生器确认所述随机源列表中标识的所有随机源工作正常,接着,所述随机数发生器将所述第二随机源比特序列作为计算初始数据进行随机数生成处理;
其中,所述随机数发生器根据所述随机源列表,对所述随机源列表中标识的所有随机源进行随机源比特生成处理,生成第一随机源比特序列,具体包括:
步骤41,所述随机数发生器获取所述随机源列表的记录总数生成第一记录总数,初始化第一记录索引、第一比特索引的值为1;
步骤42,所述随机数发生器初始化第一临时比特序列的比特位总数等于所述第一记录总数,设置每个比特位的初始值为0;
步骤43,所述随机数发生器根据所述随机源列表,提取所述第一记录索引随机源标识记录字节,生成第一随机源标识记录;
步骤44,所述随机数发生器根据所述第一随机源标识记录,提取所述随机源标识字节生成第一随机源标识,提取所述随机源状态字节生成第一随机源状态;
步骤45,判断所述第一随机源状态的值是否为开启,如果所述第一随机源状态的值为开启则转至步骤46,如果所述第一随机源状态的值不为开启则转至步骤48;
步骤46,所述随机数发生器对所述第一随机源标识对应的随机源进行随机源数据生成处理,生成第一随机源比特;
步骤47,所述随机数发生器设置所述第一临时比特序列的所述第一比特索引比特位的值为所述第一随机源比特的值;
步骤48,所述随机数发生器将所述第一记录索引的值加1,将所述第一比特索引的值加1;
步骤49,所述随机数发生器判断所述第一记录索引的值是否大于所述第一记录总数的值,所述第一记录索引的值大于所述第一记录总数的值则转至步骤50,如果所述第一记录索引的值小于或等于所述第一记录总数的值则转至步骤43;
步骤50,所述随机数发生器根据所述第一临时比特序列,提取所述第一临时比特序列的所有比特位的值,生成所述第一随机源比特序列。
2.根据权利要求1所述方法,其特征在于,所述方法还包括:
在当所述随机源随机性校验失败之后,所述随机数发生器根据所述随机源列表,对所述随机源列表中标识的随机源进行随机源中止工作处理,并向上位机发送随机源工作异常信息。
3.根据权利要求1所述方法,其特征在于,所述随机数发生器从参数区获取随机源列表,之前还包括:
所述随机数发生器初始化随机性状态字,具体的:
所述随机数发生器初始化所述随机性状态字的第一校验位的值为0;
所述随机数发生器初始化所述随机性状态字的第二校验位的值为0。
4.根据权利要求1所述方法,其特征在于,所述随机数发生器对所述第一随机源标识对应的随机源进行随机源数据生成处理,生成第一随机源比特,具体包括:
所述随机数发生器利用所述随机源的热噪声电阻生成第一电压信号;
所述随机数发生器将所述第一电压信号作为所述随机源的热噪声放大器的输入信号,并利用所述热噪声放大器生成第二电压信号;
所述随机数发生器将所述第二电压信号作为所述随机源的高频振荡器的输入信号,并利用所述高频振荡器生成振荡后信号;
所述随机数发生器将所述振荡后信号作为所述随机源的低频采样电路的输入信号,并利用所述低频采样电路生成采样后信号;
所述随机数发生器对所述采样后信号进行二进制数字化转换处理,生成所述第一随机源比特。
5.根据权利要求1所述方法,其特征在于,所述随机数发生器根据所述第一随机源比特序列,进行随机源比特融合处理,生成第一随机源融合比特,具体包括:
所述随机数发生器提取所述第一随机源比特序列的所有比特,进行比特异或处理,生成所述第一随机源融合比特。
6.根据权利要求3所述方法,其特征在于,所述随机数发生器根据所述第二随机源比特序列,进行随机源随机性校验,具体包括:
所述随机数发生器根据所述第二随机源比特序列进行连续同位校验;
所述随机数发生器根据所述第二随机源比特序列进行卡方检验校验;
所述随机数发生器判断所述随机性状态字的所述第一校验位、第二校验位,当所述第一校验位与所述第二校验位的值均为0时所述随机源随机性校验成功,当所述第一校验位与所述第二校验位的值不全为0时所述随机源随机性校验失败。
7.根据权利要求6所述方法,其特征在于,所述随机数发生器根据所述第二随机源比特序列进行连续同位校验,具体包括:
所述随机数发生器提取所述第二随机源比特序列的第一比特位至第四十八比特位的值,生成连续同位校验比特序列;
判断所述连续同位校验比特序列的值是否为四十八个比特零或一,如果所述连续同位校验比特序列的值为四十八个比特零或一,则所述连续同位校验失败并设置所述随机性状态字的所述第一校验位的值为1;如果所述连续同位校验比特序列的值既不为四十八个比特零也不为四十八个比特一,则所述连续同位校验成功并设置所述随机性状态字的所述第一校验位的值为0。
8.根据权利要求6所述方法,其特征在于,所述随机数发生器根据所述第二随机源比特序列进行卡方检验校验,具体包括:
所述随机数发生器根据所述第二随机源比特序列,从第一比特位起每隔四个比特位,提取连续四个比特位进行二进制到十进制转的数值转换,生成第一自然数、第二自然数直至第三十二自然数;
在由所述第一自然数到所述第三十二自然数组成的自然数序列中,对零到十五这十六个自然数其中任意一个出现在所述自然数序列中的次数进行统计生成第一次数、第二次数直至第十六次数;
对所述第一次数、第二次数直至第十六次数分别做平方计算,生成第一次数平方、第二次数平方直至第十六次数平方;
对所述第一次数平方、第二次数平方直至第十六次数平方做求和计算,生成第一次数平方总和;
所述随机数发生器判断所述第一次数平方总和是否大于194,如果所述第一次数平方总和大于194,则所述卡方检验校验失败并设置所述随机性状态字的所述第二校验位的值为1;如果所述第一次数平方总和小于或等于194,则所述卡方检验校验成功并设置所述随机性状态字的所述第二校验位的值为0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910761973.XA CN110502208B (zh) | 2019-08-16 | 2019-08-16 | 一种随机数发生器的多随机源管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910761973.XA CN110502208B (zh) | 2019-08-16 | 2019-08-16 | 一种随机数发生器的多随机源管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110502208A CN110502208A (zh) | 2019-11-26 |
CN110502208B true CN110502208B (zh) | 2021-05-25 |
Family
ID=68588280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910761973.XA Active CN110502208B (zh) | 2019-08-16 | 2019-08-16 | 一种随机数发生器的多随机源管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110502208B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110531957B (zh) * | 2019-09-11 | 2021-04-23 | 北京智芯微电子科技有限公司 | 随机数发生器的在线检测方法 |
CN110851113A (zh) * | 2020-01-16 | 2020-02-28 | 江苏芯盛智能科技有限公司 | 字节序列随机性的检测方法、装置、存储介质及电子设备 |
CN112835554B (zh) * | 2020-12-31 | 2023-11-07 | 中国科学院信息工程研究所 | 群组内基于不均匀随机源的随机数生成、再生、追踪方法及电子装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103955352A (zh) * | 2014-05-13 | 2014-07-30 | 中国电子科技集团公司第五十八研究所 | 多源输入真随机数发生器电路架构 |
CN105005462A (zh) * | 2015-09-06 | 2015-10-28 | 电子科技大学 | 一种混合式随机数发生器及其产生随机数的方法 |
CN204883681U (zh) * | 2015-08-04 | 2015-12-16 | 徐继斌 | 一种随机数发生器 |
US9747076B1 (en) * | 2014-12-04 | 2017-08-29 | Altera Corporation | Parallel pseudo random bit sequence generation with adjustable width |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100435089C (zh) * | 2005-12-16 | 2008-11-19 | 华南师范大学 | 一种产生真随机码的装置及其产生真随机码的方法 |
CN208888796U (zh) * | 2018-10-22 | 2019-05-21 | 浙江大华技术股份有限公司 | 一种真随机数发生器 |
-
2019
- 2019-08-16 CN CN201910761973.XA patent/CN110502208B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103955352A (zh) * | 2014-05-13 | 2014-07-30 | 中国电子科技集团公司第五十八研究所 | 多源输入真随机数发生器电路架构 |
US9747076B1 (en) * | 2014-12-04 | 2017-08-29 | Altera Corporation | Parallel pseudo random bit sequence generation with adjustable width |
CN204883681U (zh) * | 2015-08-04 | 2015-12-16 | 徐继斌 | 一种随机数发生器 |
CN105005462A (zh) * | 2015-09-06 | 2015-10-28 | 电子科技大学 | 一种混合式随机数发生器及其产生随机数的方法 |
Non-Patent Citations (1)
Title |
---|
基于多随机信号流的密钥生成方案;金梁等;《电子与信息学报》;20190615;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110502208A (zh) | 2019-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110502208B (zh) | 一种随机数发生器的多随机源管理方法 | |
US9292665B2 (en) | Secure serial number | |
RU2696425C1 (ru) | Способ двумерного контроля и обеспечения целостности данных | |
CN106941400B (zh) | 一种基于sram-puf的模糊保险箱认证方法 | |
GB2579635A (en) | A node testing method and apparatus for a blockchain system | |
CN106547648A (zh) | 一种备份数据处理方法及装置 | |
CN110753038A (zh) | 一种异常检测自适应权限控制系统及方法 | |
CN116151826B (zh) | 一种基于区块链的电力交易终端信任管理方法 | |
US8358227B2 (en) | Multi-cell voltage secure data encoding in hybrid vehicles | |
US20220066918A1 (en) | Device and method for testing a sequence generated by a random number generator | |
CN111783099A (zh) | 一种设备安全分析方法、装置及设备 | |
CN112861120A (zh) | 识别方法、设备及存储介质 | |
CN112445785A (zh) | 一种账号爆破检测方法及相关装置 | |
CN113032742B (zh) | 数据脱敏方法和装置、存储介质及电子装置 | |
CN113438067B (zh) | 一种压缩密钥猜测空间的侧信道攻击方法 | |
CN111444270B (zh) | 基于区块链的控制有害信息的方法及系统 | |
CN109657447B (zh) | 一种设备指纹生成方法及装置 | |
WO2021059417A1 (ja) | 計算システム及び計算方法 | |
CN112329025A (zh) | 电力终端旁路安全分析方法及电力终端旁路安全分析系统 | |
CN114205168B (zh) | 一种用于身份认证的终端设备密钥分配方法及系统 | |
Yadav et al. | Secure device identification using multidimensional mapping | |
CN107959571B (zh) | 一种用于puf的快速软判决取值生成方法 | |
CN111884799B (zh) | 一种基于RO-PUF的CRPs库构建方法和系统 | |
CN115439118B (zh) | 一种基于区块链的数字存证管理方法 | |
CN117785859A (zh) | 数据校验方法、装置、设备、介质和计算机程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 100080, Beijing, Suzhou Street, Haidian District No. 20, building 2, on the north side of the four floor Applicant after: Zhaoxun Hengda Technology Co., Ltd Address before: 100080, Beijing, Suzhou Street, Haidian District No. 20, building 2, on the north side of the four floor Applicant before: MEGAHUNT MICROELECTRONIC TECH. (BEIJING) Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |