一种随机数发生器的自检方法技术

技术编号:22640788 阅读:21 留言:0更新日期:2019-11-26 15:56
本发明专利技术实施例涉及一种随机数发生器的自检方法,其特征在于,所述方法包括:随机数发生器获取自检类型;初始化随机性状态字,随机性状态字包括:第一校验位、第二校验位;从参数区获取随机源列表,随机源列表由多条随机源标识记录组成,随机数发生器根据随机源列表生成128比特长度的自检用比特序列;根据自检用比特序列进行连续同位随机性自检并设置第一校验位;根据第一校验位和自检类型,进行第一自检结果核验处理;根据自检用比特序列进行卡方检验随机性自检并设置第二校验位;根据第二校验位和自检类型,进行第二自检结果核验处理。本发明专利技术方法不仅提供了两种自检手段保障自检效果,还提供了两种自检触发与回应机制。

A self checking method of random number generator

The embodiment of the invention relates to a self-test method of a random number generator, which is characterized in that the method comprises: the random number generator obtains the self-test type; initializes the random state word, the random state word comprises: the first check bit and the second check bit; obtains the random source list from the parameter area, the random source list is composed of multiple random source identification records, and the random number generator Generate 128 bit length bit sequence for self check according to random source list; carry out continuous bit random self check according to bit sequence for self check and set the first check bit; carry out the first self check result verification according to the first check bit and self check type; carry out random self check according to bit sequence for self check and set the second check bit; carry out random self check according to the second check bit and self check Type, check the second self inspection result. The method of the invention not only provides two self checking means to guarantee the self checking effect, but also provides two self checking trigger and response mechanisms.

【技术实现步骤摘要】
一种随机数发生器的自检方法
本专利技术涉及单片机
,特别涉及一种随机数发生器的自检方法。
技术介绍
随机数发生器在单片机领域已经得到广泛应用,所有与算法协处理器相关的应用都与随机数发生器密不可分,所有与信息加解密的应用都需要由随机数发生器产生随机数种子,从而协助生成过程密钥、加解密随机因子等等。如果随机数发生器工作失常,轻则导致参与加密的初始化数据与过程随机数据的随机性丧失,重则导致参与计算的密钥参数被破坏。
技术实现思路
本专利技术的目的,就是针对现有技术的缺陷,提供一种随机数发生器的自检方法,在自检过程中通过提供两种随机性自检手段完成自检,可以保障对随机数发生器重要部件工作状态功能核验的全面性;在触发方式上通过对两种自检类型的鉴别形成两种自检触发-反馈处理机制,使得随机数发生器不仅仅只可在设备上电复位时执行一次还随时在设备单次上电过程中被上位机多次召起执行。为实现上述目的,本专利技术提供了一种随机数发生器的自检方法,包括:随机数发生器获取自检类型;所述随机数发生器初始化随机性状态字,所述随机性状态字包括:第一校验位、第二校验位;所述随机数发生器从参数区获取随机源列表,所述随机源列表由多条随机源标识记录组成,所述随机数发生器根据所述随机源列表生成128比特长度的自检用比特序列;所述随机数发生器根据所述自检用比特序列进行连续同位随机性自检并设置所述第一校验位;所述随机数发生器根据所述第一校验位和所述自检类型,进行第一自检结果核验处理;所述随机数发生器根据所述自检用比特序列进行卡方检验随机性自检并设置所述第二校验位;所述随机数发生器根据所述第二校验位和所述自检类型,进行第二自检结果核验处理。进一步的,所述随机数发生器初始化随机性状态字,具体包括:所述随机数发生器初始化所述随机性状态字的第一校验位的值为0;所述随机数发生器初始化所述随机性状态字的第二校验位的值为0。进一步的,所述随机数发生器根据所述随机源列表生成128比特长度的自检用比特序列,具体包括:步骤31,所述随机数发生器初始化第一索引的值为1,初始化最大索引的值为128,初始化临时自检用比特序列的数据长度为128比特位,初始化所述临时自检用比特序列的值为全比特0;步骤32,所述随机数发生器根据所述随机源列表,使用所述随机源标识记录对应的随机源生成1比特长度的随机源比特位,并将所述随机源比特位按比特序列顺序位添加的方式,生成第一比特序列;步骤33,所述随机数发生器提取所述第一比特序列的所有比特位,进行比特异或处理,生成第一比特随机位;步骤34,所述随机数发生器将所述临时自检用比特序列的所述第一索引比特位的值设置为所述第一比特随机位的值;步骤35,所述随机数发生器将所述第一索引的值加1;步骤36,判断所述第一索引的值是否大于所述最大索引的值,如果所述第一索引的值大于所述最大索引的值则转至步骤37,如果所述第一索引的值小于或等于所述最大索引的值则转至步骤32;步骤37,所述随机数发生器提取所述临时自检用比特序列,生成所述自检用比特序列。进一步的,所述随机数发生器根据所述自检用比特序列进行连续同位随机性自检并设置所述第一校验位,具体包括:所述随机数发生器提取所述自检用比特序列的第1比特位至第48比特位的值,生成连续同位自检比特序列;所述随机数发生器判断所述连续同位自检比特序列的值是否为48个比特0或1,如果所述连续同位自检比特序列的值为48个比特0或1,则所述连续同位随机性自检失败并设置所述第一校验位的值为1;如果所述连续同位自检比特序列的值为既不是48个比特0也不是48个比特1,则所述连续同位随机性自检成功并设置所述第一校验位的值为0。进一步的,所述随机数发生器根据所述第一校验位和所述自检类型,进行第一自检结果核验处理,具体包括:当所述第一校验位的值为0时,所述随机数发生器退出所述第一自检结果核验;当所述第一校验位的值为1时,所述随机数发生器根据所述自检类型进行第一错误自检结果核验处理。优选的,所述随机数发生器根据所述自检类型进行第一错误自检结果核验处理,具体包括:当所述自检类型为设备上电复位自检类型时,所述随机数发生器退出自检流程并强制执行设备上电复位操作;当所述自检类型为上位机主动自检类型时,所述随机数发生器生成第一自检错误中断信息,所述随机数发生器退出自检流程并向启动本次自检的上位机发送所述第一自检错误中断信息。进一步的,所述随机数发生器根据所述自检用比特序列进行卡方检验随机性自检并设置所述第二校验位,具体包括:所述随机数发生器根据所述自检用比特序列,从第1比特位起每隔4个比特位,提取连续4个比特位的值进行二进制到十进制转的数值转换,生成第一自然数、第二自然数直至第三十二自然数;在由所述第一自然数到所述第三十二自然数组成的自然数序列中,对0到15这16个自然数其中任意一个出现在所述自然数序列中的次数进行统计生成第一次数、第二次数直至第十六次数;对所述第一次数、第二次数直至第十六次数分别做平方计算,生成第一次数平方、第二次数平方直至第十六次数平方;对所述第一次数平方、第二次数平方直至第十六次数平方做求和计算,生成第一次数平方总和;所述随机数发生器判断所述第一次数平方总和是否大于194,如果所述第一次数平方总和大于194,则所述卡方检验随机性自检失败并设置所述第二校验位的值为1;如果所述第一次数平方总和小于或等于194,则所述卡方检验随机性自检成功并设置所述第二校验位的值为0。进一步的,所述随机数发生器根据所述第二校验位和所述自检类型,进行第二自检结果核验处理,具体包括:当所述第二校验位的值为0时,所述随机数发生器退出所述第二自检结果核验;当所述第二校验位的值为1时,所述随机数发生器根据所述自检类型进行第二错误自检结果核验处理。优选的,所述随机数发生器根据所述自检类型进行第二错误自检结果核验处理,具体包括:当所述自检类型为设备上电复位自检类型时,所述随机数发生器退出自检流程并强制执行设备上电复位操作;当所述自检类型为上位机主动自检类型时,所述随机数发生器生成第二自检错误中断信息,所述随机数发生器退出自检流程并向启动本次自检的所述上位机发送所述第二自检错误中断信息。本专利技术提供的一种随机数发生器的自检方法,随机数发生器根据随机源列表生成128位的自检用比特序列;根据自检用比特序列进行连续同位随机性自检并根据自检结果设置第一校验位,结合第一校验位与自检类型进行第一自检结果核验处理;根据自检用比特序列进行卡方检验随机性自检并根据自检结果设置第二校验位,结合第二校验位与自检类型进行第二自检结果核验处理。附图说明图1为本专利技术实施例一提供的一种随机数发生器的自检方法的示意图。图2为本专利技术实施例二提供的一种随机数发生器的自检方法的示意图。本文档来自技高网...

