CN110489078B - 一种随机数发生器的自检方法 - Google Patents

一种随机数发生器的自检方法 Download PDF

Info

Publication number
CN110489078B
CN110489078B CN201910761932.0A CN201910761932A CN110489078B CN 110489078 B CN110489078 B CN 110489078B CN 201910761932 A CN201910761932 A CN 201910761932A CN 110489078 B CN110489078 B CN 110489078B
Authority
CN
China
Prior art keywords
self
checking
bit
random number
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
Application number
CN201910761932.0A
Other languages
English (en)
Other versions
CN110489078A (zh
Inventor
李立
李凌浩
范振伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhaoxun Hengda Technology Co Ltd
Original Assignee
Zhaoxun Hengda Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhaoxun Hengda Technology Co Ltd filed Critical Zhaoxun Hengda Technology Co Ltd
Priority to CN201910761932.0A priority Critical patent/CN110489078B/zh
Publication of CN110489078A publication Critical patent/CN110489078A/zh
Application granted granted Critical
Publication of CN110489078B publication Critical patent/CN110489078B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes

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)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

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

Description

一种随机数发生器的自检方法
技术领域
本发明涉及单片机技术领域,特别涉及一种随机数发生器的自检方法。
背景技术
随机数发生器在单片机领域已经得到广泛应用,所有与算法协处理器相关的应用都与随机数发生器密不可分,所有与信息加解密的应用都需要由随机数发生器产生随机数种子,从而协助生成过程密钥、加解密随机因子等等。如果随机数发生器工作失常,轻则导致参与加密的初始化数据与过程随机数据的随机性丧失,重则导致参与计算的密钥参数被破坏。
发明内容
本发明的目的,就是针对现有技术的缺陷,提供一种随机数发生器的自检方法,在自检过程中通过提供两种随机性自检手段完成自检,可以保障对随机数发生器重要部件工作状态功能核验的全面性;在触发方式上通过对两种自检类型的鉴别形成两种自检触发-反馈处理机制,使得随机数发生器不仅仅只可在设备上电复位时执行一次还随时在设备单次上电过程中被上位机多次召起执行。
为实现上述目的,本发明提供了一种随机数发生器的自检方法,包括:
随机数发生器获取自检类型;
所述随机数发生器初始化随机性状态字,所述随机性状态字包括:第一校验位、第二校验位;
所述随机数发生器从参数区获取随机源列表,所述随机源列表由多条随机源标识记录组成,所述随机数发生器根据所述随机源列表生成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为本发明实施例二提供的一种随机数发生器的自检方法的示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在对发明实施例进行详细阐述之前,先对卡方检验算法做一个简单介绍。卡方检验是用于对随机源产生的随机数的静态特性进行检测,每次检测长度为128比特。卡方检验的数学公式为第一公式:
Figure BDA0002169185910000051
其中X2表示观察值与理论值之间的偏离程度,当X2大于预设的临界值时,则认为观测结果不符合预期。Oi为第i次观测的频数,Ei为第i次观测的期望频数。我们将128比特待测数据按每4比特一组,分为32组,观测每组的值,从而统计0,1,2~15这16个数在32组中出现的次数。因为每组0,1,2~15中每一个数出现的概率1/16,故
Figure BDA0002169185910000061
将Ei代入上述卡方检验的数学公式,并设定临界值为65,则推出第一关系式:
Figure BDA0002169185910000062
对第一关系式进一步简化,生成第二关系式:
Figure BDA0002169185910000063
根据第二关系式,设定判断标准:如果第二关系式成立,则说明卡方检验失败。
本发明实施例一,如图1为本发明实施例一提供的一种随机数发生器的自检方法的示意图所示,方法包括以下步骤:
步骤131,随机数发生器获取自检类型。
步骤132,随机数发生器初始化随机性状态字,随机性状态字包括:第一校验位、第二校验位,
具体包括:步骤1321,随机数发生器初始化随机性状态字的第一校验位的值为0;
步骤1322,随机数发生器初始化随机性状态字的第二校验位的值为0。
步骤133,随机数发生器从参数区获取随机源列表,随机源列表由多条随机源标识记录组成,随机数发生器根据随机源列表生成128比特长度的自检用比特序列,
具体包括:步骤1331,随机数发生器初始化第一索引的值为1,初始化最大索引的值为128,初始化临时自检用比特序列的数据长度为128比特位,初始化临时自检用比特序列的值为全比特0;
步骤1332,随机数发生器根据随机源列表,使用随机源标识记录对应的随机源生成1比特长度的随机源比特位,并将随机源比特位按比特序列顺序位添加的方式,生成第一比特序列;
此处,例如随机源列表中含有四条随机源标识记录,则意味着有4个随机源同时各自生成1个随机源比特位,则意味着第一比特序列包含四个比特位,每个序列比特位分别对应一个随机源产生的随机源比特位。
步骤1333,随机数发生器提取第一比特序列的所有比特位,进行比特异或处理,生成第一比特随机位;
此处,例如第一随机比特位包含4个比特位,则随机数发生器将这4个比特位进行全部提取,并使四个比特位进行异或,最终生成一个比特的第一比特随机位。
步骤1334,随机数发生器将临时自检用比特序列的第一索引比特位的值设置为第一比特随机位的值;
此处,按当前临时自检用比特序列的索引比特位关系,将临时自检用比特序列当前比特位的值按由步骤1333中生成的第一比特随机位的值进行改写。
步骤1335,随机数发生器将第一索引的值加1;
步骤1336,判断第一索引的值是否大于最大索引的值,如果第一索引的值大于最大索引的值则转至步骤1337,如果第一索引的值小于或等于最大索引的值则转至步骤1332;
步骤1337,随机数发生器根据临时自检用比特序列,生成自检用比特序列。
此处,通过128次循环之后,将被改写过128次的临时自检用比特序列向自检用比特序列进行去全复制,生成由128个随机比特位组成的比特序列。
步骤134,随机数发生器根据自检用比特序列进行连续同位随机性自检并设置第一校验位,
具体包括:步骤1341,随机数发生器提取自检用比特序列的第一比特位至第四十八比特位的值,生成连续同位自检比特序列;
步骤1342,判断连续同位自检比特序列的值是否为48个比特0或1,如果连续同位自检比特序列的值为48个比特0或1,则连续同位随机性自检失败并设置第一校验位的值为1;如果连续同位自检比特序列的值为既不是48个比特0也不是48个比特1,则连续同位随机性自检成功并设置第一校验位的值为0。
步骤135,随机数发生器根据第一校验位和自检类型,进行第一自检结果核验处理,
具体包括:步骤1351,当第一校验位的值为0时,随机数发生器退出第一自检结果核验,转至步骤136;
步骤1352,当第一校验位的值为1时,随机数发生器根据自检类型进行第一错误自检结果核验处理,
具体包括:步骤13521,当自检类型为设备上电复位自检类型时,随机数发生器退出自检流程并强制执行设备上电复位操作;
步骤13522,当自检类型为上位机主动自检类型时,随机数发生器根据第一校验位生成第一自检错误中断信息,随机数发生器退出自检流程并向启动本次自检的上位机发送第一自检错误中断信息。
步骤136,随机数发生器根据自检用比特序列进行卡方检验随机性自检并设置第二校验位,
具体包括:步骤1361,随机数发生器根据自检用比特序列,从第一比特位起每隔4个比特位,提取连续4个比特位的值进行二进制到十进制转的数值转换,生成第一自然数、第二自然数直至第三十二自然数;
步骤1362,在由第一自然数到第三十二自然数组成的自然数序列中,对0到15这16个自然数其中任意一个出现在自然数序列中的次数进行统计生成第一次数、第二次数直至第十六次数;
步骤1363,对第一次数、第二次数直至第十六次数分别做平方计算,生成第一次数平方、第二次数平方直至第十六次数平方;
步骤1364,对第一次数平方、第二次数平方直至第十六次数平方做求和计算,生成第一次数平方总和;
步骤1365,随机数发生器判断第一次数平方总和是否大于194,如果第一次数平方总和大于194,则卡方检验随机性自检失败并设置第二校验位的值为1;如果第一次数平方总和小于或等于194,则卡方检验随机性自检成功并设置第二校验位的值为0。
步骤137,随机数发生器根据第二校验位和自检类型,进行第二自检结果核验处理,
具体包括:步骤1371,当第二校验位的值为0时,随机数发生器退出第二自检结果核验并结束随机数自检处理流程;
步骤1372,当第二校验位的值为1时,随机数发生器根据自检类型进行第二错误自检结果核验处理,
具体包括:步骤13721,当自检类型为设备上电复位自检类型时,随机数发生器退出自检流程并强制执行设备上电复位操作;
步骤13722,当自检类型为上位机主动自检类型时,随机数发生器根据第二校验位生成第二自检错误中断信息,随机数发生器退出自检流程并向启动本次自检的上位机发送第二自检错误中断信息。
本发明实施例二,如图2为本发明实施例二提供的一种随机数发生器的自检方法的示意图所示,方法包括以下步骤:
步骤231,随机数发生器获取自检类型,此处获取的自检类型的值具体为:设备上电复位自检类型。
步骤232,随机数发生器初始化随机性状态字,随机性状态字包括:第一校验位、第二校验位,
具体包括:步骤2321,随机数发生器初始化随机性状态字的第一校验位的值为0;
步骤2322,随机数发生器初始化随机性状态字的第二校验位的值为0。
步骤233,随机数发生器从参数区获取随机源列表,随机源列表由多条随机源标识记录组成,随机数发生器根据随机源列表生成128比特长度的自检用比特序列,
具体包括:步骤2331,随机数发生器初始化第一索引的值为1,初始化最大索引的值为128,初始化临时自检用比特序列的数据长度为128比特位,初始化临时自检用比特序列的值为全比特0;
步骤2332,随机数发生器根据随机源列表,使用随机源标识记录对应的随机源生成1比特长度的随机源比特位,并将随机源比特位按比特序列顺序位添加的方式,生成第一比特序列;
此处,例如随机源列表中含有四条随机源标识记录,则意味着有4个随机源同时各自生成1个随机源比特位,则意味着第一比特序列包含四个比特位,每个序列比特位分别对应一个随机源产生的随机源比特位。
步骤2333,随机数发生器提取第一比特序列的所有比特位,进行比特异或处理,生成第一比特随机位;
此处,例如第一随机比特位包含4个比特位,则随机数发生器将这4个比特位进行全部提取,并使四个比特位进行异或,最终生成一个比特的第一比特随机位。
步骤2334,随机数发生器将临时自检用比特序列的第一索引比特位的值设置为第一比特随机位的值;
此处,按当前临时自检用比特序列的索引比特位关系,将临时自检用比特序列当前比特位的值按由步骤2333中生成的第一比特随机位的值进行改写。
步骤2335,随机数发生器将第一索引的值加1;
步骤2336,判断第一索引的值是否大于最大索引的值,如果第一索引的值大于最大索引的值则转至步骤2337,如果第一索引的值小于或等于最大索引的值则转至步骤2332;
步骤2337,随机数发生器根据临时自检用比特序列,生成自检用比特序列。
此处,通过128次循环之后,将被改写过128次的临时自检用比特序列向自检用比特序列进行去全复制,生成由128个随机比特位组成的比特序列。
步骤234,随机数发生器根据自检用比特序列进行连续同位随机性自检并设置第一校验位,
此处自检用比特序列的值即不为48比特全0也不是48比特全1,所以连续同位随机性自检成功且第一检验位的值被设置为0。
步骤235,随机数发生器根据第一校验位和自检类型,进行第一自检结果核验处理,
此处,第一校验位的值为0,随机数发生器退出第一自检结果核验并进入步骤236继续自检流程。
步骤236,随机数发生器根据自检用比特序列进行卡方检验随机性自检并设置第二校验位,
具体包括:步骤2361,随机数发生器根据自检用比特序列,从第一比特位起每隔4个比特位,提取连续4个比特位的值进行二进制到十进制转的数值转换,生成第一自然数、第二自然数直至第三十二自然数;
步骤2362,在由第一自然数到第三十二自然数组成的自然数序列中,对0到15这16个自然数其中任意一个出现在自然数序列中的次数进行统计生成第一次数、第二次数直至第十六次数;
步骤2363,对第一次数、第二次数直至第十六次数分别做平方计算,生成第一次数平方、第二次数平方直至第十六次数平方;
步骤2364,对第一次数平方、第二次数平方直至第十六次数平方做求和计算,生成第一次数平方总和;
步骤2365,随机数发生器判断第一次数平方总和是否大于194,如果第一次数平方总和大于194,则卡方检验随机性自检失败并设置第二校验位的值为1;如果第一次数平方总和小于或等于194,则卡方检验随机性自检成功并设置第二校验位的值为0。
此处,假设自检用比特序列的值经由卡方检验计算后得出的第一次数平方总和大于194,则设置第二检验位的值为1。
步骤237,随机数发生器根据第二校验位和自检类型,进行第二自检结果核验处理,
此处第二校验位的值为1,自检类型为设备上电复位自检类型,则随机数发生器退出自检流程并强制执行设备上电复位操作。
本发明提供的一种随机数发生器的自检方法,随机数发生器根据随机源列表生成128位的自检用比特序列;根据自检用比特序列进行连续同位随机性自检并根据自检结果设置第一校验位,结合第一校验位与自检类型进行第一自检结果核验处理;根据自检用比特序列进行卡方检验随机性自检并根据自检结果设置第二校验位,结合第二校验位与自检类型进行第二自检结果核验处理。本发明方法在自检过程中通过提供两种随机性自检手段完成自检,可以保障对随机数发生器重要部件工作状态功能核验的全面性;在触发方式上通过对两种自检类型的鉴别形成两种自检触发-反馈处理机制,使得随机数发生器不仅仅只可在设备上电复位时执行一次还随时在设备单次上电过程中被上位机多次召起执行。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种随机数发生器的自检方法,其特征在于,所述方法包括:
随机数发生器获取自检类型;
所述随机数发生器初始化随机性状态字,所述随机性状态字包括:第一校验位、第二校验位;
所述随机数发生器从参数区获取随机源列表,所述随机源列表由多条随机源标识记录组成,所述随机数发生器根据所述随机源列表生成128比特长度的自检用比特序列;
所述随机数发生器根据所述自检用比特序列进行连续同位随机性自检并设置所述第一校验位;
所述随机数发生器根据所述第一校验位和所述自检类型,进行第一自检结果核验处理;
所述随机数发生器根据所述自检用比特序列进行卡方检验随机性自检并设置所述第二校验位;
所述随机数发生器根据所述第二校验位和所述自检类型,进行第二自检结果核验处理;
其中,所述随机数发生器根据所述第一校验位和所述自检类型,进行第一自检结果核验处理,具体包括:
当所述第一校验位的值为0时,所述随机数发生器退出所述第一自检结果核验;
当所述第一校验位的值为1时,所述随机数发生器根据所述自检类型进行第一错误自检结果核验处理;
所述随机数发生器根据所述自检类型进行第一错误自检结果核验处理,具体包括:
当所述自检类型为设备上电复位自检类型时,所述随机数发生器退出自检流程并强制执行设备上电复位操作;
当所述自检类型为上位机主动自检类型时,所述随机数发生器生成第一自检错误中断信息,所述随机数发生器退出自检流程并向启动本次自检的上位机发送所述第一自检错误中断信息;
所述随机数发生器根据所述第二校验位和所述自检类型,进行第二自检结果核验处理,具体包括:
当所述第二校验位的值为0时,所述随机数发生器退出所述第二自检结果核验;
当所述第二校验位的值为1时,所述随机数发生器根据所述自检类型进行第二错误自检结果核验处理;
所述随机数发生器根据所述自检类型进行第二错误自检结果核验处理,具体包括:
当所述自检类型为设备上电复位自检类型时,所述随机数发生器退出自检流程并强制执行设备上电复位操作;
当所述自检类型为上位机主动自检类型时,所述随机数发生器生成第二自检错误中断信息,所述随机数发生器退出自检流程并向启动本次自检的所述上位机发送所述第二自检错误中断信息。
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,则所述连续同位随机性自检成功并设置所述第一校验位的值为0。
5.根据权利要求1所述方法,其特征在于,所述随机数发生器根据所述自检用比特序列进行卡方检验随机性自检并设置所述第二校验位,具体包括:
所述随机数发生器根据所述自检用比特序列,从第1比特位起每隔4个比特位,提取连续4个比特位的值进行二进制到十进制转的数值转换,生成第一自然数、第二自然数直至第三十二自然数;
在由所述第一自然数到所述第三十二自然数组成的自然数序列中,对0到15这16个自然数其中任意一个出现在所述自然数序列中的次数进行统计生成第一次数、第二次数直至第十六次数;
对所述第一次数、第二次数直至第十六次数分别做平方计算,生成第一次数平方、第二次数平方直至第十六次数平方;
对所述第一次数平方、第二次数平方直至第十六次数平方做求和计算,生成第一次数平方总和;
所述随机数发生器判断所述第一次数平方总和是否大于194,如果所述第一次数平方总和大于194,则所述卡方检验随机性自检失败并设置所述第二校验位的值为1;如果所述第一次数平方总和小于或等于194,则所述卡方检验随机性自检成功并设置所述第二校验位的值为0。
CN201910761932.0A 2019-08-16 2019-08-16 一种随机数发生器的自检方法 Active CN110489078B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910761932.0A CN110489078B (zh) 2019-08-16 2019-08-16 一种随机数发生器的自检方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910761932.0A CN110489078B (zh) 2019-08-16 2019-08-16 一种随机数发生器的自检方法

