动态真随机数发生器的制作方法

文档序号:6459954阅读:202来源:国知局
专利名称:动态真随机数发生器的制作方法
技术领域
本发明属于信息安全应用领域,特别涉及一种动态真随机数发生器。
背景技术
随机数发生器分为伪随机数发生器和真随机数发生器。真随机数发生器其 产生的序列具有不可预测性。伪随机数发生器的周期是有限的,但周期足够长 的伪随机数发生器其性能接近于真随机数发生器。 一般真随机源只能保证序列 的不可预测性,而不能保证序列的统计随机特性,通常采用混淆和扩散的方法
对产生的序列进行杂化,使得杂化后的序列可以通过Diehard测试或者NIST测 试。
根据密码学原则,密码的安全取决于密钥的安全,而产生密钥要用到随机数。 于是,用于产生密钥的随机数发生器就成了保证密码安全的关键。现有的许多 安全认证协议中均用到了随机数,且随机数的随机性直接决定了协议的安全性。 如果随机数被成功预测,则认证协议的安全性就失效,这将对如电子商务等与 信息安全紧密相关的应用产生重大打击,因此,随机数发生器就成了保证安全 认证协议有效性的核心。
目前已有的一些随机数发生器,但均不能高概率通过NIST测试;随机数发 生器的随机性不稳定;随机检测方法未能采用NIST官方提供的测试套件,无法 清楚体现随机性能。同时,现有的随机数发生器往往采样固定的设计方法及设 计结构,这种固定结构势必存在周期固定的情况,而固定周期是随机序列尤其
是用于信息安全领域随机数发生器所不能允许的。

发明内容
本发明目的在于针对现有技术的不足,提出一种通用高质量的动态真随机 数发生器。
本发明的技术方案为动态真随机数发生器由真随机源、冯*诺依曼校验 器、分组杂化网络和动态控制部件组成,真随机源产生的数据输入冯 诺依曼 校验器,冯 诺依曼校验器的输出接到分组杂化网络的输入;所述分组杂化网 络包含有混沌变换部件、离散化部件和分组密码部件,混沌变换部件的输出经 离散化部件后由分组密码部件进行调整,动态控制部件通过信号控制混沌变换 部件的结构和/或分组密码部件中非线性部件的参数随工作过程而令分组杂化 网络的序列输出向符合测试标准的方向演化,分组杂化网络所得符合测试标准 的最终输出即为真随机序列。
而且,所述真随机源采用PLL振荡电路实现。
而且,针对混沌变换部件的结构采用Lyapunov指数作为测试标准,针对分 组杂化网络产生的序列输出采用NIST SP800-22作为测试标准。
而且,动态控制部件控制混沌变换部件的结构的具体方式为,当动态控制 部件判断混沌输出的Lyapunov指数大于0时,采用相应的混沌控制因子构造混 沌变换部件的结构。
而且,所述分组密码部件采用强分组密码算法对混沌变换部件的输出进行 调整,每组密码部件的明文和密钥不等,且各组密码部件的密钥不重复。
而且,所述分组密码的非线性部件的参数演化的实现方式为,让分组密码 的S盒动态变化。
而且,所述分组密码的S盒动态变化的实现方式为,对S盒的输入做仿射 变换。
或者,所述分组密码的S盒动态变化的实现方式为,采用对应随机统计特
性的适应值函数构造s盒。
或者,所述分组密码的s盒动态变化的实现方式为,采用正形置换的平移
等价特性,生成等价s盒。
本发明具有以下技术效果
1. 以物理真随机源保证产生的随机序列是不可预测的,即实现了真随机数发生 器。
2. 该真随机数发生器具有动态演化结构,既能保证产生高质量的随机序列,又 能以动态结构对抗各种针对随机数发生器的攻击,具有很高的安全性。
3. 能产生高质量的随机序列,具有相当高的稳定性,能通过NIST等多种国际公 认的随机测试方法。
4. 动态控制过程简洁,随机数产生效率高,以P4平台上软件测试为例,速度可 达1-2Mbps。
5. 相应的动态随机序列产生实现过程支持多平台设计,既可以用来软件设计产 生伪随机数发生器,也可以通过硬件实现真随机数发生器,平台间的可移植 性强。