【技术保护点】
1.一种随机数发生器的自检方法,其特征在于,所述方法包括:/n随机数发生器获取自检类型;/n所述随机数发生器初始化随机性状态字,所述随机性状态字包括:第一校验位、第二校验位;/n所述随机数发生器从参数区获取随机源列表,所述随机源列表由多条随机源标识记录组成,所述随机数发生器根据所述随机源列表生成128比特长度的自检用比特序列;/n所述随机数发生器根据所述自检用比特序列进行连续同位随机性自检并设置所述第一校验位;/n所述随机数发生器根据所述第一校验位和所述自检类型,进行第一自检结果核验处理;/n所述随机数发生器根据所述自检用比特序列进行卡方检验随机性自检并设置所述第二校验位;/n所述随机数发生器根据所述第二校验位和所述自检类型,进行第二自检结果核验处理。/n

【技术特征摘要】
1.一种随机数发生器的自检方法,其特征在于,所述方法包括:
随机数发生器获取自检类型;
所述随机数发生器初始化随机性状态字,所述随机性状态字包括:第一校验位、第二校验位;
所述随机数发生器从参数区获取随机源列表,所述随机源列表由多条随机源标识记录组成,所述随机数发生器根据所述随机源列表生成128比特长度的自检用比特序列;
所述随机数发生器根据所述自检用比特序列进行连续同位随机性自检并设置所述第一校验位;
所述随机数发生器根据所述第一校验位和所述自检类型,进行第一自检结果核验处理;
所述随机数发生器根据所述自检用比特序列进行卡方检验随机性自检并设置所述第二校验位;
所述随机数发生器根据所述第二校验位和所述自检类型,进行第二自检结果核验处理。


2.根据权利要求1所述方法,其特征在于,所述随机数发生器初始化随机性状态字,具体包括:
所述随机数发生器初始化所述随机性状态字的第一校验位的值为0;
所述随机数发生器初始化所述随机性状态字的第二校验位的值为0。


3.根据权利要求1所述方法,其特征在于,所述随机数发生器根据所述随机源列表生成128比特长度的自检用比特序列,具体包括:
步骤31,所述随机数发生器初始化第一索引的值为1,初始化最大索引的值为128,初始化临时自检用比特序列的数据长度为128比特位,初始化所述临时自检用比特序列的值为全比特0;
步骤32,所述随机数发生器根据所述随机源列表,使用所述随机源标识记录对应的随机源生成1比特长度的随机源比特位,并将所述随机源比特位按比特序列顺序位添加的方式,生成第一比特序列;
步骤33,所述随机数发生器提取所述第一比特序列的所有比特位,进行比特异或处理,生成第一比特随机位;
步骤34,所述随机数发生器将所述临时自检用比特序列的所述第一索引比特位的值设置为所述第一比特随机位的值;
步骤35,所述随机数发生器将所述第一索引的值加1;
步骤36,判断所述第一索引的值是否大于所述最大索引的值,如果所述第一索引的值大于所述最大索引的值则转至步骤37,如果所述第一索引的值小于或等于所述最大索引的值则转至步骤32;
步骤37,所述随机数发生器提取所述临时自检用比特序列,生成所述自检用比特序列。


4.根据权利要求1所述方法,其特征在于,所述随机数发生器根据所述自检用比特序列进行连续同位随机性自检并设置所述第一校验位,具体包括:
所述随机数发生器提取所述自检用比特序列的第1比特位至第48比特位的值,生成连续同位自检比特序列;
所述随机数发生器判断所述连续同位自检比特序列的值是否为48个比特0或1,如果所述连续同位自检比特序列的值为48个比特0或1,则所述连续同位随机性自检失败并设置所述第一校验位的值为1;如果所述连续同位自检比特序列的值为既不是48个比特0也不是48个比特1...

【专利技术属性】
技术研发人员:李立李凌浩范振伟
申请(专利权)人:兆讯恒达微电子技术北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1