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比特长度的自检用比特序列;所述随机数发生器根据所述自检用比特序列进行连续同位随机性自检并设置所述第一校验位;所述随机数发生器根据所述第一校验位和所述自检类型,进行第一自检结果核验处理;所 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。