本申请公开了一种随机数的确定方法及装置,该方法包括根据第一随机数确定N个具有第一长度的第一数值。其中,第一随机数的长度为第二长度,第一长度为消息摘要算法支持的长度,N为大于或等于2的正整数。根据消息摘要算法对N个第一数值进行处理,获得N个第一输出摘要。其中,每个第一输出摘要的数据长度为第一长度,第i个第一输出摘要是根据消息摘要算法对第i个第一数值进行处理获得的,i为小于或等于N的正整数。将N个第一输出摘要进行拼接,获得第二随机数。其中,第二随机数的长度与第一随机数的长度均为第二长度。若第二随机数满足随机性要求,则输出第二随机数。因此该方法可以提升随机数的随机性,从而提升随机数的质量。量。量。
【技术实现步骤摘要】
一种随机数的确定方法及装置
[0001]本申请涉及信息安全
,尤其涉及一种随机数的确定方法及装置。
技术介绍
[0002]随机数被广泛地用于对称或非对称密码算法的密钥产生、挑战-响应方案中的挑战值、数字签名方案中的秘密信息、抗侧信道分析攻击等密码应用领域,并且随机数的质量在密码应用领域中起到了决定性的作用。例如,对称或非对称密码算的密钥质量取决于产生密钥的随机数的质量。目前随机数一般由随机数发生器(Random Number Generator,RNG)生成。
[0003]然而,目前的随机数发生器生成的随机数的质量不高,有待改进。
技术实现思路
[0004]本申请实施例提供一种随机数的确定方法及装置,用以提升随机数的质量。
[0005]第一方面,本申请实施例提供了一种随机数的确定方法,包括:根据第一随机数确定N个具有第一长度的第一数值,第一随机数的长度为第二长度,第一长度为消息摘要算法支持的长度,N为大于或等于2的正整数;根据消息摘要算法对N个第一数值进行处理,获得N个第一输出摘要,每个第一输出摘要的数据长度为第一长度,第i个第一输出摘要是根据消息摘要算法对第i个第一数值进行处理获得的,i为小于或等于N的正整数;将N个第一输出摘要进行拼接,获得第二随机数,第二随机数的长度为第二长度;若第二随机数满足随机性要求,则输出第二随机数。
[0006]采用该方法,将第一随机数拆分为多个第一数值,再根据多个第一数值获得多个第一输出摘要,将多个第一输出摘要合并为第二随机数,可以提升随机数的随机性,从而提高随机数的质量。
[0007]在一种可能的设计中,根据第三随机数确定M个具有第三长度的第二数值,第三长度为消息摘要算法支持的长度,M为大于或等于2的正整数;根据消息摘要算法对M个第二数值进行处理,获得M个第二输出摘要,每个第二输出摘要的数据长度为第三长度,第k个第二输出摘要是根据消息摘要算法对第k个第二数值进行处理获得的,k为小于等于M的正整数;将M个第二输出摘要进行拼接,获得第四随机数,第四随机数的长度与第三随机数的长度均为第四长度;若第二随机数不满足随机性要求,且第四随机数满足随机性要求,则输出第四随机数。
[0008]采用该设计,生成多个随机数,并对多个随机数进行随机性检测,当随机数满足随机性要求时,才会输出该随机数,进而保证输出的随机数均满足随机性要求,确保输出的随机数满足各种密码算法、密码协议和密码产品对随机数的随机性要求。
[0009]在一种可能的设计中,将N个第一输出摘要进行拼接,获得第五随机数,第五随机数的长度为第一长度的N倍;若第五随机数和第六随机数满足随机性要求,将第五随机数与第六随机数进行拼接获得满足随机性要求的第二随机数。
[0010]采用该设计,验证第五随机数和第六随机数的随机性,保证输出的随机数均满足随机性要求。
[0011]在一种可能的设计中,第二长度大于或等于第一长度的N倍。
[0012]在一种可能的设计中,第二长度大于第一长度的N倍,且小于第一长度的N+1倍;根据第一随机数确定N个具有第一长度的第一数值以及具有第五长度的第三数值,第五长度小于所述第一长度;根据消息摘要算法对第三数值进行处理,获得第五长度的第三输出摘要;将N个第一输出摘要与第三输出摘要进行拼接,获得第二随机数。
[0013]基于该实施例,本申请可通过该分割方式对无法均匀分割(即第二长度无法被第一长度整除)的随机数进行分割,从而提升本申请的适用性。
[0014]第二方面,本申请实施例提供了一种随机数的确定装置,包括:处理模块,用于根据第一随机数确定N个具有第一长度的第一数值,第一随机数的长度为第二长度,第一长度为消息摘要算法支持的长度,N为大于或等于2的正整数;处理模块,还用于根据消息摘要算法对N个第一数值进行处理,获得N个第一输出摘要,每个第一输出摘要的数据长度为第一长度,第i个第一输出摘要是根据消息摘要算法对第i个第一数值进行处理获得的,i为小于或等于N的正整数;处理模块,还用于将N个第一输出摘要进行拼接,获得第二随机数,第二随机数的长度为第二长度;若第二随机数满足随机性要求,输出模块用于输出第二随机数。
[0015]在一种可能的设计中,处理模块,还用于根据第三随机数确定M个具有第三长度的第二数值,第三长度为消息摘要算法支持的长度,M为大于或等于2的正整数;处理模块,还用于根据消息摘要算法对M个第二数值进行处理,获得M个第二输出摘要,每个第二输出摘要的数据长度为第三长度,第k个第二输出摘要是根据消息摘要算法对第k个第二数值进行处理获得的,k为小于等于M的正整数;处理模块,还用于将M个第二输出摘要进行拼接,获得第四随机数,第四随机数的长度与第三随机数的长度均为第四长度;若第二随机数不满足随机性要求,且第四随机数满足随机性要求,输出模块还用于输出第四随机数。
[0016]在一种可能的设计中,处理模块,具体用于:将N个第一输出摘要进行拼接,获得第五随机数,第五随机数的长度为第一长度的N倍;若第五随机数和第六随机数满足随机性要求,将第五随机数与第六随机数进行拼接获得满足随机性要求的第二随机数。
[0017]在一种可能的设计中,第二长度大于或等于第一长度的N倍。
[0018]在一种可能的设计中,第二长度大于第一长度的N倍,且小于第一长度的N+1倍,处理模块具体用于:根据第一随机数确定N个具有第一长度的第一数值以及具有第五长度的第三数值,第五长度小于第一长度;根据消息摘要算法对第三数值进行处理,获得第五长度的第三输出摘要;将N个第一输出摘要与第三输出摘要进行拼接,获得第二随机数。
[0019]第三方面,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时,实现第一方面和第二方面及其任意一种设计的方法。
[0020]第四方面,本申请实施例还提供了一种电子设备,包括存储器和处理器,存储器上存储有可在处理器上运行的计算机程序,当计算机程序被处理器执行时,使得处理器实现第一方面和第二方面及其任意一种设计的方法。
[0021]第二方面至第四方面及其任意一种设计所带来的技术效果可参见第一方面中对应的设计所带来的技术效果,此处不再赘述。
附图说明
[0022]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0023]图1为本申请实施例提供的一种随机数的确定方法的流程示意图;
[0024]图2为本申请实施例提供的一种随机数确定方法的结构示意图;
[0025]图3为本申请实施例提供的另一种随机数确定方法的结构示意图;
[0026]图4为本申请实施例提供的一种随机数的确定装置的结构示意图;
[0027]图5为本申请实施例提供的一种电子设本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种随机数的确定方法,其特征在于,所述方法包括:根据第一随机数确定N个具有第一长度的第一数值,所述第一随机数的长度为第二长度,所述第一长度为消息摘要算法支持的长度,N为大于或等于2的正整数;根据所述消息摘要算法对N个所述第一数值进行处理,获得N个第一输出摘要,每个第一输出摘要的数据长度为所述第一长度,第i个第一输出摘要是根据所述消息摘要算法对第i个第一数值进行处理获得的,i为小于或等于N的正整数;将N个所述第一输出摘要进行拼接,获得第二随机数,所述第二随机数的长度为所述第二长度;若所述第二随机数满足随机性要求,则输出所述第二随机数。2.如权利要求1所述的方法,其特征在于,所述方法还包括:根据第三随机数确定M个具有第三长度的第二数值,所述第三长度为所述消息摘要算法支持的长度,M为大于或等于2的正整数;根据所述消息摘要算法对M个所述第二数值进行处理,获得M个第二输出摘要,每个所述第二输出摘要的数据长度为所述第三长度,第k个第二输出摘要是根据所述消息摘要算法对第k个第二数值进行处理获得的,k为小于等于M的正整数;将M个所述第二输出摘要进行拼接,获得第四随机数,所述第四随机数的长度与所述第三随机数的长度均为第四长度;若所述第二随机数不满足随机性要求,且所述第四随机数满足随机性要求,则输出所述第四随机数。3.如权利要求1所述的方法,其特征在于,所述将N个所述第一输出摘要进行拼接,获得第二随机数,包括:将N个所述第一输出摘要进行拼接,获得第五随机数,所述第五随机数的长度为所述第一长度的N倍;若所述第五随机数和第六随机数满足随机性要求,将所述第五随机数与所述第六随机数进行拼接获得满足随机性要求的所述第二随机数。4.如权利要求1
‑
3中任一所述的方法,其特征在于,所述第二长度大于或等于所述第一长度的N倍。5.如权利要求4所述的方法,其特征在于,所述第二长度大于所述第一长度的N倍,且小于所述第一长度的N+1倍;所述根据第一随机数确定N个具有第一长度的第一数值,包括:根据所述第一随机数确定N个具有第一长度的第一数值以及具有第五长度的第三数值,所述第五长度小于所述第一长度;所述方法还包括:根据所述消息摘要算法对所述第三数值进行处理,获得所述第五长度的第三输出摘要;所述将N个所述第一输出摘要进行拼接,获得第二随机...
【专利技术属性】
技术研发人员:张红杰,罗影,游婧雯,安晓江,蒋红宇,
申请(专利权)人:成都海泰方圆科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。