一种随机数生成方法、装置、设备及存储介质制造方法及图纸

技术编号:23098916 阅读:17 留言:0更新日期:2020-01-14 20:33
本发明专利技术提供了一种随机数生成方法、装置、设备及存储介质。本发明专利技术通过将随机种子生成一个二进制序列,然后对二进制进行等熵编码,编码后的二进制序列达到了完全随机的状态。同时,在对二进制序列进行等熵编码时,是首先通过设定随机数的比特长度Len,换算出正实数r的值,然后进行编码处理,最终本本发明专利技术实现了自适应长度的随机数生成能力,达到仿真随机状态。本发明专利技术能够简单有效的根据二进制序列而生成自适应长度的随机数,并且生成的随机数达到了完全随机的状态,具有安全可靠,不可预测的特点。

A random number generation method, device, equipment and storage medium

【技术实现步骤摘要】
一种随机数生成方法、装置、设备及存储介质
本专利技术涉及数据安全处理领域,特别是涉及一种随机数生成方法、装置、设备及存储介质。
技术介绍
在现代科技中,随机数的应用无处不在,例如密钥的产生、交换、认证、加密和解密等都和随机数相关;而且在非对称密钥加密体制中或者其他类型的安全协议中,需要安全可靠的、不可预测的随机数,以防系统被破解。为了满足当前人工智能深度学习和大数据分析对随机性越来越高的要求,需要一种能够简单有效生成自适应长度的随机数的方法,并且从理论上能证明所产生的随机数不再是伪随机的方法。
技术实现思路
本专利技术的目的在于至少解决现有技术中存在的伪随机技术问题之一,提供了一种随机数生成方法、装置、设备及存储介质。能够简单有效的生成自适应长度的随机数,并且生成的随机数达到了完全随机的状态。本专利技术的第一方面,提供了一种随机数生成方法,包括以下步骤:获取随机种子,将所述随机种子生成二进制序列,获取所述二进制序列的序列长度;设定正实数r=2H(X)-Len,所述H(X)为所述二进制序列的归一化信息熵,所述Len为所述二进制序列的随机数比特长度;对所述二进制序列中的第i位符号x,按照编码公式Ri=Ri-1rp(x),Li=Li-1+Ri-1F(x-1,r)进行编码,输出编码后的Li;其中,已预设编码变量Ri的初始值以及编码变量Li的初始值,所述p(x)为符号x的归一化概率,所述F(x-1,r)为x-1的非归一化分布函数。进一步,所述随机种子由系统时间、内存指针以及上一个随机数中至少一个而生成。进一步,所述编码变量Ri的初始值R0=1;所述编码变量Li的初始值L0=0。本专利技术的第二方面,提供了一种随机数生成装置,包括:预处理单元以及编码单元;所述预处理单元用于获取随机种子,将所述随机种子生成二进制序列,获取所述二进制序列的序列长度L以及设定正实数r=2H(X)-Len,所述H(X)为所述二进制序列的归一化信息熵,所述Len为所述二进制序列的随机数比特长度;所述编码单元用于对所述二进制序列中的第i位符号x,按照编码公式Ri=Ri-1rp(x),Li=Li-1+Ri-1F(x-1,r)进行编码,输出编码后的Li;其中,已预设编码变量Ri的初始值以及编码变量Li的初始值,所述p(x)为符号x的归一化概率,所述F(x-1,r)为x-1的非归一化分布函数。本专利技术的第三方面,提供了一种随机数生成设备,包括至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行如本专利技术第一方面所述的一种随机数生成方法。本专利技术的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如本专利技术第一方面所述的一种随机数生成方法。本专利技术提供的一种随机数生成方法、装置、设备及存储介质,至少具有以下有益效果:本专利技术通过将随机种子生成一个二进制序列,然后对二进制进行等熵编码,编码后的二进制序列将达到完全随机的状态。同时,在对二进制序列进行等熵编码时,是首先通过设定随机数的比特长度Len,换算出正实数r的值,然后进行编码处理,最终本方法实现了自适应长度的随机数生成能力,达到仿真随机状态。综上,本专利技术能够简单有效的根据二进制序列而生成自适应长度的随机数,并且生成的随机数达到了完全随机的状态,具有安全可靠,不可预测的特点。附图说明下面结合附图和实施例对本专利技术进一步地说明;图1为本专利技术第一实施例所提供的一种随机数生成方法的简要流程示意图;图2为本专利技术第二实施例所提供的一种随机数生成装置的结构示意图;图3为本专利技术第三实施例所提供的一种随机数生成设备的结构示意图。具体实施方式本部分将详细描述本专利技术的具体实施例,本专利技术之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本专利技术的每个技术特征和整体技术方案,但其不能理解为对本专利技术保护范围的限制。参照图1,本专利技术的第一个实施例,提供了一种随机数生成方法,包括以下步骤:S100、将系统时间、内存指针以及上一个随机数组合作为随机种子,将该随机种子转变为二进制序列,获取该二进制序列的长度L;S200、设定正实数r=2H(X)-Len,H(X)为二进制序列的归一化信息熵,Len为二进制序列的随机数比特长度;S300、编码第i位符号,若第i位符号为符号0,则进入步骤S400;若第i位符号为符号1,则进入步骤S500;S400、将符号0代入编码公式得Ri=Ri-1rp(0),因F(-1,r)=0,所以Li=Li-1,并进入步骤S600;S500、将符号1代入编码公式得Ri=Ri-1rp(1),因F(0,r)=rp(0),所以Li=Li-1+Ri-1rp(0),并进入步骤S600;S600、循环变量i=i+1,若i≤L,则进入步骤S300;若i>L,则编码结束,输出V,其中V为二进制序列编码后Li的值。其中,编码公式为Li=Li-1+Ri-1F(x-1,r);编码变量的初始值R0=1,L0=0。本实施例的证明过程如下:设离散随机变量x有固定的归一化概率p(x),并在任意时刻上均有正实数r作用在归一化概率p(x)上,将该离散随机变量x的非归一化概率记为满足以下公式:于是,任意时刻所有变量的概率之和为:K为变量的个数,当r=1时,且设非归一化概率模型的分布函数为F(x,r),F(x)为归一化概率模型的分布函数,设s∈{0,1,...,k},则:设R0=1,L0=0,第i位符号熵编码的计算公式为:Li=Li-1+Ri-1F(x-1,r)(1-5)根据信息熵理论,符号的概率大小决定了其自信息量的大小,即具有概率为p(x)的符号x的自信息量I(x)为:I(x)=logp(x)(1-6)自信息量I(x)的单位与所用的对数底数有关,在信息论中常用的对数底数为2,自信息量对应的单位为比特(bit),因此,信息熵为:由上可知,独立离散的二进制序列的归一化概率模型的信息熵公式为:H(X)=-p(0)log2p(0)-p(1)log2p(1)(1-9)其中H(X)的单位为比特。该二进制序列的非归一化概率模型的信息熵公式为:其中H(X,r)的单位为比特,令随机数的比特长度为Len,则将Len=H(X,r)可得:由于p(0)+p(1)=1,化简公式可得:Len=-log2r+H(X)(1-12)r=2H(X)-Len(1-13)显然,H(X)是通过独立离散二进制序列符号的概率求出,Len为设定的随机数的比特长度,根据信本文档来自技高网...

