CN117093983A - 一种随机数验证方法及装置、存储介质及电子设备 - Google Patents
一种随机数验证方法及装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN117093983A CN117093983A CN202311356057.0A CN202311356057A CN117093983A CN 117093983 A CN117093983 A CN 117093983A CN 202311356057 A CN202311356057 A CN 202311356057A CN 117093983 A CN117093983 A CN 117093983A
- Authority
- CN
- China
- Prior art keywords
- random number
- binary random
- number sequence
- sequence
- binary
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000012795 verification Methods 0.000 title claims abstract description 61
- 238000004364 calculation method Methods 0.000 claims description 104
- 238000001514 detection method Methods 0.000 description 172
- 238000010586 diagram Methods 0.000 description 6
- 238000009795 derivation Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000009469 supplementation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- 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
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Complex Calculations (AREA)
Abstract
本申请提供了一种随机数验证方法及装置、存储介质及电子设备,可应用于信息安全技术领域,该方法通过统计二元随机数序列中包括的第一元素的个数,接着对二元随机数序列进行移位操作,并对二元随机数序列和移位操作后的二元随机数序列进行计算,得到第一计算结果,然后将二元随机数序列划分为多个子序列,并对各个子序列进行计算,从而当二元随机数序列中包括的第一元素的个数处于预设的频数范围内,第一计算结果处于预设的自相关范围内,且对各个子序列进行计算的计算结果小于预设阈值时,确定出二元随机数序列通过验证。可见,本申请方案,实现了对二元随机数序列进行验证,并且易于实现,以及具有较高的精度和复杂度。
Description
技术领域
本申请涉及信息安全技术领域,尤其涉及一种随机数验证方法及装置、存储介质及电子设备。
背景技术
目前,随机数在密码学的领域占有着举足轻重的地位,一个有缺陷的随机数可能会导致整个密码系统存在安全隐患,一旦密码系统被攻破,导致巨大的财产损失。
因此,如何提供一种能够实现对随机数进行验证,以降低密码系统安全隐患的方案,是目前本领域技术人员亟需解决的技术问题。
发明内容
本申请提供了一种随机数验证方法及装置、存储介质及电子设备,目的在于实现对随机数进行验证,以降低密码系统的安全隐患。
为了实现上述目的,本申请提供了以下技术方案:
一种随机数验证方法,包括:
获取待验证的二元随机数序列;
统计所述二元随机数序列中包括的第一元素的个数;
对所述二元随机数序列进行移位操作,并对所述二元随机数序列和移位操作后的二元随机数序列进行计算,得到第一计算结果;
将所述二元随机数序列划分为多个子序列,并对各个子序列进行计算;
若所述二元随机数序列中包括的第一元素的个数处于预设的频数范围内,所述第一计算结果处于预设的自相关范围内,且对各个子序列进行计算的计算结果小于预设阈值,则确定出所述二元随机数序列通过验证。
上述的方法,可选的,所述对所述二元随机数序列和移位操作后的二元随机数序列进行计算,得到第一计算结果,包括:
对所述二元随机数序列和移位操作后的二元随机数序列进行异或操作,得到异或结果序列;
统计所述异或结果序列中包括的第一元素的个数,得到第一计算结果。
上述的方法,可选的,所述将所述二元随机数序列划分为多个子序列,包括:
将所述二元随机数序列划分为长度为n的多个第一子序列;其中,所述n为正整数;
将所述二元随机数序列划分为长度为m的多个第二子序列;其中,所述m为正整数。
上述的方法,可选的,所述对各个子序列进行计算,包括:
统计每一种第一子序列类型对应的第一子序列的频数;
计算各种第一子序列类型对应的第一子序列的频数的平方和;
统计每一种第二子序列类型对应的第二子序列的频数;
计算各种第二子序列类型对应的第二子序列的频数的平方和,得到平方和结果,并计算所述平方和结果的均值与第二子序列的总个数之间的差值。
上述的方法,可选的,所述预设阈值包括卡方阈值和扑克阈值,所述对各个子序列进行计算的计算结果小于预设阈值,包括:
各种第一子序列类型对应的第一子序列的频数的平方和小于卡方阈值,且所述平方结果的均值与第二子序列的总个数之间的差值小于扑克阈值。
上述的方法,可选的,在所述二元随机数序列中包括的第一元素的个数处于预设的频数范围内,所述第一计算结果处于预设的自相关范围内,且对各个子序列进行计算的计算结果小于预设阈值之后,还包括:
统计所述二元随机数序列中包括的第二元素的个数;
对所述二元随机数序列中包括的第一元素的个数、所述二元随机数序列中包括的第二元素的个数和所述平方和结果进行计算,得到第二计算结果;
若所述第二计算结果小于序列阈值,则确定所述二元随机数序列通过验证;
若所述第二计算结果不小于序列阈值,则确定出所述二元随机数序列未通过验证。
上述的方法,可选的,在所述第二计算结果小于序列阈值之后,还包括:
确定所述二元随机数序列中包括的各个游程;
从各个游程中确定最大游程;
若最大游程小于最大游程阈值,且所述二元随机数序列中包括的游程的个数大于游程数阈值,则确定所述二元随机数序列通过验证;
若最大游程小于最大游程阈值,或所述二元随机数序列中包括的游程的个数大于游程数阈值,则确定出所述二元随机数序列未通过验证。
一种随机数验证装置,包括:
获取单元,用于获取待验证的二元随机数序列;
统计单元,用于统计所述二元随机数序列中包括的第一元素的个数;
第一计算单元,用于对所述二元随机数序列进行移位操作,并对所述二元随机数序列和移位操作后的二元随机数序列进行计算,得到第一计算结果;
第二计算单元,用于将所述二元随机数序列划分为多个子序列,并对各个子序列进行计算;
第一确定单元,用于若所述二元随机数序列中包括的第一元素的个数处于预设的频数范围内,所述第一计算结果处于预设的自相关范围内,且对各个子序列进行计算的计算结果小于预设阈值,则确定出所述二元随机数序列通过验证。
一种存储介质,所述存储介质存储有指令集,其中,所述指令集被处理器执行时实现如上述的随机数验证方法。
一种电子设备,包括:
存储器,用于存储至少一组指令集;
处理器,用于执行所述存储器中存储的指令集,通过执行所述指令集实现如上述的随机数验证方法。
与现有技术相比,本申请包括以下优点:
本申请提供了一种随机数验证方法及装置、存储介质及电子设备,通过统计二元随机数序列中包括的第一元素的个数,接着对二元随机数序列进行移位操作,并对二元随机数序列和移位操作后的二元随机数序列进行计算,得到第一计算结果,然后将二元随机数序列划分为多个子序列,并对各个子序列进行计算,从而当二元随机数序列中包括的第一元素的个数处于预设的频数范围内,第一计算结果处于预设的自相关范围内,且对各个子序列进行计算的计算结果小于预设阈值时,确定出二元随机数序列通过验证。可见,本申请方案,实现了对二元随机数序列进行验证,并且易于实现,以及具有较高的精度和复杂度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种随机数验证系统的结构示意图;
图2为本申请提供的一种自相关检测的示例图;
图3为本申请提供的一种频数检测的示例图;
图4为本申请提供的一种随机数验证方法的方法流程图;
图5为本申请提供的一种随机数验证方法的又一方法流程图;
图6为本申请提供的一种随机数验证方法的又一方法流程图;
图7为本申请提供的一种随机数验证方法的又一方法流程图;
图8为本申请提供的一种随机数验证方法的又一方法流程图;
图9为本申请提供的一种随机数验证方法的又一方法流程图;
图10为本申请提供的一种随机数验证装置的结构示意图;
图11为本申请提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本申请公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本申请公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本申请可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
参阅图1,本申请实施例提供了一种随机数验证系统100,包括卡方检测模块101、自相关检测模块102、频数检测模块103、序列检测模块104、扑克检测模块105、游程数检测模块106、最大游程检测模块107和判断模块108。
其中,卡方检测模块101,用于对二元随机数序列进行卡方检测,并将卡方检测的结果发送至判断模块;
自相关检测模块102,用于对二元随机数序列进行自相关检测,并将自相关检测的结果发送至判断模块;
频数检测模块103,用于对二元随机数序列进行频数检测,并将频数检测的结果发送至判断模块;
序列检测模块104,用于对二元随机数序列进行序列检测,并将序列检测的结果发送至判断模块;
扑克检测模块105,用于对二元随机数序列进行扑克检测,并将扑克检测的结果发送至判断模块;
游程数检测模块106,用于对二元随机数序列进行游程数检测,并将游程数检测的结果发送至判断模块;
最大游程检测模块107,用于对二元随机数序列进行最大游程检测,并将最大游程检测的结果发送至判断模块;
判断模块108,用于判断卡方检测的结果是否表征通过卡方检测、自相关检测的结果是否表征通过自相关检测、频数检测的结果是否表征通过频数检测、序列检测的结果是否表征通过序列检测、扑克检测的结果是否表征通过扑克检测、游程数检测的结果是否表征通过游程数检测、最大游程检测的结果是否表征通过最大游程检测,若卡方检测的结果表征通过卡方检测,自相关检测的结果表征通过自相关检测,频数检测的结果表征通过频数检测,序列检测的结果表征通过序列检测,扑克检测的结果表征通过扑克检测,游程数检测的结果表征通过游程数检测,且最大游程检测的结果是否表征通过最大游程检测,则确定出二元随机数通过验证。
其中,对二元随机数序列进行卡方检测过程为:
本实施例中,已知卡方值的计算公式为,其中,Q i 为频数,E i 为期望值,X 1 2为卡方值。
本申请发明人通过对卡方值的计算公式进行优化推导,具体的,以64比特的二元随机数序列(即长度为64的二元随机数序列)为例,将64比特的二元随机数序列划分为16组数据块,每组数据块为4比特数据,从而得到W 0=(B 0,…,B 3),…,W 15=(B 60,…,B 63),其中,W 0为第一组4比特数据,以此类推,W 15为第15组4比特数据,B 0为第一比特数据,B 3为第四比特数据,以此类推,B 63为第64比特数据。4比特的数据块的取值范围为0≤i≤15。Q i 为频数。即为16组数据块中数值为i的数据块的个数,由于4比特的数据块的可能取值只有16种,理想情况下E i =16/16=1,显著水平选择为3.8×10-7,通过查表得到判断条件为X 1 2≤40,从而卡方值的计算方式可以转换为。
对公式继续推导,得到:,由于64比特的二元随机数序列可以划分为16组4比特数据,每组4比特数据中数值为“0”至“15”的情况出现的实际频数的总和/>,从而可以推导出64比特的二元随机数序列的卡方检测公式为:。
同理,可以推导出128比特的二元随机数序列的卡方检测公式为:。
同理,可以推导出16比特、512比特、1024比特等的卡方检测公式,此处不再赘述。
基于卡方检测公式,对二元随机数序列进行卡方检测的具体实现过程,包括:设置一个4比特以为寄存器,对二元随机数序列进行每4比特移位,每移出一个4比特数据快,计算该数据快的数值,并利用计算器计算出该数值出现的次数,当二元随机数序列全部移位完成之后,计算出平方和,计算该平方和是否小于二元随机数序列的序列长度对应的卡方阈值,例如,若二元随机数序列为64比特,则判断平方和是否小于96,若小于96,则确定出二元随机数序列通过卡方检测。
需要说明的是,本申请实施例提及的卡方检测,既保留了现有卡方检测的高复杂度,又易于实现,且对短数据仍然具有高精度。
其中,对二元随机数序列进行自相关检测过程为:
自相关检测需要统计原二元随机数序列与移位d位后的不同元素,d为预设值,取值范围为1≤d≤(n/2),优选的,取d=4,其中,n表示二元随机数序列的序列长度,也就是比特数,选取显著水平α=0.05,查找统计量对一个分布的分位数表,得到阈值为1.96,则自相关检测公式如下:
其中,A(d)为对原二元随机数序列和移位d位后的二元随机数序列进行异或处理得到的结果中包括的元素1的个数。
为使自相关检查易于实现,对自相关检测公式进行优化推导,对公式两边进行平方,去除了公式中不便于实现的平方根部分,整理为易于实现的加减运算:。
从而,对于32比特,即n=32,d=4,自相关检测公式为:28A(d)-A(d) 2≥169.108。
参阅图2,图2为对32比特的自相关检测公式进行绘图的结果,由图2可知,当8<A (d)<20时,确定出通过自相关检测。
同理,对于其他比特的二元随机数序列,可以通过上述推导确定出其他比特下,通过自相关检测的自相关范围。
基于自相关检测公式,对二元随机数序列进行自相关检测的具体实现过程,包括:设置一个以为寄存器,然后将原二元随机数序列左移4位后,存在寄存器中,将移位后的二元随机数序列和原二元随机数序列进行逐比特异或,利用计数器,对异或为1的个数进行统计,如果个数在对应的阈值范围内,则确定出二元随机数序列通过自相关检测。
本申请实施例提供的自相关检测,只需统计移位后异或各比特为1的个数,即可实现对二元随机数序列进行自相关检测,免于复杂的计算,且易于实现,对短数据仍然具有高精度。
其中,对二元随机数序列进行频数检测过程为:
频数检测公式为:X 3=(n 0 -n 1)2/n,其中,n 0为比特0(即元素0)的个数,n 1为比特1的个数,通过显著水平选择α=0.05,查找统计量所对应分布的分位数表,阈值为3.8415,即小于3.8415,即为通过频数检测。
以32比特的二元随机数序列为例,n 0=32-n 1,本申请发明人对频数检测公式进行推导,得到32比特的频数检测公式为:901+41n 1 2-128n 1<0。
对32比特的频数检测公式进行绘图,如图3所示,若10<n 1<22,则确定出二元随机数序列通过频数检测。
同理,其他比特的频数检测公式的推导过程和频数范围的确定可以参见上述提及的32比特的频数检测公式的推导过程和阈值范围的确定,此处不再赘述。
基于频数检测公式,对二元随机数序列进行频数检测的具体实现过程,包括:设置计数器,对二元随机数序列进行逐比特判断,以统计二元随机数序列中包括的比特1的个数,即,如果当前判断的比特为1,也就是元素为1,则计数器加一,在完成所有比特的判断后,计数器当前的结果即为二元随机数序列中包括的比特1的个数;若比特1的个数处于对应的频数范围,则确定出通过频数检测,示例性的,对于32比特的二元随机数序列,若比特1的个数处于(10,20)的范围内,则确定出该32比特的二元随机数序列通过频数检测。
其中,对二元随机数序列进行序列检测过程为:
通过序列检测公式,对二元随机数序列进行序列检测,具体的,获取二元随机数序列中包括的比特1(即元素1)的个数n 1和比特0的个数n 0,并将二元随机数序列划分为多个包括两个比特的数据块,从而,数据块存在四种情况,具体为:00、01、10和11,统计每一种类型的数据块的个数。
序列检测公式为:,其中,n ij为任意一种类型的数据块的个数。
选取显著水平α=0.05,查找统计量所对应分布的分位数表,得到序列阈值为5.991,即通过序列检测公式计算出的值小于5.991时,确定出通过序列检测。
其中,将二元随机数序列划分为多个包括两个比特的数据块,并统计每一种类型的数据块的个数的具体实现过程,包括:设置一个2比特以为寄存器,对原二元随机数序列进行每2比特移位,每一出一个2比特数据块,对该数据块进行取值,计算每一种类型的数据块的个数。
其中,对二元随机数序列进行扑克检测过程为:
将二元随机数序列划分为长度为m的多个数据块,计算每一种类型的数据块的频次,依据每一种类型的数据块的频次和总的数据块的个数,通过扑克检测公式,对二元随机数序列进行扑克检测。
其中,扑克检测公式为:,其中,k为总的数据块的个数,m为待划分的数据块的长度。
优选的,m为2,在显著水平α=0.05下,扑克阈值为7.814,即若通过扑克检测公式计算出的数值X 5<70814,则确定出二元随机数序列通过扑克检测。
示例性的,以32比特的二元随机数序列为例,m=2,k=16,则32比特的扑克检测公式为。
同理,其他比特的二元随机序列的扑克检测公式的推导过程请参见上述提及的32比特的二元随机数序列的扑克检测公式的推导过程,此处不在赘述。
可选的,可以上述提及在序列检测时所计算的每一种类型的数据块的个数的平方和的计算结果存储至寄存器中,然后直接复用寄存器中存储的计算结果,代入至扑克检测公式中,从而得到通过扑克检测公式计算出的数值X 5。
其中,对二元随机数序列进行游程数检测以及最大游程检测的过程为:
统计二元随机数序列的游程数,如果游程数小于游程数阈值,则确定出为通过游程数检测,若不小于游程数阈值,则确定出通过游程数检测。
其中,统计二元随机数序列的游程数的过程,包括:将二元随机数序列第i与第i+1位进行比较,如果不同,则对游程数计数器加一。
统计二元随机数序列包括的各个游程中的最大游程,若最大游程大于最大游程阈值,则确定出二元随机数序列通过最大游程检测。
本申请实施例提供了一种随机数验证方法,该方法的方法流程图如图4所示,具体包括:
S401、获取待验证的二元随机数序列。
本实施例中,获取待验证的二元随机数序列,其中,二元随机数序列的进制数为二进制,也就是说,二元随机数序列由元素1和元素0组成。
需要说明的是,本实施例不对二元随机数序列包括的元素的个数进行限定,即,二元随机数序列可以是32比特的,也可以是64比特的,或者是128比特的或者其他比特的,也就是说,二元随机数序列的序列长度可以是32、64或128等。
获取待验证的二元随机数序列的具体实现过程,包括以下步骤:
获取待验证的随机数序列;
需要说明的是,本申请方案提及的随机数序列为短位宽数据。
若随机数序列的进制数不为二进制,则将随机数序列转换为二元随机数序列;
若随机数序列的进制数为二进制,则将随机数序列确定为二元随机数序列。
本申请实施例提供的方法中,获取待验证的随机数序列,确定随机数序列的进制数,若随机数序列的进制数不为二进制,则将随机数序列转换为二元随机数序列,具体的,将随机数序列的进制数转换为二进制,从而得到二元随机数序列;若随机数序列的进制数为二进制,则直接将该随机数序列确定为二元随机数序列。
S402、统计二元随机数序列中包括的第一元素的个数。
统计二元随机数序列中包括的第一元素的个数,也就是统计二元随机数序列中包括的第一元素的频数,示例性的,第一元素可以是元素1。
具体的,预设第一计数器,对二元随机数序列进行逐元素判断,若当前判断的元素为1,则对第一计数器执行计数加一处理,在完成对二元随机数序列包括的各个元素的判断后,依据第一计数器的计数结果,即可得到二元随机数序列中包括的第一元素的个数。
S403、对二元随机数序列进行移位操作,并对二元随机数序列和移位操作后的二元随机数序列进行计算,得到第一计算结果。
本实施例中,对二元随机数序列进行移位操作,具体的,以预设移位数对二元随机数序列进行预设方向的移位操作,并在与预设方向的反方向补充预设移位数对应的0,示例性的,预设移位数可以是4,预设方向可以是往左,也就是对二元随机数序列进行左移4位。
可选的,预设移位寄存器,对二元随机数序列进行移位操作,将移位操作后的二元随机数序列存储至移位寄存器中。
对二元随机数序列和移位操作后的二元随机数序列进行计算,得到第一计算结果。
参阅图5,对二元随机数序列和移位操作后的二元随机数序列进行计算,得到第一计算结果的过程,具体包括以下步骤:
S501、对二元随机数序列和移位操作后的二元随机数序列进行异或操作,得到异或结果序列。
本实施例中,对二元随机数序列和移位操作后的二元随机数序列进行异或操作,得到异或结果序列,具体的,对二元随机数序列的预设方向补充与预设移位数对应的0,并将补充0后的二元随机数序列和移位操作后的二随机数序列进行逐元素异或操作,从而得到异或结果序列。
示例性的,二元随机数序列为1000_1001_1100_1101_1000_0110_0100_0011,则左移4位后得到1000_1001_1100_1101_1000_0110_0100_0011_0000,对补0后的二元随机数序列0000_1000_1001_1100_1101_1000_0110_0100_0011和移位操作后的二元随机数序列1000_1001_1100_1101_1000_0110_0100_0011_0000进行异或操作,得到异或结果序列为1000_0001_0101_0001_0101_1110_0010_0111_0011。
S502、统计异或结果序列中包括的第一元素的个数,得到第一计算结果。
本实施例中,统计异或结果序列中包括的第一元素的个数,得到第一结算结果,具体的,预设第二计数器,对异或结果序列进行逐元素判断,若该元素为第一元素,则对第二计数器执行计数加一处理,在完成对异或结果序列包括的各个元素的判断后,将该第二计数器的计数结果作为第一计算结果。
可选的,第一元素为元素1。
S404、将二元随机数序列划分为多个子序列,并对各个子序列进行计算。
将二元随机数序列划分为多个子序列,其中,每个子序列包括的元素的个数少于二元随机序列包括的元素的个数。
参阅图6,将二元随机数序列划分为多个子序列的过程,具体包括以下步骤:
S601、将二元随机数序列划分为长度为n的多个第一子序列。
本实施例中,将二元随机数序列划分为长度为n的多个第一子序列,示例性的,n可以为4,从而每一个第一子序列包括4个元素,也即每一个第一子序列的长度为4。
其中,n为正整数。
S602、将二元随机数序列划分为长度为m的多个第二子序列。
本实施例中,将二元随机数序列划分为长度为m的多个第二子序列,示例性的,m可以为2。
其中,m为正整数。
需要说明的是,m可以与n相同,也可以与n不同。
本实施例中,在完成对二元随机数序列的划分之后,对各个子序列进行计算,具体的,参阅图7,包括以下步骤:
S701、统计每一种第一子序列类型对应的第一子序列的频数。
本实施例中,统计每一种第一子序列类型对应的第一子序列的频数,具体的,计算每一个第一子序列的数值,将数值相同的第一子序列确定为同一第一子序列类型,统计每一种第一子序列类型对应的第一子序列的频数,也就是统计每一种第一子序列类型对应的第一子序列的个数。
也就是说,统计每一种第一子序列类型对应的第一子序列的频数,即为统计每一种第一子序列数值对应的第一子序列的频数。
其中,若n为4,则第一子序列的数值范围为[0,15]。
S702、计算各种第一子序列类型对应的第一子序列的频数的平方和。
本实施例中,计算各种第一子序列类型对应的第一子序列的频数的平方和,具体的,计算每一种第一子序列类型对应的第一子序列的频数的平方,对各个平方进行求和计算,从而得到各种第一子序列类型对应的第一子序列的频数的平方和。
示例性的,对于长度为64的二元随机数序列,可以通过计算得到各种第一子序列类型对应的第一子序列的频数的平方和,其中,Q i 为数值为i的第一子序列对应的频数,也就是第i种第一子序列对应的频数。
S703、统计每一种第二子序列类型对应的第二子序列的频数。
统计每一种第二子序列类型对应的第二子序列的频数。具体的,将相同的第二子序列确定为同一第二子序列类型,示例性,若m=2,则存在四种第二子序列类型,分别为“00”、“10”、“10”和“11”,统计每一种第二子序列类型对应的第一子序列的频数,也就是统计每一种第二子序列类型对应的第二子序列的个数。
S704、计算各种第二子序列类型对应的第二子序列的频数的平方和,得到平方和结果,并计算平方和结果的均值与第二子序列的总个数之间的差值。
本实施例中,计算各种第二子序列类型对应的第二子序列的频数的平方和,得到平方和结果,并计算平方和结果的均值,具体的,将平方和结果除以第二子序列类型的类型数,从而得到平方和结果的均值。
计算平方和结果的均值与第二子序列的总个数之间的差值与第二子序列的总个数之间的差值。
示例性的,针对长度为32的二元随机数序列,可以通过公式,计算平方和结果的均值与第二子序列的总个数之间的差值,其中,X 5表示平方和结果的均值与第二子序列的总个数之间的差值,/>表示平方和结果的均值,16为第二子序列的总个数。
S405、判断二元随机数序列中包括的第一元素的个数是否处于预设的频数范围内,第一计算结果是否处于预设的自相关范围内,以及对各个子序列进行计算的计算结果是否小于预设阈值,若是,执行S406,若否,执行S407。
本实施例中,判断二元随机数序列中包括的第一元素的个数是否处于预设的频数范围内,也就是判断二元随机数序列是否通过频数检测,需要说明的是,频数范围基于二元随机数序列的序列长度确定,也就是基于比特数确定,不同的序列长度,对应的频数范围不同。
若二元随机数序列中包括的第一元素的个数处于预设的频数范围,则确定出而二元随机数序列通过频数检测。
示例性的,如上述,若二元随机数序列为32比特,也就是序列长度为32,则频数范围为(10,22),若32比特的二元随机数中包括的第一元素的个数大于10,且小于22,则确定出二元随机数序列通过频数检测。
示例性的,参阅表1,对32比特的二元随机数进行频数检测的结果进行举例说明如下:
其中,n 1表示二元随机数序列中包括的第一元素的个数。
本实施例中,判断第一计算结果是否处于预设的自相关范围内,也就是判断二元随机数序列是否通过自相关检测,需要说明的是,自相关范围基于二元随机数序列的序列长度确定,也就是基于比特数确定,不同的序列长度,对应的自相关范围不同。
若第一计算结果处于预设的自相关范围内,则确定出二元随机数序列通过自相关检测。
示例性的,如上述,若二元随机数序列为32比特,也就是序列长度为32,则自相关范围为(8,20),若32比特的二元随机数中包括的第一元素的个数大于8,且小于20,则确定出二元随机数序列通过自相关检测。
示例性的,参阅表2,对32比特的二元随机数序列进行自相关检测的结果进行举例说明如下:
其中,A(d)表示第一计算结果。
由表2可知,编号2的二元随机数序列中‘1001’这个序列出现了4次,所以未通过,编号1的二元随机数序列则没有明显规律,即为通过。
本实施例中,判断对各个子序列进行计算的计算结果是否小于预设阈值,其中,预设阈值包括卡方阈值和扑克阈值,判断对各个子序列进行计算的计算结果是否小于预设阈值具体包括:判断各种第一子序列类型对应的第一子序列的频数的平方和是否小于卡方阈值,且平方结果的均值与第二子序列的总个数之间的差值是否小于扑克阈值。
若各种第一子序列类型对应的第一子序列的频数的平方和小于卡方阈值,且平方结果的均值与第二子序列的总个数之间的差值小于扑克阈值,则确定出对各个子序列进行计算的计算结果是否小于预设阈值。
其中,判断各种第一子序列类型对应的第一子序列的频数的平方和是否小于卡方阈值,也就是判断二元随机数序列是否通过卡方检测,需要说明的是,卡方阈值基于二元随机数序列的序列长度确定,也就是基于比特数确定,不同的序列长度,对应的卡方阈值不同。
若各种第一子序列类型对应的第一子序列的频数的平方和小于卡方阈值,则确定出二元随机数序列通过卡方检测。
示例性的,如上述,若二元随机数序列为64比特,也就是序列长度为64,则卡方阈值为96,若64比特的二元随机数中包括的各种第一子序列类型对应的第一子序列的频数的平方和是否小于96,则确定出二元随机数序列通过卡方检测。
示例性的,若二元随机数序列为128比特,也就是序列长度为128,则卡方阈值为146。
示例性的,参阅表3,对64比特的二元随机数序列(即16位16进制的随机数序列)进行卡方检测的结果进行举例说明如下:
其中,判断平方结果的均值与第二子序列的总个数之间的差值是否小于扑克阈值,也就是判断二元随机数序列是否通过扑克检测。
若平方结果的均值与第二子序列的总个数之间的差值小于扑克阈值,则确定出二元随机数序列通过扑克检测。
示例性的,扑克阈值为7.814,若平方结果的均值与第二子序列的总个数之间的差值小于7.814,则确定出二元随机数序列通过扑克检测。
示例性的,参阅表4,对32比特的二元随机数序列进行扑克检测的结果进行举例说明如下:
其中,X 5为平方结果的均值与第二子序列的总个数之间的差值。
本申请实施例中,若二元随机数序列中包括的第一元素的个数处于预设的频数范围内,第一计算结果处于预设的自相关范围内,且对各个子序列进行计算的计算结果小于预设阈值,则执行步骤S406,若二元随机数序列中包括的第一元素的个数处于预设的频数范围内,第一计算结果处于预设的自相关范围内,或对各个子序列进行计算的计算结果小于预设阈值,则执行步骤S407。
S406、确定出二元随机数序列通过验证。
本实施例中,若二元随机数序列中包括的第一元素的个数处于预设的频数范围内,第一计算结果处于预设的自相关范围内,且对各个子序列进行计算的计算结果小于预设阈值,也就是,二元随机数序列通过频数检测、自相关检测、卡方检测和扑克检测,则确定出二元随机数序列通过验证。
S407、确定出二元随机数序列未通过验证。
若二元随机数序列中包括的第一元素的个数处于预设的频数范围内,第一计算结果处于预设的自相关范围内,或对各个子序列进行计算的计算结果小于预设阈值,也就是,二元随机数序列未通过频数检测、自相关检测、卡方检测或扑克检测,则确定出二元随机数序列未通过验证。
本申请实施例提供的随机数验证方法,通过统计二元随机数序列中包括的第一元素的个数,接着对二元随机数序列进行移位操作,并对二元随机数序列和移位操作后的二元随机数序列进行计算,得到第一计算结果,然后将二元随机数序列划分为多个子序列,并对各个子序列进行计算,从而当二元随机数序列中包括的第一元素的个数处于预设的频数范围内,第一计算结果处于预设的自相关范围内,且对各个子序列进行计算的计算结果小于预设阈值时,确定出二元随机数序列通过验证。可见,本申请方案,实现了对二元随机数序列进行验证,从而降低了密码系统的安全隐患,并且易于实现,以及具有较高的精度和复杂度。
参阅图8,在二元随机数序列中包括的第一元素的个数处于预设的频数范围内,第一计算结果处于预设的自相关范围内,且对各个子序列进行计算的计算结果小于预设阈值之后,还可以包括以下步骤:
S801、统计二元随机数序列中包括的第二元素的个数。
本实施例中,统计二元随机数序列中包括的第二元素的个数,其中,第二元素为元素0。
可选的,在二元随机数序列中包括的第一元素的个数处于预设的频数范围内,第一计算结果处于预设的自相关范围内,且对各个子序列进行计算的计算结果小于预设阈值之后,还可以对二元随机数序列进行逐元素判断,对当前判断的元素,若当前判断的元素为元素0,则对第三计数器执行加一处理,在完成对二元随机数序列包括的各个元素的判断后,将第三计数器的结果确定为二元随机数序列中包括的第二元素的个数。
可选的,还可以通过计算二元随机数序列的序列长度与二元随机数序列包括的第一元素的个数之间的差值,得到二元随机数序列中包括的第二元素的个数。
可选的,二元随机数序列中包括的第二元素的个数可以用n 0表示。
S802、对二元随机数序列中包括的第一元素的个数、二元随机数序列中包括的第二元素的个数和平方和结果进行计算,得到第二计算结果。
对二元随机数序列中包括的第一元素的个数、二元随机数序列中包括的第二元素的个数和平方和结果进行计算,得到第二计算结果,具体的,依据二元随机数序列中包括的第一元素的个数、二元随机数序列中包括的第二元素的个数和平方和结果,通过序列检测公式,得到第二计算结果。
其中,序列检测公式为:,其中,/>为平方和的结果,n为二元随机数序列的序列长度,n 1为二元随机数序列中包括的第一元素的个数,n 0为二元随机数序列中包括的第二元素的个数。X 4为第二计算结果。
S803、判断第二计算结果是否小于序列阈值,若是,执行S804,若否,执行S805。
判断第二计算结果是否小于序列阈值,也就是判断二元随机数序列是否通过序列检测,示例性的,序列阈值可以是5.991。
若第二计算结果小于序列阈值,则确定出二元随机数序列通过序列检测,并执行步骤S804,若第二计算结果不小于序列阈值,则确定出二元随机数序列未通过序列检测。
示例性的,参阅表5,对32比特的二元随机数序列进行序列检测的结果进行举例说明如下:
S804、确定出二元随机数序列通过验证。
本实施例中,在二元随机数序列中包括的第一元素的个数处于预设的频数范围内,第一计算结果处于预设的自相关范围内,且对各个子序列进行计算的计算结果小于预设阈值之后,也就是二元随机数序列通过频数检测、自相关检测、卡方检测和扑克检测之后,若第二计算结果小于序列阈值,也就是二元随机数序列通过序列检测,则确定出二元随机数序列通过验证。
S805、确定出二元随机数序列未通过验证。
本实施例中,在二元随机数序列中包括的第一元素的个数处于预设的频数范围内,第一计算结果处于预设的自相关范围内,且对各个子序列进行计算的计算结果小于预设阈值之后,也就是二元随机数序列通过频数检测、自相关检测、卡方检测和扑克检测之后,若第二计算结果不小于序列阈值,也就是二元随机数序列未通过序列检测,则确定出二元随机数序列未通过验证。
本申请实施例提供的随机数验证方法,在对二元随机数序列进行频数检测、自相关检测、卡方检测和扑克检测的基础上,进一步对二元随机数序列进行序列检验,实现确保对二元随机数序列验证的全面性。
参阅图9,在第二计算结果小于序列阈值之后,还可以包括以下步骤:
S901、确定二元随机数序列中包括的各个游程。
在第二计算结果小于序列阈值之后,确定二元随机数序列中包括的各个游程。
其中,确定二元随机数序列中包括的各个游程的确定过程请参见现有技术,此处不在赘述。
S902、从各个游程中确定最大游程。
从各个游程中确定最大游程,具体的,将包括的元素的数量最多的游程确定出最大游程。
S903、判断最大游程是否小于最大游程阈值,且二元随机数序列中包括的游程的个数是否大于游程数阈值,若是,执行S904,若否,执行S905。
统计二元随机数序列中包括的游程的个数,可选的,可以对二元随机数序列中包括的各个游程的个数进行统计,从而得到二元随机数序列中包括的游程的个数,可选的,还可以将二元随机数序列第i与第i+1位进行比较,如果不同,则对游程数计数器加一。
判断最大游程是否小于最大游程阈值,且二元随机数序列中包括的游程的个数是否大于游程数阈值。
示例性的,对于520比特以下的二元随机数序列,通过最大游程阈值为32,对于520比特以上的二元随机数序列,游程数阈值为8。
S904、确定出二元随机数序列通过验证。
本实施例中,在二元随机数序列中包括的第一元素的个数处于预设的频数范围内,第一计算结果处于预设的自相关范围内,对各个子序列进行计算的计算结果小于预设阈值,第二计算结果小于序列阈值之后,也就是二元随机数序列通过频数检测、自相关检测、卡方检测、扑克检测和序列检测之后,若最大游程小于最大游程阈值,且二元随机数序列中包括的游程的个数大于游程数阈值,也就是二元随机数序列通过游程数检测和最大游程检测,则确定出二元随机数序列通过验证。
S905、确定出二元随机数序列未通过验证。
本实施例中,在二元随机数序列中包括的第一元素的个数处于预设的频数范围内,第一计算结果处于预设的自相关范围内,对各个子序列进行计算的计算结果小于预设阈值,第二计算结果小于序列阈值之后,也就是二元随机数序列通过频数检测、自相关检测、卡方检测、扑克检测和序列检测之后,若最大游程不小于最大游程阈值,或二元随机数序列中包括的游程的个数不大于游程数阈值,也就是二元随机数序列通过游程数检测或最大游程检测,则确定出二元随机数序列通过验证。
本申请实施例提供的随机数验证方法,在对二元随机数序列进行频数检测、自相关检测、卡方检测、扑克检测和序列检测的基础上,进一步对二元随机数序列进行最大游程检测和游程数检测,实现进一步确保对二元随机数序列验证的全面性。
需要说明的是,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。
应当理解,本申请公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本申请公开的范围在此方面不受限制。
与图1所述的方法相对应,本申请实施例还提供了一种随机数验证装置,用于对图1中方法的具体实现,其结构示意图如图10所示,具体包括:
获取单元1001,用于获取待验证的二元随机数序列;
统计单元1002,用于统计所述二元随机数序列中包括的第一元素的个数;
第一计算单元1003,用于对所述二元随机数序列进行移位操作,并对所述二元随机数序列和移位操作后的二元随机数序列进行计算,得到第一计算结果;
第二计算单元1004,用于将所述二元随机数序列划分为多个子序列,并对各个子序列进行计算;
第一确定单元1005,用于若所述二元随机数序列中包括的第一元素的个数处于预设的频数范围内,所述第一计算结果处于预设的自相关范围内,且对各个子序列进行计算的计算结果小于预设阈值,则确定出所述二元随机数序列通过验证。
本申请实施例提供的随机数验证装置,通过统计二元随机数序列中包括的第一元素的个数,接着对二元随机数序列进行移位操作,并对二元随机数序列和移位操作后的二元随机数序列进行计算,得到第一计算结果,然后将二元随机数序列划分为多个子序列,并对各个子序列进行计算,从而当二元随机数序列中包括的第一元素的个数处于预设的频数范围内,第一计算结果处于预设的自相关范围内,且对各个子序列进行计算的计算结果小于预设阈值时,确定出二元随机数序列通过验证。可见,本申请方案,实现了对二元随机数序列进行验证,从而降低了密码系统的安全隐患,并且易于实现,以及具有较高的精度和复杂度。
在本申请的一个实施例中,基于前述方案,第一计算单元1003,具体用于:
对所述二元随机数序列和移位操作后的二元随机数序列进行异或操作,得到异或结果序列;
统计所述异或结果序列中包括的第一元素的个数,得到第一计算结果。
在本申请的一个实施例中,基于前述方案,第二计算单元1004在将所述二元随机数序列划分为多个子序列时,具体用于:
将所述二元随机数序列划分为长度为n的多个第一子序列;其中,所述n为正整数;
将所述二元随机数序列划分为长度为m的多个第二子序列;其中,所述m为正整数。
在本申请的一个实施例中,基于前述方案,第二计算单元1004在对各个子序列进行计算时,具体用于:
统计每一种第一子序列类型对应的第一子序列的频数;
计算各种第一子序列类型对应的第一子序列的频数的平方和;
统计每一种第二子序列类型对应的第二子序列的频数;
计算各种第二子序列类型对应的第二子序列的频数的平方和,得到平方和结果,并计算所述平方和结果的均值与第二子序列的总个数之间的差值。
在本申请的一个实施例中,基于前述方案,所述预设阈值包括卡方阈值和扑克阈值,所述对各个子序列进行计算的计算结果小于预设阈值,包括:
各种第一子序列类型对应的第一子序列的频数的平方和小于卡方阈值,且所述平方结果的均值与第二子序列的总个数之间的差值小于扑克阈值。
在本申请的一个实施例中,基于前述方案,还可以配置为:
统计单元,用于统计所述二元随机数序列中包括的第二元素的个数;
第三计算单元,用于对所述二元随机数序列中包括的第一元素的个数、所述二元随机数序列中包括的第二元素的个数和所述平方和结果进行计算,得到第二计算结果;
第二确定单元,用于若所述第二计算结果小于序列阈值,则确定所述二元随机数序列通过验证;
第三确定单元,用于若所述第二计算结果不小于序列阈值,则确定出所述二元随机数序列未通过验证。
在本申请的一个实施例中,基于前述方案,还可以配置为:
第四确定单元,用于确定所述二元随机数序列中包括的各个游程;
第五确定单元,用于从各个游程中确定最大游程;
第六确定单元,用于若最大游程小于最大游程阈值,且所述二元随机数序列中包括的游程的个数大于游程数阈值,则确定所述二元随机数序列通过验证;
第七确定单元,用于若最大游程小于最大游程阈值,或所述二元随机数序列中包括的游程的个数大于游程数阈值,则确定出所述二元随机数序列未通过验证。
本申请实施例还提供了一种存储介质,所述存储介质存储有指令集,其中,在所述指令集运行时执行如上文任一实施例公开的随机数验证方法。
本申请实施例还提供了一种电子设备,其结构示意图如图11所示,具体包括存储器1101,用于存储至少一组指令集;处理器1102,用于执行所述存储器中存储的指令集,通过执行所述指令集实现如上文任一实施例公开的随机数验证方法。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本申请公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
以上描述仅为本申请公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种随机数验证方法,其特征在于,包括:
获取待验证的二元随机数序列;
统计所述二元随机数序列中包括的第一元素的个数;
对所述二元随机数序列进行移位操作,并对所述二元随机数序列和移位操作后的二元随机数序列进行计算,得到第一计算结果;
将所述二元随机数序列划分为多个子序列,并对各个子序列进行计算;
若所述二元随机数序列中包括的第一元素的个数处于预设的频数范围内,所述第一计算结果处于预设的自相关范围内,且对各个子序列进行计算的计算结果小于预设阈值,则确定出所述二元随机数序列通过验证。
2.根据权利要求1所述的方法,其特征在于,所述对所述二元随机数序列和移位操作后的二元随机数序列进行计算,得到第一计算结果,包括:
对所述二元随机数序列和移位操作后的二元随机数序列进行异或操作,得到异或结果序列;
统计所述异或结果序列中包括的第一元素的个数,得到第一计算结果。
3.根据权利要求1所述的方法,其特征在于,所述将所述二元随机数序列划分为多个子序列,包括:
将所述二元随机数序列划分为长度为n的多个第一子序列;其中,所述n为正整数;
将所述二元随机数序列划分为长度为m的多个第二子序列;其中,所述m为正整数。
4.根据权利要求3所述的方法,其特征在于,所述对各个子序列进行计算,包括:
统计每一种第一子序列类型对应的第一子序列的频数;
计算各种第一子序列类型对应的第一子序列的频数的平方和;
统计每一种第二子序列类型对应的第二子序列的频数;
计算各种第二子序列类型对应的第二子序列的频数的平方和,得到平方和结果,并计算所述平方和结果的均值与第二子序列的总个数之间的差值。
5.根据权利要求4所述的方法,其特征在于,所述预设阈值包括卡方阈值和扑克阈值,所述对各个子序列进行计算的计算结果小于预设阈值,包括:
各种第一子序列类型对应的第一子序列的频数的平方和小于卡方阈值,且所述平方结果的均值与第二子序列的总个数之间的差值小于扑克阈值。
6.根据权利要求4所述的方法,其特征在于,在所述二元随机数序列中包括的第一元素的个数处于预设的频数范围内,所述第一计算结果处于预设的自相关范围内,且对各个子序列进行计算的计算结果小于预设阈值之后,还包括:
统计所述二元随机数序列中包括的第二元素的个数;
对所述二元随机数序列中包括的第一元素的个数、所述二元随机数序列中包括的第二元素的个数和所述平方和结果进行计算,得到第二计算结果;
若所述第二计算结果小于序列阈值,则确定所述二元随机数序列通过验证;
若所述第二计算结果不小于序列阈值,则确定出所述二元随机数序列未通过验证。
7.根据权利要求6所述的方法,其特征在于,在所述第二计算结果小于序列阈值之后,还包括:
确定所述二元随机数序列中包括的各个游程;
从各个游程中确定最大游程;
若最大游程小于最大游程阈值,且所述二元随机数序列中包括的游程的个数大于游程数阈值,则确定所述二元随机数序列通过验证;
若最大游程小于最大游程阈值,或所述二元随机数序列中包括的游程的个数大于游程数阈值,则确定出所述二元随机数序列未通过验证。
8.一种随机数验证装置,其特征在于,包括:
获取单元,用于获取待验证的二元随机数序列;
统计单元,用于统计所述二元随机数序列中包括的第一元素的个数;
第一计算单元,用于对所述二元随机数序列进行移位操作,并对所述二元随机数序列和移位操作后的二元随机数序列进行计算,得到第一计算结果;
第二计算单元,用于将所述二元随机数序列划分为多个子序列,并对各个子序列进行计算;
第一确定单元,用于若所述二元随机数序列中包括的第一元素的个数处于预设的频数范围内,所述第一计算结果处于预设的自相关范围内,且对各个子序列进行计算的计算结果小于预设阈值,则确定出所述二元随机数序列通过验证。
9.一种存储介质,所述存储介质存储有指令集,其中,所述指令集被处理器执行时实现如权利要求1-7任意一项所述的随机数验证方法。
10.一种电子设备,其特征在于,包括:
存储器,用于存储至少一组指令集;
处理器,用于执行所述存储器中存储的指令集,通过执行所述指令集实现如权利要求1-7任意一项所述的随机数验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311356057.0A CN117093983B (zh) | 2023-10-19 | 2023-10-19 | 一种随机数验证方法及装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311356057.0A CN117093983B (zh) | 2023-10-19 | 2023-10-19 | 一种随机数验证方法及装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117093983A true CN117093983A (zh) | 2023-11-21 |
CN117093983B CN117093983B (zh) | 2024-02-02 |
Family
ID=88777235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311356057.0A Active CN117093983B (zh) | 2023-10-19 | 2023-10-19 | 一种随机数验证方法及装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117093983B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101888282A (zh) * | 2010-04-22 | 2010-11-17 | 北京邮电大学 | 一种基于随机性分析的数据加密功能的检验方法 |
CN102495716A (zh) * | 2011-11-21 | 2012-06-13 | 大唐微电子技术有限公司 | 随机数产生器的检测方法及装置 |
CN110719107A (zh) * | 2019-10-22 | 2020-01-21 | 江苏芯盛智能科技有限公司 | 扑克检测方法及相关装置 |
US20220066918A1 (en) * | 2018-12-27 | 2022-03-03 | Secure-Ic Sas | Device and method for testing a sequence generated by a random number generator |
CN115686437A (zh) * | 2021-07-22 | 2023-02-03 | 腾讯科技(深圳)有限公司 | 随机数生成方法、装置、计算机设备和存储介质 |
CN115714644A (zh) * | 2022-10-31 | 2023-02-24 | 北京海泰方圆科技股份有限公司 | 一种随机数生成方法及装置 |
-
2023
- 2023-10-19 CN CN202311356057.0A patent/CN117093983B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101888282A (zh) * | 2010-04-22 | 2010-11-17 | 北京邮电大学 | 一种基于随机性分析的数据加密功能的检验方法 |
CN102495716A (zh) * | 2011-11-21 | 2012-06-13 | 大唐微电子技术有限公司 | 随机数产生器的检测方法及装置 |
US20220066918A1 (en) * | 2018-12-27 | 2022-03-03 | Secure-Ic Sas | Device and method for testing a sequence generated by a random number generator |
CN110719107A (zh) * | 2019-10-22 | 2020-01-21 | 江苏芯盛智能科技有限公司 | 扑克检测方法及相关装置 |
CN115686437A (zh) * | 2021-07-22 | 2023-02-03 | 腾讯科技(深圳)有限公司 | 随机数生成方法、装置、计算机设备和存储介质 |
CN115714644A (zh) * | 2022-10-31 | 2023-02-24 | 北京海泰方圆科技股份有限公司 | 一种随机数生成方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN117093983B (zh) | 2024-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
De Mulder et al. | Using Bleichenbacher” s solution to the hidden number problem to attack nonce leaks in 384-bit ECDSA | |
EP3246899A1 (en) | Random number expanding device, random number expanding method, and random number expanding program | |
US6947960B2 (en) | Randomness test utilizing auto-correlation | |
US9176707B2 (en) | Arithmetic apparatus, elliptic scalar multiplication method of arithmetic apparatus, elliptic scalar multiplication program, residue operation method of arithmetic apparatus, and residue operation program | |
De Mulder et al. | Using Bleichenbacher’s solution to the hidden number problem to attack nonce leaks in 384-bit ECDSA: extended version | |
CN109145080B (zh) | 一种文本指纹获得方法及装置 | |
CN101888282A (zh) | 一种基于随机性分析的数据加密功能的检验方法 | |
CN110460425A (zh) | 一种面向侧信道密码能量泄漏信号的攻击方法及系统 | |
JP2013113978A (ja) | 半導体装置及びicカード | |
CN105634728A (zh) | 一种块内频数检测方法 | |
CN112464258A (zh) | 数据加、解密方法、装置、设备及存储介质 | |
CN115686437A (zh) | 随机数生成方法、装置、计算机设备和存储介质 | |
CN117093983B (zh) | 一种随机数验证方法及装置、存储介质及电子设备 | |
CN105678083A (zh) | 一种具有单比特频数检测和块内频数检测的快速检测方法 | |
Stoyanov | Pseudo-random bit generation algorithm based on Chebyshev polynomial and Tinkerbell map | |
KR20160114252A (ko) | 부채널 분석 연산 방법 | |
EP1158717A2 (en) | Apparatus and method for examining bit values during bit error location measurements | |
US20030187890A1 (en) | Gap average on-line randomness test | |
JP2003241659A (ja) | 情報処理方法 | |
Oprina et al. | Walsh− Hadamard randomness testand new methods of test results integration | |
Steinwandt et al. | A theoretical DPA-based cryptanalysis of the NESSIE candidates FLASH and SFLASH | |
KR20080090135A (ko) | Prbs 패턴에서 비트 에러율 테스트 방법 | |
Xu | A Novel Simple Power Analysis (SPA) Attack against Elliptic Curve Cryptography (ECC) | |
CN117459322B (zh) | 基于物联网的计算机软件数据加密方法 | |
Florin et al. | A remark on the Discrete Fourier Transform statistical test |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |