真随机数后处理系统的制作方法
【技术领域】
[0001]本实用新型涉及系统安全领域,尤其涉及一种真随机数后处理系统。
【背景技术】
[0002]真随机数发生器在安全类应用中占有十分重要的地位,真随机数的随机性决定了整个应用的安全性。在现有的技术中,真随机数发生器一般由两部分组成:模拟器件,生成初始化序列;数字器件,使用初始化序列作为种子对伪随机序列发生器进行初始化,之后输出随机序列。模拟器件用来保证随机数的不可预测性,它生成的随机数具有周期长、不相关等特点;数字器件用来保证随机数的随机性,它生成的随机数具有随机性稳定、分布均匀等特性。
[0003]现有技术中,该真随机数发生器的模拟器件生成初始化序列后直接发送给数字器件,当模拟器件受到外部的强干扰或者恶意攻击,会输出可预测的序列,而后续的伪随机序列发生器一般通过固定的多项式移位来实现,生成的伪随机序列统计特性较差,从而对序列进行数字后处理后不能消除可预测性,从而其抗攻击能力弱,给系统安全带来危险。
【实用新型内容】
[0004]基于此,有必要提供一种抗攻击能力强的真随机数后处理系统。
[0005]—种真随机数后处理系统,包括:真随机数获取模块、伪随机数生成模块及真随机异或模块;
[0006]所述真随机数获取模块获取第一数量路数的真随机序列,所述第一数量路数至少为两路,对所述真随机序列进行分组,其中至少一组中包括至少两路的所述真随机序列;
[0007]所述真随机异或模块接收同一组中的所述真随机序列,将同一组中的所述真随机序列异或后生成一路第一中间序列,并将所述第一中间序列发送至所述伪随机数生成模块;
[0008]所述伪随机数生成模块根据接收到的所述第一中间序列输出第二中间序列;共有第二数量路数的所述第二中间序列;所述第二数量路数小于所述第一数量路数。
[0009]上述真随机数后处理系统由于真随机数获取模块获取第一数量路数的真随机序列,具有一定的随机性和不可预测性;真随机异或模块接收同一组中的所述真随机序列,将同一组中的所述真随机序列异或后生成一路第一中间序列,并将所述第一中间序列发送至所述伪随机数生成模块,使伪随机数生成模块接收到的第一中间序列的随机性更强、可预测性更弱。经伪随机数生成模块处理,得到的第二中间序列进一步提高随机性、降低可预测性。如此,可以增强经该真随机数后处理系统处理的后处理结果的抗攻击能力。
【附图说明】
[0010]图1为一种实施方式的真随机数后处理系统的结构图;
[0011]图2为另一种实施方式的真随机数后处理系统的结构图。
【具体实施方式】
[0012]为了便于理解本实用新型,下面将参照相关附图对本实用新型进行更全面的描述。附图中给出了本实用新型的较佳的实施例。但是,本实用新型可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本实用新型的公开内容的理解更加透彻全面。
[0013]除非另有定义,本文所使用的所有的技术和科学术语与属于本实用新型的技术领域的技术人员通常理解的含义相同。本文中在本实用新型的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本实用新型。本文所使用的术语“或/和”包括一个或多个相关的所列项目的任意的和所有的组合。
[0014]如图1所示,为本实用新型一种实施方式的真随机数后处理系统,包括:真随机数获取模块120、真随机异或模块130及伪随机数生成模块140。
[0015]所述真随机数获取模块120获取第一数量路数的真随机序列,所述第一数量路数至少为两路,对所述真随机序列进行分组,其中至少一组中包括至少两路的所述真随机序列。在本实施例中,每组包括两路真随机序列。
[0016]所述真随机异或模块130接收同一组中的所述真随机序列,将同一组中的所述真随机序列异或后生成一路第一中间序列,并将所述第一中间序列发送至所述伪随机数生成模块140。
[0017]所述伪随机数生成模块140根据接收到的所述第一中间序列输出第二中间序列。共有第二数量路数的所述第二中间序列;所述第二数量路数小于所述第一数量路数。在本实施例中,第二中间序列即为后处理结果。
[0018]具体地,伪随机数生成模块140还可以对第一中间序列进行处理操作生成第二中间序列。在本实施例中,处理操作包括移位、停止及更换多项式。
[0019]该真随机数后处理系统由于真随机数获取模块120获取第一数量路数的真随机序列,具有一定的随机性和不可预测性;真随机异或模块130接收同一组中的所述真随机序列,将同一组中的所述真随机序列异或后生成一路第一中间序列,并将所述第一中间序列发送至所述伪随机数生成模块140,使伪随机数生成模块140接收到的第一中间序列的随机性更强、可预测性更弱。经伪随机数生成模块140处理,得到的第二中间序列进一步提高随机性、降低可预测性。如此,可以增强经该真随机数后处理系统处理的后处理结果的抗攻击能力。
[0020]请参照图2,在其中一个实施例中,还包括及主控模块150。每个所述伪随机数生成模块140均与所述主控模块150双向通信连接。所述伪随机数生成模块140发送特性因子至所述主控模块150。所述主控模块150根据接收到的各伪随机数生成模块140发送的所述特性因子,发送主控因子至所述伪随机数生成模块140。伪随机数生成模块140还可以根据主控因子对第一中间序列进行处理操作生成第二中间序列。
[0021]请继续参照图2,在其中一个实施例中,还包括伪随机异或模块160。所述伪随机异或模块160接收每个所述伪随机数生成模块140输出的所述第二中间序列,对各所述第二中间序列进行异或得到后处理结果,并输出所述后处理结果。由于共有第二数量路数的第二中间序列,伪随机异或模块160对第二数量路数的第二中间序列再进行异或得到一路后处理结果,如此,可以再进一步提高后处理结果的随机性、降低后处理结果的可预测性,能够进一步增强经该真随机数后处理系统处理的后处理结果的抗攻击能力。
[0022]在其中一个实施例中,所述第一数量路数为偶数。其中,每两路真随机序列为一组。所述真随机异或模块130的数量个数为所述第一数量路数的一半。所述伪随机数生成模块140的数量个数与所述真随机异或模块130的数量个数相等,使每个真随机异或模块130对应一个伪随机数生成模块140,从而使每一组真随机序列对应一个伪随机数生成模块 140。
[0023]在本实施例中,所述第一数量路数为8,所述真随机异或模块130的数量个数为4,所述伪随机数生成模块140的数量个数为4。
[0024]在其中一个实施例中,所述伪随机数生成模块140为伪随机数生成器。
[0025]在其中一个实施例中,每个所述伪随机数生成模块140采用不同级数的线性反馈移位寄存器实现。如此,再进一步增强后处理结果的随机性及不可预测性,增加本真随机数后处理系统处理的后处理结果的抗攻击能力。
[0026]在本实施例中,4个所述