一种随机数发生器、电子电路和系统级芯片技术方案

技术编号:33716412 阅读:18 留言:0更新日期:2022-06-06 09:00
本发明专利技术涉及一种随机数发生器、电子电路和系统级芯片,所述随机数发生器包括:熵源模块、时钟发生器、采样单元和后处理单元;后处理单元包括第一移位寄存器和第二寄存器;后处理单元将所述第一随机序列放入第一移位寄存器中,将第二随机序列放入第二寄存器中,将第一移位寄存器移位后的移位后第一随机序列,或第一移位寄存器和第二寄存器异或的结果作为输出随机序列;本发明专利技术提供了可扩展的真随机数发生器,合理地引入外部熵源,并且有选择的使用基于应用环境的外部熵源,不增加额外硬件开销的情况下能够满足独立、均匀分布的随机数特性。均匀分布的随机数特性。均匀分布的随机数特性。

【技术实现步骤摘要】
一种随机数发生器、电子电路和系统级芯片


[0001]本专利技术属于信息安全
,尤其涉及一种随机数发生器、电子电路和系统级芯片。

技术介绍

[0002]随着信息技术和计算机技术的发展和广泛应用,和互联网和计算机通信技术的发展,信息安全越来越受到人们的重视,人们对各种通信过程的安全保密性要求也越来越高。信息安全架构内部需要用到大量的随机数,随机数用于安全服务、如完整保护和数据加密的密匙管理中,是形成密码文的基础。随机数被用于产生密码的密匙或确定不重复的值。一般都会使用随机数来当作所需要的密钥,能产生高质量随机数的随机数发生器尤其重要。
[0003]真随机数看起来是随机的,即能通过所能找到的所有正确的随机性检验;这个序列是不可预测的,也就是说,即使给出产生序列的算法或者硬件设计和以前产生序列的所有知识,也不可能通过计算来预测下一个序列是什么;这个序列不能重复产生,即使在完全相同的操作条件下用完全相同的输入对序列发生器操作两次,也将得到两个完全不同的、毫不相关的序列。随机数能够经由逻辑或物理的随机数发生器来产生。近年来,利用硬件来构造真随机数产生器已经逐渐成为新的发展方向,例如:基于混沌的真随机数产生器、基于电阻热噪声的真随机数产生器和基于振荡器的真随机数产生器。
[0004]现有技术中的随机数发生器不能在保障真随机性的情况下提供bit位的扩展性,为了提供相抵复杂的随机性往往需要时钟信号发生器和采样单元作复杂改进,增加了芯片开销;独立依赖于时钟信号的随机数发生器如果面临对时钟信号发生器的攻击,会使得时钟信号发生器输输出的复杂时钟信号异常,从而导致随机数发生器生成的随机数是可以预测的。本专利技术提供了可扩展的真随机数发生器,合理地引入外部熵源并有选择的使用基于应用环境的外部熵源,不增加额外硬件开销的情况下能够满足独立、均匀分布的随机数特性,降低了产生的随机数是可预测的概率。

技术实现思路