Publications (2)

Publication Number Publication Date
CN110489078A CN110489078A (zh) 2019-11-22
CN110489078B true CN110489078B (zh) 2021-05-25

Family

ID=68552063

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910761932.0A Active CN110489078B (zh) 2019-08-16 2019-08-16 一种随机数发生器的自检方法

Country Status (1)

Country Link
CN (1) CN110489078B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1636184A (zh) * 2002-02-21 2005-07-06 皇家飞利浦电子股份有限公司 使用自相关的随机性测试
US9201630B2 (en) * 2012-02-10 2015-12-01 Seagate Technology Llc Random number generation using startup variances
CN105912834A (zh) * 2015-02-19 2016-08-31 英飞凌科技股份有限公司 用于检查随机数序列的熵的装置和方法
CN110045956A (zh) * 2019-04-16 2019-07-23 北京字节跳动网络技术有限公司 组件的配置方法、装置、设备及可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109063522B (zh) * 2018-06-19 2021-10-08 浙江工商大学 读卡器的读卡方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1636184A (zh) * 2002-02-21 2005-07-06 皇家飞利浦电子股份有限公司 使用自相关的随机性测试
US9201630B2 (en) * 2012-02-10 2015-12-01 Seagate Technology Llc Random number generation using startup variances
CN105912834A (zh) * 2015-02-19 2016-08-31 英飞凌科技股份有限公司 用于检查随机数序列的熵的装置和方法
CN110045956A (zh) * 2019-04-16 2019-07-23 北京字节跳动网络技术有限公司 组件的配置方法、装置、设备及可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于卡方拟合优度检验的序列等概性测试组;亓民勇等;《计算机工程与设计》;20120717;全文 *

