由低熵随机数产生足熵随机数的方法、装置、设备及介质与流程

文档序号:33962586发布日期:2023-04-26 17:17阅读:23来源:国知局
由低熵随机数产生足熵随机数的方法、装置、设备及介质与流程

本发明涉及信息安全,尤其涉及一种由低熵随机数产生足熵随机数的方法、装置、设备及介质。


背景技术:

1、随机数发生器(random number generator,rng)在现代密码学中处于基础而核心的地位,其生成的随机数为密码算法和安全协议等众多密码应用提供基本安全保障。随着移动互联网、物联网等技术的快速发展,随机数的使用范围在不断扩大,传统纯硬件形式的随机数发生器存在硬件更新困难、开发成本高等问题,导致适用范围受限。因此,在计算机、移动终端等设备上通常采用软件随机数发生器(software rng,srng)提供随机数服务。目前,android、ios以及windows等典型操作系统平台均具备各自的srng,提供基于软件的随机数服务。但软件随机数并不是真正地随机,它们通常是由诸如计算机等各种电子设备计算得出的。因此,一旦知道了其生成方法以及一些参数(例如随机数种子),就可得到完全相同的伪随机数,从而面临被破译的风险。为了通信的安全性,需要能够产生真随机数的发生器。

2、本发明以操作系统平台上软件真随机数发生器的设计为切入点,确保随机数的真随机性以及输出序列的安全性,并且解决存在无法由弱熵随机数产生足熵随机数的难题。


技术实现思路

1、本发明提供了一种由低熵随机数产生足熵随机数的方法、装置、设备及介质,以解决如何由弱熵随机数产生足熵随机数的问题。

2、为了解决上述问题,本发明采用以下技术方案:

3、第一方面,本发明提供了一种由低熵随机数产生足熵随机数的方法,包括:

4、收集智能移动终端上传感器的噪声数据,并将所述噪声数据作为外部输入信息;

5、将所述外部输入信息与预设乱源序列进行整数域运算,形成有记忆的关于输入的递归变换序列;

6、利用预设钟控序列对所述递归变换序列进行不规则采样,得到待输出序列;

7、对所述待输出序列进行十六阶的拉丁方压缩变换,得到输出序列。

8、其进一步的技术方案为,所述收集智能移动终端上传感器的噪声数据,包括:

9、对智能移动终端上的加速传感器、磁力传感器以及陀螺仪按预设第一采集方式进行采样得到第一噪声数据,并对声音采集装置按预设第二采集方式进行采样得到第二噪声数据;

10、将所述第一噪声数据以及所述第二噪声数据合并作为噪声数据。

11、其进一步的技术方案为,所述将所述外部输入信息与预设乱源序列进行整数域运算,形成有记忆的关于输入的递归变换序列之前,所述方法包括:

12、设置熵池,所述熵池包括熵以及熵池计数器;

13、获取噪声数据到预设第一乱源序列中使预设第一乱源序列空转,并使预设钟控序列空转,通过所述熵池计数器记录所述噪声数据的获取次数,其中,当所述熵池计数器记录的次数增加,所述熵池的熵也随着增加;

14、当所述熵池的熵增加到预设大小时,得到空转后的预设第一乱源序列,并将所述空转后的预设第一乱源序列作为预设乱源序列。

15、其进一步的技术方案为,所述将所述外部输入信息与预设乱源序列进行整数域运算,形成有记忆的关于输入的递归变换序列,包括:

16、将所述噪声数据与预设乱源序列进行模232加运算,得到递归变换序列。

17、其进一步的技术方案为,所述利用预设钟控序列对所述递归变换序列进行不规则采样,得到待输出序列,包括:

18、控制预设钟控序列动作一拍;

19、若预设钟控序列最高比特位为零,则预设乱源序列在所述递归变换序列输入作用下动作一拍,并在该次动作下使所述递归变换序列输出第一预设大小的比特随机数;

20、若预设钟控序列最高比特位为一,则预设乱源序列在所述递归变换序列输入作用下动作三拍,并在该次动作下使所述递归变换序列输出第二预设大小的比特随机数;

21、将所述第一预设大小的比特随机数和/或所述第二预设大小的比特随机数作为待输出序列。