[0005]为了解决现有技术中的上述问题,本专利技术提出了一种随机数发生器,所述随机数发生器包含:熵源模块、时钟发生器、采样单元和后处理单元;时钟发生器、熵源模块与采样单元分别相连;熵源模块、采样单元、时钟发生器和后处理单元分别相连;时钟发生器用于产生时钟信号;所述熵源模块包括外部熵源模块和内部熵源模块;采样单元用于在时钟信号的作用下对内部熵源模块进行采样以得到第一随机序列;外部熵源模块设置有接口单元,通过接口单元获取和应用环境相关的第二随机序列,并将第二随机序列输出到后处理单元;所述后处理单元包括第一移位寄存器和第二寄存器;所述第一移位寄存器是循环移位寄存器;基于所述第一随机序列和第二随机序列得到输出随机序列;具体的:后处理单
元将所述第一随机序列放入第一移位寄存器中,将第二随机序列放入第二寄存器中,将第一移位寄存器移位后的移位后第一随机序列,或第一移位寄存器和第二寄存器异或的结果作为输出随机序列;所述后处理单元设置有开关单元,所述开关单元用于确定是否接收外部熵源模块发送的第二随机序列;当所述开关单元打开时,所述随机数发生器进入扩展模式,所述第二寄存器接收第二随机序列,关闭时,不接收,所述随机数发生器进入常规模式;在开关单元被打开时,所述随机数发生器进入扩展模式,第一移位寄存器中的bit位经过N位移位后,形成包括前端移位部分和后端移位部分的移位后第一随机序列;对应的,第二寄存器中包括前端第二随机部分和后端第二随机部分;前端第二随机部分的bit位数M和前端移位部分的bit位数量M相同;将前端移位部分和第二寄存器中的前端第二随机部分进行按位异或操作后得到第二输出随机序列;将后端移位部分、第二输出随机序列和后端第二随机部分拼接后形成输出随机序列;移位bit位数N和前端第二随机部分的bit位数M是不相关的;开关单元关闭时,第一移位寄存器中的bit位经过N位移位后作为输出随机序列。
[0006]进一步的,所述内部熵源模块为高速随机振荡信号发生器;高速随机振荡信号发生器输出高速随机振荡信号。
[0007]进一步的,外部熵源模块直接采集二进制格式的数据序列作为第二随机序列。
[0008]进一步的,将第一随机序列中1值的个数作为移位bit位数N。
[0009]进一步的,将后端移位部分中1值的个数作为移位bit位数N。
[0010]一种真随机数发生设备,利用所述的一种随机数发生器的电路生成真随机数。
[0011]进一步的,所述随机数发生器还包括验证单元,所述验证单元用于验证所述输出随机序列是否发生异常,当所述随机序列发生异常且随机数发生器处于常规模式时,验证单元打开所述开关单元。
[0012]进一步的,在扩展模式下,将后端移位部分中1值的个数和后端第二随机部分中1值的个数之和作为移位bit位数N。
[0013]一种系统级芯片,所述系统级芯片用于实现所述的随机数发生器。
[0014]一种电子电路,所述电子电路用于实现所述的随机数发生器。
[0015]本专利技术的有益效果包括:(1)提供了可扩展的真随机数发生器,合理地引入外部熵源并有选择的使用基于应用环境的外部熵源,不增加额外硬件开销的情况下能够满足独立、均匀分布的随机数特性;(2)参与后续移位和异或运算的两个随机序列时互不相关的,相互之间的独立性较高,提高了通过异或运算获得的真随机数信号的随机性;(3)独立的移位拼接机制,在保障随机性的基础上,不需要额外添加加法器等硬件单元,也无需对信号发生器和采样单元作改变,减少了硬件开销和实现复杂度;(4)接口单元封装在随机数发生器外部,可以在随机数发生器外部通过软件或者人工进行设置或者接入;通过外部熵源模块干涉所述输出随机序列的产生,使得随机数发生器能够继续保持工作,给替换和维修留出时间。
附图说明
[0016]此处所说明的附图是用来提供对本专利技术的进一步理解,构成本申请的一部分,但
并不构成对本专利技术的不当限定,在附图中:图1为本专利技术的随机数发生器中后处理单元结构示意图;图2为本专利技术实施例中扩展模式下输出随机序列的处理过程示意图。
具体实施方式
[0017]下面将结合附图以及具体实施例来详细说明本专利技术,其中的示意性实施例以及说明仅用来解释本专利技术,但并不作为对本专利技术的限定;本专利技术提出一种随机数发生器,所述随机数发生器包括:熵源模块、时钟发生器、采样单元和后处理单元;时钟发生器、熵源模块与采样单元分别相连;熵源模块、采样单元、时钟发生器和后处理单元分别相连;其中:所述熵源模块包括外部熵源模块和内部熵源模块;其中:所述内部熵源模块为高速随机振荡信号发生器;高速随机振荡信号发生器输出高速随机振荡信号,采样单元用时钟发生器产生的时钟对该振荡信号进行采样,输出第一随机序列;优选的:内部熵源模块来源于振荡器的抖动,亚稳态电路等;可替换的:所述内部熵源模块为自定时振荡环;时钟发生器用于产生时钟信号;采样单元用于在时钟信号的作用下对内部熵源模块产生的信号作采样以得到第一随机序列;外部熵源模块设置有接口单元,通过接口单元获取和应用环境相关的第二随机序列,并将第二随机序列输出到本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种随机数发生器,其特征在于,所述随机数发生器包括:熵源模块、时钟发生器、采样单元和后处理单元;时钟发生器、熵源模块与采样单元分别相连;熵源模块、采样单元、时钟发生器和后处理单元分别相连;时钟发生器用于产生时钟信号;所述熵源模块包括外部熵源模块和内部熵源模块;采样单元用于在时钟信号的作用下对内部熵源模块进行采样以得到第一随机序列;外部熵源模块设置有接口单元,通过接口单元获取和应用环境相关的第二随机序列,并将第二随机序列输出到后处理单元;所述后处理单元包括第一移位寄存器和第二寄存器;所述第一移位寄存器是循环移位寄存器;基于所述第一随机序列和第二随机序列得到输出随机序列;具体的:后处理单元将所述第一随机序列放入第一移位寄存器中,将第二随机序列放入第二寄存器中,将第一移位寄存器移位后的移位后第一随机序列,或第一移位寄存器和第二寄存器异或的结果作为输出随机序列;所述后处理单元设置有开关单元,所述开关单元用于确定是否接收外部熵源模块发送的第二随机序列;当所述开关单元打开时,所述随机数发生器进入扩展模式,所述第二寄存器接收第二随机序列,关闭时,不接收,所述随机数发生器进入常规模式;在开关单元被打开时,所述随机数发生器进入扩展模式,第一移位寄存器中的bit位经过N位移位后,形成包括前端移位部分和后端移位部分的移位后第一随机序列;对应的,第二寄存器中包括前端第二随机部分和后端第二随机部分;前端第二随机部分的bit位数M和前端移位部分的bit位数量M相同;将前端移位部分和第二寄存器中的前端第二随机部分进行按位异或操作后得到第二输出随机...

【专利技术属性】
技术研发人员:耿晓祥姜龙桂海洋
申请(专利权)人:苏州云途半导体有限公司
类型:发明
国别省市:

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

1