The invention discloses a method and device for generating random numbers, which belongs to the field of computer. The method comprises the following steps: generating random numbers generated data acquisition source specified on the source and the preset conditions; leak channel conditions the confidence interval for the amount of information has been collected in the data sequence information disclosure under estimate; processed using interval algorithm for the data acquisition, the output of the binary sequence; processed by binary sequence interval algorithm output using permutation function, and estimate the selectivity of a confidence interval of the collected data on the amount of sequence information output by bit binary sequence permutation function after the treatment. The device for generating random numbers includes a data acquisition module, an information estimation module, an interval algorithm module and a replacement function module. The invention can extract high quality uniform random bit streams from near the optimal efficiency in the data generated by the general source under the general information leakage.
【技术实现步骤摘要】
一种生成随机数的方法和装置
本专利技术涉及计算机领域,特别涉及一种生成随机数的方法和装置。
技术介绍
随机数在计算机仿真和信息安全等领域具有广泛的应用。任何一种生成随机数的方法都需要从某个随机信源采集数据,进而从信源数据中提取随机性,生成服从目标分布的随机数。随机数的质量(即随机数真实分布与目标分布的统计距离)和生成随机数的效率(即生成相同随机数数量下消耗信源数据的多少)是评价随机数生成方法的重要指标。由于具有二元均匀分布的独立同分布随机序列(简称均匀随机比特流)可以方便地用于生成其它概率分布的随机数,随机数发生器通常设计为输出均匀随机比特流。在信源统计模型已知的条件下,区间算法(IntervalAlgorithm,如文献[1])不仅可以生成高质量的随机数,而且生成随机数的效率是各种已知方法中最高的。它的缺点是依赖信源统计模型的准确度。若信源统计模型与信源的真实概率分布有一定差异,即使信源携带了充足甚至更多的信息量,其输出的随机数质量仍无法得到保证。特别地,如果信源数据的部分信息经某个泄密信道泄露给随机数的使用方,则其随机数的质量急剧恶化。有种提取器(SeededExtractor,如文献[2])可以在信源信息泄露的情况下输出高质量的均匀随机比特流,只要信源数据在信息泄露情况下依然携带了足够的信息量。该方法在实施时,除了需要提供信源数据,还需要提供一个随机种子,即一个定长均匀分布的随机二进制串,且与信源数据统计独立。这种方法的缺点是定长输入定长输出,其效率是按最低信息量设计的,当信源数据含有较高的信息量时,其无法减少信源数据的消耗或生成更多的均匀随机比特。 ...
【技术保护点】
一种生成随机数的方法,其特征在于,所述方法包括:采集指定信源生成的数据,每采集一个数据样本,依次执行以下步骤:步骤一、以预设的信源条件和泄密信道条件对已采集的数据序列在信息泄露情况下的信息量的置信区间进行估计;步骤二、使用区间算法对所述新采集的数据进行处理,输出零个或多个比特的二进制序列,其中所述区间算法的参数设置为:输入序列概率分布为信源概率分布,输出序列概率分布为独立同分布且其分布为二元均匀分布;步骤三、使用置换函数对所述由区间算法输出的二进制序列进行处理,并根据所述对已采集数据序列信息量的置信区间的估计选择性地输出经置换函数处理后的二进制序列的部分比特,其中所述置换函数可以是固定的,也可以从一组预设的置换函数中以随机方式选取。
【技术特征摘要】
1.一种生成随机数的方法,其特征在于,所述方法包括:采集指定信源生成的数据,每采集一个数据样本,依次执行以下步骤:步骤一、以预设的信源条件和泄密信道条件对已采集的数据序列在信息泄露情况下的信息量的置信区间进行估计;步骤二、使用区间算法对所述新采集的数据进行处理,输出零个或多个比特的二进制序列,其中所述区间算法的参数设置为:输入序列概率分布为信源概率分布,输出序列概率分布为独立同分布且其分布为二元均匀分布;步骤三、使用置换函数对所述由区间算法输出的二进制序列进行处理,并根据所述对已采集数据序列信息量的置信区间的估计选择性地输出经置换函数处理后的二进制序列的部分比特,其中所述置换函数可以是固定的,也可以从一组预设的置换函数中以随机方式选取。2.根据权利要求1所述的生成随机数的方法,其特征在于,所述以预设的信源条件和泄密信道条件对已采集的数据序列在信息泄露情况下的信息量的置信区间进行估计的步骤包括:设信源为平稳无记忆信源,信源字符集为信源符号x的概率为p(x);设泄密信道为平稳无记忆信道,信道输入字符集为信道输出字符集为当信道输入为x的条件下信道输出为y的概率为p(y|x);设接收到的信源数据为序列x1,x2,…,xn,使用以下公式估计该序列所含信息量的置信水平为α∈(0,1)的置信区间:式中,c=Φ-1((1+α)/2),
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。