22、其进一步的技术方案为,所述对所述待输出序列进行十六阶的拉丁方压缩变换,得到输出序列,包括:

23、将所有次数动作下的所述第一预设大小的比特随机数以及所述第二预设大小的比特随机数均进行十六阶的拉丁方压缩变换处理,得到输出序列。

24、其进一步的技术方案为,所述对所述待输出序列进行十六阶的拉丁方压缩变换,得到输出序列之后,还包括:

25、设置随机数池并将所述输出序列存储在所述随机数池中;

26、判断所述随机数池中的所述输出序列的总数量是否小于预设数量;

27、若所述随机数池中的所述输出序列的总数量小于预设数量,则返回所述利用预设钟控序列对所述递归变换序列进行不规则采样,得到待输出序列的步骤。

28、第二方面,本发明还提供了一种由低熵随机数产生足熵随机数的装置,包括用于执行如第一方面所述方法的单元。

29、第三方面,本发明还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

30、存储器,用于存放计算机程序;

31、处理器,用于执行存储器上所存放的程序时,实现第一方面所述的方法的步骤。

32、第四方面,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法的步骤。

33、本发明提供的上述技术方案与现有技术相比具有如下优点:

34、本发明提供的一种由低熵随机数产生足熵随机数的方法、装置、设备及介质,首先通过收集智能移动终端上传感器的噪声数据,并将所述噪声数据作为外部输入信息,从而使得随机数的起源具有一定的物理随机性;然后将所述外部输入信息与预设乱源序列进行整数域运算,形成有记忆的关于输入的递归变换序列;利用预设钟控序列对所述递归变换序列进行不规则采样,得到待输出序列,从而通过不规则采样对所述递归变换序列进行采样才得到待输出序列,进一步增加随机数的随机性;最后对所述待输出序列进行十六阶的拉丁方压缩变换,得到输出序列,从而通过拉丁方压缩变换进一步对所述待输出序列进行混淆以得到输出序列,增加输出序列的随机性。



技术特征:

1.一种由低熵随机数产生足熵随机数的方法,其特征在于,所述方法包括:

2.根据权利要求1所述的由低熵随机数产生足熵随机数的方法,其特征在于,所述收集智能移动终端上传感器的噪声数据,包括:

3.根据权利要求2所述的由低熵随机数产生足熵随机数的方法,其特征在于,所述将所述外部输入信息与预设乱源序列进行整数域运算,形成有记忆的关于输入的递归变换序列之前,所述方法包括:

4.根据权利要求1所述的由低熵随机数产生足熵随机数的方法,其特征在于,所述将所述外部输入信息与预设乱源序列进行整数域运算,形成有记忆的关于输入的递归变换序列,包括:

5.根据权利要求3所述的由低熵随机数产生足熵随机数的方法,其特征在于,所述利用预设钟控序列对所述递归变换序列进行不规则采样,得到待输出序列,包括:

6.根据权利要求5所述的由低熵随机数产生足熵随机数的方法,其特征在于,所述对所述待输出序列进行十六阶的拉丁方压缩变换,得到输出序列,包括:

7.根据权利要求3所述的由低熵随机数产生足熵随机数的方法,其特征在于,所述对所述待输出序列进行十六阶的拉丁方压缩变换,得到输出序列之后,还包括:

8.一种由低熵随机数产生足熵随机数的装置,其特征在于,包括用于执行如权利要求1-7任一项所述方法的单元。

9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的方法的步骤。


技术总结
本发明是一种由低熵随机数产生足熵随机数的方法、装置、设备及介质,属于信息安全技术领域,包括:收集智能移动终端上传感器的噪声数据,并将所述噪声数据作为外部输入信息;将所述外部输入信息与预设乱源序列进行整数域运算,形成有记忆的关于输入的递归变换序列;利用预设钟控序列对所述递归变换序列进行不规则采样,得到待输出序列;对所述待输出序列进行十六阶的拉丁方压缩变换,得到输出序列。本发明解决了由弱熵随机数产生足熵随机数的问题。

技术研发人员:赵都,许静宜
受保护的技术使用者:赵都
技术研发日:
技术公布日:2024/1/11
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1