真随机数生成器、真随机数生成方法及加密设备技术

技术编号:38351236 阅读:11 留言:0更新日期:2023-08-05 17:24
本发明专利技术公开了一种真随机数生成器、真随机数生成方法及加密设备,属于加密安全技术领域,在真随机数生成器中,熵源模块在接收到使能信号后输出N个振荡输入信号;采样环形振荡器在接收到使能信号后输出M组振荡时钟信号;多个中间D触发器构成N*(M

【技术实现步骤摘要】
真随机数生成器、真随机数生成方法及加密设备


[0001]本专利技术属于加密安全
,更具体地,涉及一种真随机数生成器、真随机数生成方法及加密设备。

技术介绍

[0002]近年来,随着大数据、物联网、云计算、边缘计算等技术的飞速发展,所带来的信息安全问题也越来越严重。人们针对系统的安全性提出了越来越高的要求,其中随机数生成器作为安全系统的关键基础部件,被广泛应用于各种设备之中。
[0003]随机数是包括认证协议、加密算法、安全密钥管理机制等安全系统的基础,目前随机数生成器主要包括伪随机数生成器(PRNG)和真随机数生成器(TRNG)。其中传统的伪随机数生成器是在每个执行周期中通过确定性算法生成随机位,因此具有结构简单、吞吐量高的优点。但是由于每个随机位都是由确定性算法生成,因此具有一定的可预测性,为安全系统中随机数的应用带来了安全隐患。而真随机数生成器则是通过利用固有的物理随机过程来生成具有统计学意义上的真正随机数,即使敌手对生产随机数的系统有一定了解也无法预测随机数,提升随机数的不可预测性。
[0004]然而,现有的真随机数生成器结构资源开销大、能耗高,并且在每个执行周期中生成的随机位少,能效低,吞吐量低,无法保证高效的生产速率。因此迫切的需要一种高吞吐量与高能效的真随机数生成器,在保证较低功耗的同时,提升随机数的不可预测性。

技术实现思路

[0005]针对现有技术的以上缺陷或改进需求,本专利技术提供了一种真随机数生成器、真随机数生成方法及加密设备,其目的在于提高真随机数生成器的吞吐量和能效,在保证较低功耗的同时,提升随机数的不可预测性。
[0006]为实现上述目的,按照本专利技术的一个方面,提供了一种真随机数生成器,包括熵源模块和数字化模块,所述数字化模块包括采样环形振荡器、多个中间D触发器、异或运算器和输出D触发器,其中,
[0007]所述熵源模块包括N个输入环形振荡器,各所述输入环形振荡器在接收到使能信号后输出振荡输入信号并在撤销使能信号后结束振荡,N≥3;
[0008]所述采样环形振荡器由M个具有取非运算功能的逻辑运算器依次串联且首尾相接而成,所述采样环形振荡器在接收到使能信号后使各逻辑运算器输出振荡时钟信号并在撤销使能信号后结束振荡,M为大于5的奇数;
[0009]多个所述中间D触发器构成N*(M

1)的矩阵,所述矩阵中的每一行具有M

1个中间D触发器、每一列具有N个中间D触发器,每一行中间D触发器的D输入端分别连接同一个输入环形振荡器的输出端,且N行中间D触发器与N个输入环形振荡器一一对应连接,每一列中间D触发器的时钟信号输入端分别连接同一个逻辑运算器的输出端,且M

1列中间D触发器与采样环形振荡器中的前M

1个逻辑运算器一一对应连接;
[0010]所述异或运算器分别与每个中间D触发器的Q输出端连接并进行异或运算;
[0011]所述输出D触发器的D输入端接所述异或运算器的输出端、时钟信号输入端接所述采样环形振荡器的末端逻辑运算器的输出端、Q输出端输出真随机数。
[0012]在其中一个实施例中,所述输入环形振荡器包括一个串联的与非门和缓冲器,所述与非门的第一输入端用于接入使能信号、第二输入端接所述缓冲器的输出端。
[0013]在其中一个实施例中,所述采样环形振荡器中,至少一个所述逻辑运算器为与非门,其中一个与非门作为首端逻辑运算器、其第一输入端接所述使能信号、第二输入端接末端逻辑运算器的输出端以实现首尾相接。
[0014]在其中一个实施例中,所述采样环形振荡器由多个与非门和多个非门串联而成,其中,每间隔两个非门设置一个与非门,每个与非门的第一输入端与上一个非门的输输出端相连、第二输入端用于接入使能信号。
[0015]在其中一个实施例中,N=4,M=9。
[0016]在其中一个实施例中,真随机数生成器基于FPGA实现。
[0017]在其中一个实施例中,还包括使能信号生成模块,用于当接收到加密需求指令后,向所述熵源模块和所述采样环形振荡器施加使能信号并在接收到加密完毕指令后,撤销所述使能信号。
[0018]在其中一个实施例中,所述使能信号生成模块以输出高电平作为施加使能信号并以输出低电平作为撤销使能信号。
[0019]按照本专利技术的另一方面,提供了一种真随机数生成方法,向真随机数生成器施加使能信号,获取真随机数,其中,所述真随机数生成器为上述的真随机数生成器。
[0020]按照本专利技术的另一方面,提供了一种加密设备,包含上述的真随机数生成器,所述加密设备利用所述真随机数生成器生成真随机数后再基于所述真随机数进行加密处理。
[0021]总体而言,通过本专利技术所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
[0022]本专利技术所提及的真随机数生成器包含熵源模块和数字化模块,所述数字化模块包括采样环形振荡器、多个中间D触发器、异或运算器和输出端D触发器。其中,熵源模块具有N个输入环形振荡器,在接收到使能信号后随机生成N组振荡输入信号。采样环形振荡器设计成由M个具有取非运算功能的逻辑运算器依次串联且首尾相接而成,在接收到使能信号后每个逻辑运算器均能输出振荡时钟信号,因此能输出M组振荡时钟信号。中间D触发器构成N*(M

1)的矩阵,即该矩阵中具有N*(M

1)个中间D触发器。每一行的M

1个中间D触发器的D输入端获取同一个振荡输入信号,每一列的N个中间D触发器的时钟信号输入端获取同一个振荡时钟信号。基于此:
[0023](1)采样环形振荡器和N*(M

1)个中间D触发器组成了具有多个采样点的采样器,用于采样熵源模块时间抖动时序上的随机性序列。与普通的真随机数生成器相比,采样环形振荡器提供M个互不相关的采样时钟信号,对于同一个振荡输入信号,能够进行M次互不相关的采样,能量转化效率很高,电路损耗能量较小,大大提高了能源效率。
[0024](2)由于一个采样时钟信号能够控制N个D触发器对N组振荡输入信号同时进行采样,得到N个随机采样信号。相比于一个时钟信号仅控制得到一个随机采样信号而言,若要获取相同数量的随机采样信号,采用本方案的设计可以减小采样环形振荡器中取非逻辑器
件的数量,环形振荡器中取非逻辑器件的数量越少,产生的振荡频率就越高,即采样频率越高,由此又进一步提高了随机采样的吞吐量。
[0025](3)由于同一个振荡输入信号,能够进行M次互不相关的采样,而一个采样时钟信号能够控制N个D触发器对N组振荡输入信号同时进行采样,通过N个输入环形振荡器、在采样环形振荡器设置M个逻辑运算器便能实现大量的随机采样,简化结构设计,降低功率消耗。
[0026](4)本专利技术中利用D触发器和环形振荡器构建真随机数生成器,消除了对锁相环PLL的依赖,整体结构简单,且基于矩阵行列控制方式,在保证随机采样数的同时,减小结构本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种真随机数生成器,其特征在于,包括熵源模块和数字化模块,所述数字化模块包括采样环形振荡器、多个中间D触发器、异或运算器和输出D触发器,其中,所述熵源模块包括N个输入环形振荡器,各所述输入环形振荡器在接收到使能信号后输出振荡输入信号并在撤销使能信号后结束振荡,N≥3;所述采样环形振荡器由M个具有取非运算功能的逻辑运算器依次串联且首尾相接而成,所述采样环形振荡器在接收到使能信号后使各逻辑运算器输出振荡时钟信号并在撤销使能信号后结束振荡,M为大于5的奇数;多个所述中间D触发器构成N*(M

1)的矩阵,所述矩阵中的每一行具有M

1个中间D触发器、每一列具有N个中间D触发器,每一行中间D触发器的D输入端分别连接同一个输入环形振荡器的输出端,且N行中间D触发器与N个输入环形振荡器一一对应连接,每一列中间D触发器的时钟信号输入端分别连接同一个逻辑运算器的输出端,且M

1列中间D触发器与采样环形振荡器中的前M

1个逻辑运算器一一对应连接;所述异或运算器分别与每个中间D触发器的Q输出端连接并进行异或运算;所述输出D触发器的D输入端接所述异或运算器的输出端、时钟信号输入端接所述采样环形振荡器的末端逻辑运算器的输出端、Q输出端输出真随机数。2.如权利要求1所述的真随机数生成器,其特征在于,所述输入环形振荡器包括一个串联的与非门和缓冲器,所述与非门的第一输入端用于接入使能信...

【专利技术属性】
技术研发人员:鲁赵骏陈启东张海春刘政林张吉良
申请(专利权)人:华中科技大学
类型:发明
国别省市:

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

1