【技术保护点】
1.一种随机数生成方法,其特征在于,包括以下步骤:/n获取随机种子,将所述随机种子生成二进制序列,获取所述二进制序列的序列长度;/n设定正实数r=2

【技术特征摘要】
1.一种随机数生成方法,其特征在于,包括以下步骤:
获取随机种子,将所述随机种子生成二进制序列,获取所述二进制序列的序列长度;
设定正实数r=2H(X)-Len,所述H(X)为所述二进制序列的归一化信息熵,所述Len为所述二进制序列的随机数比特长度;
对所述二进制序列中的第i位符号x,按照编码公式Ri=Ri-1rp(x),Li=Li-1+Ri-1F(x-1,r)进行编码,输出编码后的Li;其中,已预设编码变量Ri的初始值以及编码变量Li的初始值,所述p(x)为符号x的归一化概率,所述F(x-1,r)为x-1的非归一化分布函数。


2.根据权利要求1所述的一种随机数生成方法,其特征在于,所述随机种子由系统时间、内存指针以及上一个随机数中至少一个而生成。


3.根据权利要求1所述的一种随机数生成方法,其特征在于,所述编码变量Ri的初始值R0=1;所述编码变量Li的初始值L0=0。


4.一种随机数生成装置,其特征在于,包括:预处理单元以及编码单元;
所述预处理单元用于获取随机种子,将所述...

【专利技术属性】
技术研发人员:王杰林
申请(专利权)人:湖南遥昇通信技术有限公司
类型:发明
国别省市:湖南;43

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

1