图l为本发明实施例的原理示意图; 图2为本发明实施例板卡结构示意图。
图3为本发明实施例的真随机源及初始处理电路示意图4为混沌变换原理示意图;
具体实施例方式
以下结合附图详细说明本发明的技术方案由真随机源、冯,诺依曼校验 器(简称VN)、分组杂化网络和动态控制部件组成,真随机源产生的数据输入 冯 诺依曼校验器,冯 诺依曼校验器的输出接到分组杂化网络的输入;所述 分组杂化网络包含有混沌变换部件、离散化部件和分组密码部件,混沌变换部 件的输出经离散化部件后由分组密码部件进行调整,动态控制部件通过信号控 制混沌变换部件的结构和/或分组密码部件中非线性部件的参数随工作过程而
令分组杂化网络的序列输出向符合测试标准(例如美国提出的NIST SP800-22 标准)的方向演化,分组杂化网络所得符合测试标准的最终输出即为真随机序 列。所述令分组杂化网络的序列输出向符合测试标准的方向演化,实施时可以 采用反馈迭代方式,首先动态控制部件判断分组杂化网络的输出序列是否符合 测试标准,如果符合则直接作为最终输出,如果不符合,则可将输出序列反馈 后重新进行混沌变换和分组密码调整。这种反馈迭代方式可以节约资源,只需 在动态控制部件引导下对输出序列进行迭代处理即可,实现结构简单。具体实 施时,可以通过动态控制部件控制混沌变换部件的结构和分组密码部件中非线 性部件的参数之一进行演化,或者对两者都进行演化,都可以达到产生动态随 机序列的效果。例如混沌变换部件已经选用了取了较好的混沌参数,使得混沌 的Lyapunov指数较大,那么只演化分组密码部件中非线性部件的参数即可。分 组密码部件一般有线性部件和非线性部件,只需对非线性部件的参数进行演化。 本发明提供的这种动态真随机数发生器既可以利用计算机等设备进行软件
实现,也可以硬件实现。参见图2,本发明提供了实施例进行硬件实现时的板卡 结构,以便具体实施参考首先是真随机源及初始处理、输入控制及数据缓冲, 接着数据送入分组杂化网络,最后为输出控制及数据缓冲。动态控制部件对分 组杂化网络输入控制信号,实现动态演化。具体实施时,也可将分组杂化网络 和动态控制部件集成设置。
真随机源的采集可以根据设计平台的具体结构和资源,如FPGA芯片作为设 计平台,则较理想的真随机源是PLL振荡电路,即将不同时钟频率的相位偏差 作为物理真随机源,其物理安全性以得到理论证明。当然也可以采集多种真随 机源,如可像某些操作系统那样采集人机界面的互动数据作为不可预测的真随 机源,多种真随机源可进一步提高产生序列的不可预测性。参见图3,本发明实 施例的真随机源及初始处理的电路结构为PLL时钟锁向环连接D触发器,然 后连接冯 诺依曼校验器VN,最好在移位寄存器Shift Register缓存。冯.诺 依曼调整的作用是让离散化后的序列中0和1的分布基本平衡,从而提高序列 的统计随机特性。冯,诺依曼调整将[O, l]比特对调整输出为比特l,将[l, 0] 比特对调整输出为比特0,其它的比特对没有输出。
如果实施时选择对混沌变换部件的结构进行演化,那么反馈迭代中会进行 多次混沌变换,因此可以看作实现了多级混沌。参见附图4, n级混沌迭代模型 的过程就是初值输入第1级混沌迭代产生第1级输出;第1级输出再输入到第2 级混沌迭代产生第2级输出……第n-l级混沌迭代产生第n-l级输出;直到第n 级混沌迭代产生第n级输出,即最终混沌时间序列。
现有文献已经证明这种r阶级联混沌模型的雅可比矩阵有r个特征值,也 就是说r阶级联混沌系统是一个r维动力学系统,其混沌行为比一维混沌系统
更为复杂,是一种具有一定研究价值的随机数发生器模型。通过软件模拟分析
表明,如果采用logistic混沌模型,5级级联已经能够由一个初值产生大于1Mb
的可用被测序列。为了具有更好的性能,混沌动力系统的选择应遵循以下原则 (1)混沌系统具有较大的周期。在实际用计算机模拟计算中,由于计算机的有 限精度效应导致混沌迭代一定代数后就陷入收敛。混沌级联可以部分解决这个
问题。(2)混沌系统应满足均匀分布。对于logistic混沌模型,它并不满足均 匀分布,但在区间
范围内可近似看作均匀分布。
为了使随机性更好,混沌控制因子应满足一定的范围。例如logistic混沌 系统、+,wx、x(1-、) 、+1="xq*(1-jc。),其M直应在(3. 5699,4)范围内,以保证
logistic是混沌的。然而,即便如此,在混沌区间内部也会有许多很小的周期 区间。
因此本发明提供进一步技术方案针对混沌变换部件的结构采用Lyapimov 指数作为测试标准,让混沌的控制因子在预设范围内动态变化,当动态控制部 件判断混沌输出的Lyapunov指数大于0时,采用相应的混沌控制因子构造混沌 变换部件的结构。使用Lyapunov指数进行控制可以求出不同r值时对应的 Lyapunov指数,然后按照Lyapunov指数进行排序,选择Lyapunov指数最大时 的r值。 一般地,对于在一定取值范围内的动力系统,若Lyapunov指数大于0, 可以认为这个系统是混沌的,而且当Lyapunov指数越大时,动力系统越混沌, 最终可以达到极度混沌状态。具体实施时,可以让混沌的控制因子在合适的范 围内动态变化,即可实现混沌变换部件的结构变动。例如,让logistic的参数 r在一定的范围内变化,使得其对应的Lyapunov指数足够大的同时保持比较好 的统计随机性。经混沌变换部件处理后进行离散化是将实数范围内的混沌时间序列离散化 以映射到整数域上,方便计算机进行处理。对亍不同分布的混沌动力系统,应
采用不同的离散化方法。本发明实施例的随机数发生器设计采用logistic,并 且取值在
内,可以近似看做均匀分布,然后将区间
等分成 2的M次个区间,实数落在奇数区间的就二值化为0,否则二值化为l.其中,M 是个整数, 一般可取值为8, 16等。这种离散化方法有效地保持了原有混沌的 混迭特性。
本发明实施例的分组密码部件采用强分组密码算法对混沌变换部件的输出 进行调整,每组密码部件的明文和密钥不等,且各组密码部件的密钥之间是不 重复的。当选择对分组密码的非线性部件的参数演化时,实施方式就是让分组 密码的S盒动态变化。具体实现方式有多种,本发明提供三种实现简便的方案 一是借鉴AES的S盒设计方法,对S盒的输入做仿射变换,S盒的特性没有改 变,但仿射变换和分组密码本身的S盒构成的新S盒是动态变换的。可以参考 文南犬S.Murphy, M.J.B.Robshaw. Essential Algebraic Structure Within the AES. Information Security Group, Royal Holloway, University of London, Egham, Surrey, TE20 0EX,U.K.二是采用演化设计的思想,构造更好的S盒,关键在于寻找对应 随机统计特性的更好的适应值函数。三是采用正形置换的平移等价特性,生成 等价的S盒。事实上,分组密码的S盒并不是正形置换,但可用正形置换生成 的8申8的S盒替换。
权利要求
1.一种动态真随机数发生器,其特征在于由真随机源、冯·诺依曼校验器、分组杂化网络和动态控制部件组成,真随机源产生的数据输入冯·诺依曼校验器,冯·诺依曼校验器的输出接到分组杂化网络的输入;所述分组杂化网络包含有混沌变换部件、离散化部件和分组密码部件,混沌变换部件的输出经离散化部件后由分组密码部件进行调整,动态控制部件通过信号控制混沌变换部件的结构和/或分组密码部件中非线性部件的参数随工作过程而令分组杂化网络的序列输出向符合测试标准的方向演化,分组杂化网络所得符合测试标准的最终输出即为真随机序列。
2. 根据权利要求1所述的动态真随机数发生器,其特征在于所述真随机源采 用PLL振荡电路实现。
3. 根据权利要求1所述的动态真随机数发生器,其特征在于针对混沌变换部 件的结构采用Lyapimov指数作为测试标准,针对分组杂化网络产生的序列输出 采用NIST SP800-22作为测试标准。
4. 根据权利要求3所述的动态真随机数发生器,其特征在于动态控制部件控 制混沌变换部件的结构的具体方式为,当动态控制部件判断混沌输出的 Lyapunov指数大于0时,采用相应的混沌控制因子构造混沌变换部件的结构。
5. 根据权利要求1或2或3或4所述的动态真随机数发生器,其特征在于所 述分组密码部件采用强分组密码算法对混沌变换部件的输出进行调整,每组密 码部件的明文和密钥不等,且各组密码部件的密钥不重复。
6. 根据权利要求5所述的动态真随机数发生器,其特征在于所述分组密码的 非线性部件的参数演化的实现方式为,让分组密码的S盒动态变化。
7. 根据权利要求6所述的动态真随机数发生器,其特征在于所述分组密码的S盒动态变化的实现方式为,对s盒的输入做仿射变换。
8. 根据权利要求6所述的动态真随机数发生器,其特征在于所述分组密码的 S盒动态变化的实现方式为,釆用对应随机统计特性的适应值函数构造S盒。
9. 根据权利要求6所述的动态真随机数发生器,其特征在于所述分组密码的s盒动态变化的实现方式为,采用正形置换的平移等价特性,生成等价s盒。
全文摘要
本发明涉及一种动态真随机数发生器,由真随机源、冯·诺依曼校验器、分组杂化网络和动态控制部件组成,真随机源产生的数据输入冯·诺依曼校验器,冯·诺依曼校验器的输出接到分组杂化网络的输入;所述分组杂化网络包含有混沌变换部件、离散化部件和分组密码部件,混沌变换部件的输出经离散化部件后由分组密码部件进行调整,动态控制部件通过信号控制混沌变换部件的结构和/或分组密码部件中非线性部件的参数随工作过程而令分组杂化网络的序列输出向符合测试标准的方向演化,分组杂化网络所得符合测试标准的最终输出即为真随机序列。本发明提供的真随机数发生器可以高质量高稳定性的随机序列,能以动态结构对抗各种攻击,具有很高的安全性。
文档编号G06F7/58GK101364171SQ20081004831
公开日2009年2月11日 申请日期2008年7月7日 优先权日2008年7月7日
发明者明 唐, 张焕国, 李幼名 申请人:武汉大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1