《一种基于规整元胞自动机的伪随机数生成方法.pdf》由会员分享,可在线阅读,更多相关《一种基于规整元胞自动机的伪随机数生成方法.pdf(9页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104135363A43申请公布日20141105CN104135363A21申请号201410362589X22申请日20140728H04L9/22200601H04L9/2020060171申请人河海大学地址211100江苏省南京市江宁开发区佛城西路8号72发明人平萍毛莺池吕鑫许峰王志坚74专利代理机构南京经纬专利商标代理有限公司32200代理人朱小兵54发明名称一种基于规整元胞自动机的伪随机数生成方法57摘要本发明公开了一种基于规整元胞自动机的伪随机数生成方法包括步骤首先令规整元胞自动机的长度为256个元胞,并设定演化规则;其次设置密钥以及所需伪随机序列长度L;再次将。
2、密钥作为规整元胞自动机的初始全局状态,规整元胞自动机前向迭代产生不同时刻的全局状态,取被4除余1的时刻的全局状态作为二进制序列输出,直到输出的二进制序列长度大于或等于L则停止迭代;最后若二进制序列长度等于L则将该二进制序列直接作为伪随机序列输出,若二进制序列长度大于L则将长度L之后的比特舍去后作为伪随机序列输出。本发明采用规整元胞自动机设计伪随机序列发生器,不仅能够获得高质量的伪随机序列,而且具有逻辑结构简单、易于软硬件实现等优点。51INTCL权利要求书1页说明书5页附图2页19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书5页附图2页10申请公布号CN104135363A。
3、CN104135363A1/1页21一种基于规整元胞自动机的伪随机数生成方法,其特征在于,所述方法包括以下处理步骤步骤1令规整元胞自动机的长度为256个元胞,该规整元胞自动机的演化规则如下式中,F为布尔函数;为第I个元胞在T时刻的状态,I的取值为1256,为第I1个元胞在T时刻的状态,为第I2个元胞在T时刻的状态,为第I1个元胞在T时刻的状态,为第I2个元胞在T时刻的状态,为第I个元胞在T1时刻的状态,所述状态的取值为0或1;是异或运算符,是与运算符,是非运算符;元胞的边界采用周期型,即步骤2,设置密钥K,密钥K为256比特的二进制序列K1K2K3,K256;同时,设置需要产生的伪随机序列长度。
4、为L比特;其中,L为正整数;步骤3,将密钥K作为规整元胞自动机在T0时刻的全局状态规整元胞自动机根据步骤1中的演化规则向前迭代,依次产生不同T时刻的全局状态取被4除余1的时刻的全局状态作为二进制序列输出,当输出的二进制序列长度大于或等于L比特时,规整元胞自动机停止迭代;步骤4,若步骤3中规整元胞自动机输出的二进制序列长度等于L比特,则将该二进制序列直接作为伪随机序列输出;若规整元胞自动机输出的二进制序列长度大于L比特,则将长度L之后的比特舍去后的二进制序列作为伪随机序列输出;从而完成伪随机数的生成。权利要求书CN104135363A1/5页3一种基于规整元胞自动机的伪随机数生成方法技术领域00。
5、01本发明涉及一种基于规整元胞自动机的伪随机数生成方法,属于信息安全领域中的密码产生技术。背景技术0002随机数发生器具有许多用途,比如应用于加密设备、MONTECARLO模拟、内建自测试电路等。在过去的几十年,元胞自动机已被广泛应用于随机数发生器。元胞自动机固有的简单性、规整性和计算并行性等特点,使其在硬件实现时比其它模型更容易并且更快速。0003元胞自动机可以分为规整元胞自动机和非规整元胞自动机。规整元胞自动机的所有元胞遵循相同的演化规则,而非规整元胞自动机中每个元胞可以拥有不同的演化规则。WOLFRAM第一个提出了使用规则30的一维规整元胞自动机产生伪随机序列,但不久就被MIERE等人破。
6、译,指出当密钥长度为300至500比特之间,采用已知明文攻击可恢复密钥。随后,许多研究者采用非规整元胞自动机设计伪随机序列发生器。例如,HORTENSIUS等人对规则30、45、90和150元胞自动机生成的伪随机数进行了研究,发现由规则90和150组成的非规整元胞自动机生成伪随机序列周期最大。SIPPER等人提出用遗传算法来实现非规整元胞自动机规则的搜索,让计算机自动寻找到最优的元胞自动机组合规则以构造伪随机数发生器,从而避免了以前手动方法的烦琐。然而,采用非规整元胞自动机生成伪随机序列时,规则的组合和邻居的数量必须谨慎选择才能获得良好的随机性。发明内容0004本发明所要解决的技术问题是提供一。
7、种基于规整元胞自动机的伪随机数生成方法,与非规整元胞自动机相比,规整元胞自动机由于只需要一个演化规则因此在软硬件实现上更为简单并且所需的存储空间更少。0005本发明为解决上述技术问题采用以下技术方案0006本发明提供一种基于规整元胞自动机的伪随机数生成方法,具体实施步骤如下0007步骤1令规整元胞自动机的长度为256个元胞,该规整元胞自动机的演化规则如下00080009式中,F为布尔函数;为第I个元胞在T时刻的状态,I的取值为1256,为第I1个元胞在T时刻的状态,为第I2个元胞在T时刻的状态,为第I1个元胞在T时刻的状态,为第I2个元胞在T时刻的状态,为第I个元胞在T1时刻的状态,所述状态的。
8、取值为0或1;是异或运算符,是与运算符,是非运算符;元胞的边界采用周期型,即说明书CN104135363A2/5页40010步骤2,设置密钥K,密钥K为256比特的二进制序列K1K2K3,K256;同时,设置需要产生的伪随机序列长度为L比特;其中,L为正整数;0011步骤3,将密钥K作为规整元胞自动机在T0时刻的全局状态规整元胞自动机根据步骤1中的演化规则向前迭代,依次产生不同T时刻的全局状态取被4除余1的时刻的全局状态作为二进制序列输出,当输出的二进制序列长度大于或等于L比特时规整元胞自动机停止迭代;0012步骤4,若步骤3中规整元胞自动机输出的二进制序列长度等于L比特,则将该二进制序列直接。
9、作为伪随机序列输出;若规整元胞自动机输出的二进制序列长度大于L比特,则将长度L之后的比特舍去后的二进制序列作为伪随机序列输出;从而完成伪随机数的生成。0013本发明采用以上技术方案与现有技术相比,具有以下技术效果0014本发明与非规整元胞自动机相比,采用规整元胞自动机设计伪随机序列发生器,不仅能够获得高质量的伪随机序列,而且由于只需要一个演化规则因此在软硬件实现上更为简单,所需的存储空间更少。附图说明0015图1是本发明的一个实施例的伪随机序列生成步骤图。0016图2是规整元胞自动机迭代15625次的过程图。具体实施方式0017下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中。
10、自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。0018本技术领域技术人员可以理解的是,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使。
11、用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。0019本技术领域技术人员可以理解的是,除非另外定义,这里使用的所有术语包括技术术语和科学术语具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。0020下面结合附图对本发明的技术方案做进一步的详细说明0021在本发明一种基于规整元胞自动机的伪随机数生成方法的一个实施例中,需要产生1000000比特的伪随机序列,。
12、依据本发明的技术方案,按照以下步骤进行,如图1所示。0022步骤1令规整元胞自动机的长度为256个元胞,该规整元胞自动机的演化规则如说明书CN104135363A3/5页5下00230024式中,F为布尔函数;为第I个元胞在T时刻的状态,I的取值为1256,为第I1个元胞在T时刻的状态,为第I2个元胞在T时刻的状态,为第I1个元胞在T时刻的状态,为第I2个元胞在T时刻的状态,为第I个元胞在T1时刻的状态,所述状态的取值为0或1;是异或运算符,“”是与运算符,“”是非运算符;元胞的边界采用周期型,即0025步骤2设置密钥K,密钥K为256比特的二进制序列K1K2K3,K256;同时,设置需要产生。
13、的伪随机序列长度为1000000比特。0026步骤3将256比特密钥二进制序列K1,K2,K3,K256作为规整元胞自动机在T0时刻的全局状态规整元胞自动机根据步骤1中的演化规则前向迭代,如图2所示,依次产生不同时刻的全局状态取被4除余1的时刻的全局状态,即T1,5,9,13,时刻的全局状态作为二进制序列输出。0027当T15625时刻,由T1,5,9,13,15625时刻的全局状态组成的二进制序列长度为1000192比特,该长度大于需要产生的伪随机序列长度1000000比特,因此规整元胞自动机停止迭代。此时,规整元胞自动机取T1,5,9,13,15625时刻的全局状态作为二进制序列输出。00。
14、28步骤4,由于步骤3中规整元胞自动机输出的二进制序列长度为1000192比特,大于所需产生的伪随机序列长度1000000比特,则取输出的二进制序列中的前1000000比特作为伪随机序列输出;从而完成伪随机数的生成。0029下面对本发明一种基于规整元胞自动机的伪随机数生成方法提出的方法进行随机性测试。0030目前,已有的随机性测试方法不下百种,其中比较有代表性的是美国国家标准与技术研究所NIST公布的SP80022标准,该标准提供了一个统计测试套件STSSTATISTICALTESTSUITE,它是一个统计软件包,共包含了15种不同的检验方法,分别为单比特频数检验、块内频数检验、游程检验、块内。
15、最长游程检验、二元矩阵秩检验、离散傅里叶变换检验、非重叠模块匹配检验、重叠模块匹配检验、MAURER通用统计检验、线性复杂度检验、序列检验、近似熵检验、累加和检验、随机游动检验、随机游动状态频数检验。这些检验方法可测试任意长二进制序列的随机特性,主要致力于判定可能存在于序列中的多种多样的非随机性。0031在测试过程中,我们首先利用上述基于规整元胞自动机的伪随机数生成方法产生说明书CN104135363A4/5页6长度为1000000比特的伪随机序列,将长度1000000比特的伪随机序列分割成100个长度为10000比特的伪随机序列,然后采用NISTSTSVERSION211,每一种检验方法对于。
16、每一个序列均会产生相应的概率值PVALUE,PVALUE是属于01之间的数,将PVALUE和选取的显著性水平001对比,如果PVALUE,则认为该序列成功通过此项测试。NIST采用两种方法判定一个输出序列是否随机,分别是通过率和PVALUE的分布。00321通过率0033通过率是指通过序列占所有检验序列的比例。这里引入统计学中的置信区间理论,它定义为其中,为显著性水平,M为序列个数。0034若测试的通过率落入置信区间内,则可以认为所测算法产生的序列是随机的。以本文选取的显著性水平001为例,如果序列个数M为100,那么置信区间就是即096015,12885。00352PVALUE的分布0036。
17、因为真随机序列的PVALUE服从均匀分布,所以可以根据PVALUE值分布的均匀性来描述随机特性。由于PVALUE是属于01之间的数,因此将区间0,1平均等分为10个子区间00,01,01,02,02,03,03,04,04,05,05,06,07,08,08,09,09,10,当序列足够多时,PVALUE应平均分布在这10个区间内,统计PVALUE在每个子区间出现的频数,记为FI,I1,2,3,10,若序列个数为M,则有F1F2F10M,计算统计量然后再计算其中,IGAMC是不完全GAMMA函数。若PVALUET00001,则认为PVALUE服从均匀分布,序列是随机的。0037如表1所示,给出。
18、了NIST测试结果。从结果能够看出,15项检验的通过率均落在置信区间096015,12885之中,并且所有的PVALUET大于00001,这说明基于规整元胞自动机的伪随机数生成方法产生的伪随机序列具有良好的随机性。0038表1NIST测试结果0039说明书CN104135363A5/5页70040以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。说明书CN104135363A1/2页8图1说明书附图CN104135363A2/2页9图2说明书附图CN104135363A。