[发明专利]移动终端的随机数发生器、方法、设备及存储介质在审
申请号: | 202010217734.0 | 申请日: | 2020-03-25 |
公开(公告)号: | CN113448540A | 公开(公告)日: | 2021-09-28 |
发明(设计)人: | 李珂;杨本芊 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | G06F7/58 | 分类号: | G06F7/58 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 王玉双;刘健 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 移动 终端 随机数 发生器 方法 设备 存储 介质 | ||
本发明涉及通信技术领域,提供了一种移动终端的随机数发生器、方法、设备及存储介质。所述随机数发生器包括:熵源模块,用于采集、检测以及评估所述移动终端的随机噪声事件数据,并输出满足预设要求的熵源数据;熵池模块,用于存储、保护以及统计所述熵源模块输出的所述熵源数据;序列输出模块,用于根据所述熵源数据,输出随机序列。借此本发明以实现快速高质量的输出随机数。
技术领域
本发明涉及通信技术领域,尤其涉及一种移动终端的随机数发生器、方法、设备及存储介质。
背景技术
随着互联网和计算机通信技术的发展,人们对各种通信过程的安全保密性要求也越来越高,而在各种信息加密过程中往往都会使用到随机数序列,例如有很多加密系统的安全性就直接依赖于所产生的密钥的不可预测性以及随机性。然而要产生一个高质量的密钥,仅仅靠人类输入一个密码是无法达到要求的,因为那样会有太强的主观性,因此一般都会使用随机数来当作所需要的密钥,为此,一个能产生高质量随机数的随机数发生器尤其重要。
对于移动端使用Linux内核提供的/dev/random和/dev/urandom伪随机数生成器来产生随机数,它们从系统级事件和用户输入中提取熵。然而Linux随机数发生器难以快速从这些事件中提取大量的熵,而且依靠大量的数学混合来产生随机数。而在应用层,有许多伪随机数发生器都可以产生随机数,但是它们一般以具有很少熵的系统时间为种子,产生的随机数具有可预测性。
在密码学中,对一个序列的随机性是这样定义的:看起来是随机的,即能通过所能找到的所有正确的随机性检验;这个序列是不可预测的,也就是说,即使给出产生序列的算法或者硬件设计和以前产生序列的所有知识,也不可能通过计算来预测下一个序列是什么;这个序列不能重复产生,即使在完全相同的操作条件下用完全相同的输入对序列发生器操作两次,也将得到两个完全不同的、毫不相关的序列。相应的,随机数也分为三类:
伪随机数:满足第一个条件的随机数。
密码学安全的伪随机数:同时满足前两个条件的随机数。可以通过密码学安全伪随机数发生器计算得出。
真随机数:同时满足三个条件的随机数。
熵是影响随机数质量的是其所具有的熵,熵简单来说就是随机数的不确定性。信息论定义一条消息的信息量如下:假设所有消息是等可能的,对消息中所有可能的值进行编码所需要的最少比特数。一条消息M的信息量可以通过它的熵(entropy)来度量。通常,一条消息的熵是log2n,其中n是消息所有可能的值,此处假设每一个值是等可能的。一个安全的随机数意味着它含有足够的熵。根据国家密码管理局发布的《密码模块安全技术要求》中对随机数的要求,无论熵从密码边界内部还是外部收集,对任何一个关键安全参数,其最小熵值应不小于256比特。也就是说,用于密码安全的随机数,所拥有的熵最少为256比特。
随机数及其发生器是主流计算环境的重要组成部分。由随机数发生器产生的随机数被广泛用于OS级功能(堆栈指针随机化)、科学计算(蒙特卡罗,马尔可夫模型)和计算机安全(密钥生成)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010217734.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于条件生成对抗网络的单幅图像去雾方法
- 下一篇:散流器