1 / 46

基于混沌的高速随机数发生器

随机数发生器的生成方法分类 要求 : 1) 每种分类的原理 2) 每种分类的典型算法 - 以通过 NIST 测试为标准 3) 每种分类的典型应用 , 是否已有相关专利 , 产品 ? . 基于混沌的高速随机数发生器. 沈海斌, 赵梦恋, 李晓明, 俞俊, 潘雪增 (浙江大学计算机科学与技术学院, 浙江杭州310027) 2003 年l0月 电路与系统学报. 采用了离散时间的决定论混沌方法. 决定论混沌的一个本质特征是对初始值的敏感依赖性,初始值的任意小的偏差都会造成序列轨道充分大的分离, 显示出随机性质。用如下的混沌模型:

mimi
Download Presentation

基于混沌的高速随机数发生器

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 随机数发生器的生成方法分类 要求: 1)每种分类的原理 2)每种分类的典型算法-以通过NIST测试为标准 3)每种分类的典型应用,是否已有相关专利,产品? 随机数发生器的生成方法分类 要求: 1)每种分类的原理 2)每种分类的典型算法-以通过NIST测试为标准 3)每种分类的典型应用,是否已有相关专利,产品?

  2. 基于混沌的高速随机数发生器 沈海斌, 赵梦恋, 李晓明, 俞俊, 潘雪增 (浙江大学计算机科学与技术学院, 浙江杭州310027) 2003 年l0月 电路与系统学报

  3. 采用了离散时间的决定论混沌方法 决定论混沌的一个本质特征是对初始值的敏感依赖性,初始值的任意小的偏差都会造成序列轨道充分大的分离, 显示出随机性质。用如下的混沌模型: 定义符号0表示xn<0,符号1表示xn≥0。当0.5<k≤1,xn∈[-k,-k]时,上公式的输出具有混沌状态。

  4. 公式中的系数k越接近于1,冗余度就越小;但当k=1时,公式的混沌吸引子[1,1]与点吸引子1、-1邻接;若xn≥1,则xn+1的输出符号会持续为1,同样若X≤1, 则xn+1的输出符号会持续为0,即动力系统脱离混沌而进入稳定状态。即此时若k接近1,实际系统中微小的噪声、干扰的影响就可能会使随机数发生器输出序列固定,失去作用。最后选用k=0.95。此时混沌吸引子为[-0.95,0.95],点吸引子为1.05与-1.05间隔为0.1。

  5. 实现原理如图1所示 由8级符合公式2 的相同单元串接抗饱和电路而成,每级单元由一个比较器 (1位A/D)、开关电容电路组成,基本电路原理如图2 所示 实际取ci为300fF,cs为270fF

  6. 芯片在均匀度与相关性方面进行了测试,结果如表1所示。芯片在均匀度与相关性方面进行了测试,结果如表1所示。 高频脉冲干扰10MHz,0.1V ,0—1分布Frequency测试未能通过此时实际的0—1的比例范围为46%~54%,仍基本接近50% ,影响不大。因此,系统 可以抵御100mV左右的电磁干扰攻击。另外可以看到,在受到高频脉冲干扰时,Rank测试结果变好,意味着数据相关性反而减小。

  7. 一种新的混沌随机数生成器实现方案 • 胡涛,郭立,黄昊,刘军 • (中国科学技术大学电子科学与技术系,安徽合肥230027) 《电子技术应用》2006年第6期 • 提出了一种基于时钟相位抖动的混沌随机数产生器,并在Xilinx FPGA开发板上实现并进行了测试。测试结果表明,最高输出速率迭8Mbps,实现了设计要求。硬件结构简单,并且该RNG的输入源不受电路噪声源的影响,易于今后的IC实现。

  8. 混沌系统可以用基于下列迭代关系式描述的Bemouli移位映射:混沌系统可以用基于下列迭代关系式描述的Bemouli移位映射: • 式中,e(n)表示一个高斯噪声信号。这个迭代式表明由上式产生的序列是极为平滑和均一分布的。另外,与混沌相关的轨迹发散包含了噪声,上式产生的序列在一定范围内是不可预测的,从而使系统能被当作一个真随机比特源。离散时问混沌法不受其他噪声源影响。

  9. 在电路上实现Bemouli移位映射的关键在于实现一个抗干扰的高斯噪声信号。故提出用振荡器采样输出作为一个高斯噪声信号e(n)实现上式。在电路上实现Bemouli移位映射的关键在于实现一个抗干扰的高斯噪声信号。故提出用振荡器采样输出作为一个高斯噪声信号e(n)实现上式。

  10. 其中S/H(Shift/Hold)为一个移位保持电路,用来实现其中S/H(Shift/Hold)为一个移位保持电路,用来实现 2(x(n-1)+e(n))。低速时钟控制D触发器、寄存器和S/H。寄存器中残余信号作为初始输入信号,然后与振荡器采样输出信号进行模2加操作(异或),再通过S/H产生最后的输出x(n),x(n)被反馈到寄存器中进行下次操作。

  11. 其中Q和h分别是离散符号集的基数和相关信源的熵其中Q和h分别是离散符号集的基数和相关信源的熵

  12. 测试所用数据为慢速时钟-8kHz,高速时钟=100MHz,输出精度为8bit的输出值,测试长度为3 oo0 000个8位随机数的序列

  13. 混沌随机数发生器的设计与应用 冯海涛西南交大硕士论文 2006.1

  14. 混沌随机数发生器的可编程设计 • 根据logistic混沌映射Xn+1=rXn(1-Xn)的特点,参数r∈[3.5699,4]和混沌序列Xn∈(0,l)都是实数,在计算机仿真中其数据格式通常是单精度或双精度的浮点数,但是在FPGA实现中单精度或双精度浮点加法器、乘法器结构复杂,并且占用硬件资源多,不是理想的选择方案。但是,混沌参数r的取值又限制数据格式不能只用定点小数,因此都极力避免这种情形而选择r=4,最大的好处就是一个定点小数乘只需左移2位,使得混沌电路的结构相当简单,但是这是牺牲混沌的参数敏感性为代价的。能否将Logistic混沌运算的数据格式统一为定点小数,同时又不牺牲混沌原有的初值敏感性和参数敏感性等特性呢?这是考虑Logistic混沌的FPGA或者ASIC实现时的一个关键问题。

  15. 经过仔细分析Logistic混沌映射的特点,将其迭代式稍做变形经过仔细分析Logistic混沌映射的特点,将其迭代式稍做变形 其中,d=4-r∈[0,0.4301]

  16. 高 速伪随机数发生器的设计与实现 • 王新成孙宏 • (北京邮电大学信息安全中心,北京100876) • 2004.11 计算机工程与应用 • 高 速伪随机数发生器以LFSR的基本结构为基础设计实现的。

  17. 反馈移位寄存器 • 一个反馈移位寄存器(feedback shift register)由两部分组成:移位寄存器和反馈函数

  18. 高速伪随机数发生器DPFSR • DPFSR 的原理见图3。如图3所示,DPFSR是由置乱扰动源、多个线性反馈移位寄存器LFSR、逻辑控制器以及数据缓存器构成的。其中置乱扰动源采用的是物理噪声源芯片,主要起到两个作用:其一是初始化LFSR,在DPFSR工作之前给各个寄存器设定随机的初始状态;其二是在DPFSR工作的过程中动态地改变反馈值,使得输出的结果相关性最小。采用LFSR主要是为了方便硬件高速实现。LFSR的构成符合各抽头构成的多项式加1为GF(2)本原多项式,使得LFSR的周期在给定的阶数内达到最大。控制逻辑起到控制状态转换,并协调各个部件工作的作用。生成的随机数输入到数据缓存器暂时存储,为系统的调用做准备,数据缓存器能够实时自动更新其中的内容。除了置乱扰动源外,DPFSR的其余部分由FPGA集成实现

  19. 图3中的控制逻辑1用来将噪声源与各路LFSR中的某图3中的控制逻辑1用来将噪声源与各路LFSR中的某 些位进行异或运算。控制逻辑2可以由图4表示。其作用就是将各路移位寄存器的输出进一步置乱,增加攻击的难度。

  20. (1)初始化阶段主要完成对各个LFSR的初始状态的设定。(1)初始化阶段主要完成对各个LFSR的初始状态的设定。 • 初始状态的设定也就是由物理噪声源产生的随机数填充LFSR的各个位。初始化是在系统上电和复位时进行的。

  21. (2)在m个LFSR的初始状态都设定后,DPFSR进入正常工作状态。在DPFSR的正常工作状态,LFSR的工作与前面介绍的工作过程大致相同,只是在工作的过程中受噪声源的干扰。噪声源对LFSR的干扰主要是通过噪声源的输出与LFSR器的某一位进行异或运算,得到的值替代原来的位,其他的都保持不变。在这种情况下,噪声源的输出可以称为是随机扰动因子。笔者把受随机因子扰动的LFSR称为是DFSR(Dynamic Feedback Shift Register)。当然,在DPFSR 中,动态的意思不仅仅包含这层意思,还有动态置乱输出的含义,这点可以由图4说明。由于在同一时刻共有m路反馈移位寄存器并行工作,并且LFSR的内部状态是在外部的作用下随机动态改的,因此把这种伪随机数发生器称为是DPFSR。

  22. 由原理图可以看到,DPFSR的工作效率是单路LFSR的m倍,可以同时产生mbits。产生的随机数经过进一步的置乱处理后,按照FIFO的原则存入到数据缓存中。也就是说,每次产生的随机数按照先后次序在数据缓存器中从前往后依次排列,当缓冲器满时,丢弃最前面的随机数,并且后面的随机数顺序前移.由原理图可以看到,DPFSR的工作效率是单路LFSR的m倍,可以同时产生mbits。产生的随机数经过进一步的置乱处理后,按照FIFO的原则存入到数据缓存中。也就是说,每次产生的随机数按照先后次序在数据缓存器中从前往后依次排列,当缓冲器满时,丢弃最前面的随机数,并且后面的随机数顺序前移.

  23. 用抛物线映射产生随机数 • 在混沌动力学中,一个非线性动力学模型是逻辑斯谛映射,表达式1为 它是一种生态模型,描述了生物群体数目的变化.与上式等价的是满抛物线映射的表达式2

  24. 逻辑斯谛映射和满抛物线映射统称为抛物线映射.其中x是状态参量,a,μ是参数.逻辑斯谛映射和满抛物线映射统称为抛物线映射.其中x是状态参量,a,μ是参数. • 逻辑斯谛映射产生随机数:无论xn在(0,1)范围内以什么样的初值开始,1式经多次迭代后,将得到一个从(0,a/4)之间的随机数列.如果将参数a取为4,所得到的随机数实际上处于(0,1)范围内.如果单纯地采用逻辑斯谛映射的迭代值作为随机数,所得到的随机数序列并不是均匀的随机序列.这是因为1式的迭代值是以概率密度

  25. 分布在(0,1)之间的,在区间两端具有奇异性.为了在(0,1)区间内产生均匀分布的随机数序列,求出其分布函数为分布在(0,1)之间的,在区间两端具有奇异性.为了在(0,1)区间内产生均匀分布的随机数序列,求出其分布函数为 y(x)就是分布在(0,1)之间的均匀分布的随机数列 满抛物线映射产生随机数:2式中,μ=2时 其迭代值的概率密度

  26. 一种产生随机数新方法的研究与实现 • 理学硕士学位论文 • 冯艳 2002.5

  27. 线性同余发生器(LCG) • 它包括混合同余发生器和乘同余发生器。 其中M为模数,a为乘子,c为增量,且,xn,M,a,c均为非负整数。

  28. 显然由公式得到的xn(n=1,2,……)满足:0≤xn<M • 从而rn∈[0,1〕。应用递推公式rn=xn/M产生均匀随机数时,式中参数a,c,M,x0的选取十分关键。产生数列{xn}的周期T与a,b和M有关系。当参数a,b和M取得合适,周期T可达到最大值;若进一步要求{xn}的统计性质优是,也与参数a,b和M的选取有关。当C>0时,该方法称为混合同余发生器。下面介绍两个经前人检验认为是满意的混合式发生器:当L=35时,Coveyou和Macpherson给出了下面LCG: • 当L=31时,Kobayashi提出了下面的LCG:

  29. 混合式LCG并不是最佳发生器,更简单和易理解的积式LCG与混合式LCG具有同样的性能,更广泛的被应用。常见的统计软件包中均匀随机数发生器多数使用素数模积式LCG。当C=0时,该方法称为乘同余发生器,或称积式发生器。混合式LCG并不是最佳发生器,更简单和易理解的积式LCG与混合式LCG具有同样的性能,更广泛的被应用。常见的统计软件包中均匀随机数发生器多数使用素数模积式LCG。当C=0时,该方法称为乘同余发生器,或称积式发生器。

  30. 乘同余法产生(0,1)均匀分布随机数 • 乘同余法是用一常数A(K位数),和初值S0相乘后保留2K位数中的低K位数,即得到第一个随机数,然后再以A与得到的第一个随机数相乘,再次取低K位数,从而得到第二个随机数……重复此过程,得到一随机序列。 • 以上过程可用数论中的同余式方程描述,故称为乘同余法。 • 其公式为:Sn+1=ASn(modM) n=0,1,2…… (1) • S0----可取任意选取,最好取为奇数 • A----常数,应选得足够大,但应小于M,以确保序列有较好的随机性。 • S0与A均小于M的非负整数 • M是同余式的模,应取得足够大,以确保序列的周期较长。

  31. 密码学中随机序列发生器的研究 • 东北大学 硕士学位论文 朱和贵 • 2006年2月 • 基于Weierstrass函数产生的序列的随机性分析

  32. waiersrtass函数是由waierstrass构造的处处不可微的连续函数(1):waiersrtass函数是由waierstrass构造的处处不可微的连续函数(1): 其中b是一个奇整数,0<a<1,且ab>1+3π/2,记(2): 接下来就对a,b,x的取值进行研究,分别讨论{xn}的随机性 由于文中已验证b≤1时得不到随机序列,就不再次赘述。

  33. b>1序列{xn}的随机性分析

  34. 也就是说给定一个x1,就会有2个x2出现,从而会有4个x3出现,随着n的增大,这样的变化会以2的n次方增长,从而得到的序列{xn}会是一个不可预测杂乱无章的点的随机序列集合。由{xn,xn+1}产生的图像也是没有规律的点的集合,这就极大的扩展了密钥的空间,增加了破译的难度。也就是说给定一个x1,就会有2个x2出现,从而会有4个x3出现,随着n的增大,这样的变化会以2的n次方增长,从而得到的序列{xn}会是一个不可预测杂乱无章的点的随机序列集合。由{xn,xn+1}产生的图像也是没有规律的点的集合,这就极大的扩展了密钥的空间,增加了破译的难度。 • 通过分析,我们可以得到当b>1时,由(2)式得到的序列{xn}是不可预测的。

  35. 因此需要对它进行一些变换,使得到的点既保持它原先的杂乱无端,又能够扩散到整个平面,这样给密码分析者造成更大的困难。在本文中,我们通过变换: y=(1/π)*arccos(x); • 对(2)式变换得: • 根据此变形得到的新的随机序列分布如下图:

  36. 由此可得具体的算法: • 初始化:选取满足条件的b的值,a,x任取 • 利用变换y=(1/π)*arccos(x),得到(2)式的变换式 • 利用weierstrass函数,得到随机序列发生器: • 再用 • 就可以得到数字通信和加密解密的“0--1”序列

  37. 产生随机数的一般方法 • 利用随机数表 • 利用物理随机数发生器 • 利用数学方法. • 常见随机数发生器 • 线性同余发生器(LCG) • 反馈位移寄存器法(FSR). • 组合发生器 • 逆同余与非线性同余发生器 • 经典Fibonacci序列. • 进位加和借位减发生器. • 复合素数随机数发生器. • 混沌映射产生随机数

  38. 某些发生器中存在的规则性和缺陷 • 线性同余 稀疏网格,长周期相关.周期依赖机器字长(周期较短) • 移位寄存器 稀疏网格.随机性依赖于初始值,存在微妙相关 • Fibonacci序列不能容妨的不居中现象,显著的序列相关性 • 进位加/惜位减 稀疏网格,未能通过许多局部随机性检验 • 非线性及逆同余 长周期相关.周期依赖机器字长(周期较短),产生效率低

More Related