Also Published As

Publication number Publication date
CN110489078A (zh) 2019-11-22

Similar Documents

Publication Publication Date Title
RU2696425C1 (ru) Способ двумерного контроля и обеспечения целостности данных
Chothia et al. A statistical test for information leaks using continuous mutual information
CN106407808A (zh) 减轻区块链攻击
US20150318999A1 (en) Derivation of a Device-Specific Value
CN110502208B (zh) 一种随机数发生器的多随机源管理方法
US7788506B2 (en) Method and device for protecting a memory against attacks by error injection
US10235134B1 (en) Rotating bit values while generating a large, non-compressible data stream
US20150169462A1 (en) Apparatus, a system, a method and a computer program for erasing data stored on a storage device
US11093331B2 (en) Method, device and computer program product for detecting incomplete write of data
RU2680739C1 (ru) Способ контроля и обеспечения целостности данных
US10218764B2 (en) Generating a large, non-compressible data stream
US10853324B2 (en) Generating a data stream with a predictable change rate
CN106941400A (zh) 一种基于sram‑puf的模糊保险箱认证方法
CN106547648A (zh) 一种备份数据处理方法及装置
Dichenko et al. Controlling and restoring the integrity of multi-dimensional data arrays through cryptocode constructs
CN110489078B (zh) 一种随机数发生器的自检方法
CN108572882B (zh) 一种数据存储的方法及存储设备
CN111859424A (zh) 物理管理平台的数据加密方法、系统、终端及存储介质
US11238948B2 (en) Testing memory cells by allocating an access value to a memory access and granting an access credit
CN115664868A (zh) 安全等级确定方法、装置、电子设备和存储介质
Laban et al. Leakage free helper data storage in microcontroller based PUF implementation
CN108628695B (zh) 互信息计算方法与装置
EP2697732B1 (en) Mass serialization
CN110502209B (zh) 一种随机数发生器防注入式攻击的方法
CN110311773A (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