智能移动终端上基于陀螺仪的随机数发生方法与流程
未命名
08-02
阅读:173
评论:0

1.本发明属于随机数生成领域,具体涉及一种智能移动终端上基于陀螺仪的随机数发生方法。
背景技术:
2.现今计算机对于随机数的需求是越来越多,如互联网中的金融安全、电子商务的安全、信息的加密、游戏的设置、博彩以及对于复杂系统的模拟等等,这些都需要随机数,其中对随机数需求最大的是信息安全业,包括rsa加解密算法中公共密钥和私有密钥的生成、建立一次安全通讯需要的随机会话密钥等都需要用到随机数。在加解密的过程中随机数起着相当重要的作用。对密码系统的安全性来说,每个组件都是很重要的,一个组件设计的失败可能使其他所有组件崩溃,所以对于每一个组件来说,使用一个好的随机数发生器是必要的。密码随机数常常被用作密钥,具有补充信息,辅助信息和初始化向量等功能。
3.对于随机数还不能给出一个很严格的定义,但它具有几个最基本的特点:均匀分布性、独立性、不可预测性。常见的随机数发生器有两种:使用数学算法的伪随机数发生器和以物理随机量作为发生源的真随机数发生器。
4.随机数对于一切都是按照规则的计算机来说,单靠它自身是无法产生的,所以,传统的在计算机上,通过计算机产生随机数时,采用的是伪随机数生成器。伪随机数发生器用于在系统需要随机数的时候,通过一系列种子值计算出来的伪随机数。因为生成一个真正意义上的“随机数”对于计算机来说是不可能的,伪随机数也只是尽可能地接近其应具有的随机性,但是因为有“种子值”,所以伪随机数在一定程度上是可控可预测的。生成伪随机数常用的方法有线性同余法、移位寄存器以及组合发生器等方法。
5.真随机数的产生一般是利用噪声的随机性,随着电子技术的发展,电路的噪声成为最容易获得的噪声,所以随机数最好的来源是硬件,它的随机性来自自然,并且生成的速度足够快。真随机数因其随机性强,在数据加密、信息辅助、智能决策和初始化向量方面有着广泛的应用。
6.虽然伪随机数在周期足够长,并通过一系列检验的情况下,在一定范围内可当作真随机数使用,但是伪随机数序列本身存在的缺陷为信息的安全埋下了隐患。在伪随机数生成器中,作为“种子”的数在最开始作为初始整数传给函数,这样返回的每一个值完全由前一个返回值所决定,最终,该种子决定了一切。这样,如果获得了生成过程中的任何一个返回值,那么就可以算出从这个生成器返回的下一个值,过后生成的数据就可以全部推算出了。所以对于传统的伪随机数生成器,如果知道种子和算法就可以很容易的推算出这个序列,中间返回值的泄露也会导致序列的大部分泄露。
7.除了上述缺陷外,计算机使用算法模拟出来的伪随机数,这个过程并不涉及到物理过程,所以自然不可能具有真随机数的特性,其结果是确定的,是可见的,且具有周期性。只不过这个规律周期比较长,但还是可以预测的。
8.相对比于伪随机数,真随机数的性质更好,但在背景技术方案中可以看到,生成真
随机数需要硬件的支持,不可软件实现,且对技术要求比较高。对于硬件实现,其成本高,需要投入一般较大。除此之外,在系统原有的硬件之外,额外加入硬件来生成随机数,也是对系统资源和空间的一种额外开销和浪费。
技术实现要素:
9.(一)要解决的技术问题
10.本发明要解决的技术问题是如何提供一种智能移动终端上基于陀螺仪的随机数发生方法,以解决高效产生高质量随机数的问题。
11.(二)技术方案
12.为了解决上述技术问题,本发明提出一种智能移动终端上基于陀螺仪的随机数发生方法,该方法包括如下步骤:
13.s1、在智能移动终端中开辟一块空间存储随机数,作为随机数存储池;
14.s2、当智能移动终端上的陀螺仪数据和旋转矢量传感器数据变化时,先判断随机数存储池是否已存满数据,如果随机数存储池未存满数据,就采集陀螺仪数据和旋转矢量传感器数据,将其加和作为前期数据,将前期数据经过杂凑函数以生成随机数,将其存入随机数存储池中,如果随机数存储池已存满数据则结束;
15.s3、当用户或者系统需要随机数时,直接从随机数存储池中调用即可。
16.(三)有益效果
17.本发明提出一种智能移动终端上基于陀螺仪的随机数发生方法,考虑到前述伪随机数序列本身的缺陷和产生真随机数所需的额外开销,本发明的目的是有效利用现有资源生成真随机数,本发明针对智能终端,不采用传统的硬件方式产生真随机数,而是有效利用智能终端中现有的硬件资源,采用软件实现,通过采集陀螺仪和旋转矢量传感器数据的方式来获取真随机数以供后续使用,不额外增加硬件资源,可以减少成本,有效地利用现有资源。
18.本发明设计的随机数发生器生成的是真随机数,且不需要在智能终端中额外安装硬件,是基于现有的陀螺仪和旋转矢量传感器,利用软件实现,降低了硬件成本,有效利用现有资源,稳定性高,对一些价格敏感的使用场合,如金融、通信、娱乐等场合有较大的应用意义。
附图说明
19.图1为本发明的方法流程图。
具体实施方式
20.为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
21.现代信息技术的高速发展对信息安全要求越来越高,如何高效产生高质量随机数是一个重要的课题。根据上述背景技术方案可以看到,伪随机数本身存在着一定的缺陷,真随机数性质好,但是生成真随机数对技术要求比较高,而且需要额外的硬件资源,成本较高。
22.当今传感器硬件发展迅猛,向小型化、精准化、易操作化发展,传感器的功能越来越强大。智能移动终端设备装有各种传感器包括:摄像头、麦克风、加速度计、重力传感器、线性加速度传感器、陀螺仪、族转矢量传感器和gps定位仪等。同时,智能移动终端可以方便、非侵入式收集到手机用户的海量数据。利用智能移动终端现有的传感器硬件设备,针对背景方案的缺陷问题,本发明提出了一种针对于智能移动终端的真随机数发生器,不需要额外的硬件资源,可以软件实现,有效利用智能移动终端中现有的传感器,以达到减少成本,有效利用现有资源的目的。
23.此处首先介绍本发明利用到的杂凑函数的概念,然后介绍陀螺仪和旋转矢量传感器的相关技术,最后在此基础之上介绍本发明的方案。
24.杂凑函数是信息安全中一个非常重要的工具,该函数用任意长度的消息作为输入,通过函数中的数学变换将原消息压缩为固定长度的输出。密码杂凑函数又称为消息摘要函数、杂凑函数、散列函数或哈希函数,该函数不一定使用到密钥,但和许多重要的密码算法相关。杂凑函数具有单向性,逆向操作难以完成,而且碰撞(两个不同的输入产生相同的杂凑值)发生的机率非常小。
25.由于真随机数要求是均匀分布的,本发明利用了到杂凑函数的随机性(对任意的输入,杂凑函数的输出是和在所属区间中随机选取的比特在计算上是不可区分的)来达到该要求,该性质保证了输出的杂凑值在杂凑值空间中是均匀分布的。
26.陀螺仪输出的是智能移动终端在其相对坐标系中旋转的角速度,涉及到智能移动终端的翻转运动。旋转矢量传感器测量的是智能移动终端在绝对坐标体系内三维空间旋转角度,其输出的旋转角度值一定程度上反映了智能移动终端携带者运动方向变化。这里采集陀螺仪数据和旋转矢量传感器数据,考虑到当智能移动终端的携带者运动或者使用手机时,陀螺仪或旋转矢量传感器均有数据,而当智能移动终端静止时,陀螺仪和旋转矢量采集的数据均无变化,本发明采集智能移动终端处于变化阶段的数据。
27.基于上述介绍,本发明的具体方案如下:
28.s1、在智能移动终端中开辟一块空间存储随机数,作为随机数存储池。
29.s2、当智能移动终端上的陀螺仪数据和旋转矢量传感器数据变化时,先判断随机数存储池是否已存满数据,如果随机数存储池未存满数据,就采集陀螺仪数据和旋转矢量传感器数据,将其加和作为前期数据,将前期数据经过杂凑函数以生成随机数,将其存入随机数存储池中,如果随机数存储池已存满数据则结束。
30.其中,将陀螺仪数据和旋转矢量传感器数据转换为同一种进制,然后相加。
31.其中,将陀螺仪数据和旋转矢量传感器数据转换为同一种格式,然后相加。
32.其中,将前期数据直接输入杂凑函数。
33.其中,杂凑函数选用本领域通用的杂凑函数。
34.其中,杂凑函数的输出为256位。
35.其中,杂凑函数的输出为512位。
36.s3、当用户或者系统需要随机数时,直接从随机数存储池中调用即可。
37.其中,按顺序从随机数存储池中调用。
38.考虑到前述伪随机数序列本身的缺陷和产生真随机数所需的额外开销,本发明的目的是有效利用现有资源生成真随机数,本发明针对智能终端,不采用传统的硬件方式产
生真随机数,而是有效利用智能终端中现有的硬件资源,采用软件实现,通过采集陀螺仪和旋转矢量传感器数据的方式来获取真随机数以供后续使用,不额外增加硬件资源,可以减少成本,有效地利用现有资源。
39.本发明设计的随机数发生器生成的是真随机数,且不需要在智能终端中额外安装硬件,是基于现有的陀螺仪和旋转矢量传感器,利用软件实现,降低了硬件成本,有效利用现有资源,稳定性高,对一些价格敏感的使用场合,如金融、通信、娱乐等场合有较大的应用意义。
40.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
技术特征:
1.一种智能移动终端上基于陀螺仪的随机数发生方法,其特征在于,该方法包括如下步骤:s1、在智能移动终端中开辟一块空间存储随机数,作为随机数存储池;s2、当智能移动终端上的陀螺仪数据和旋转矢量传感器数据变化时,先判断随机数存储池是否已存满数据,如果随机数存储池未存满数据,就采集陀螺仪数据和旋转矢量传感器数据,将其加和作为前期数据,将前期数据经过杂凑函数以生成随机数,将其存入随机数存储池中,如果随机数存储池已存满数据则结束;s3、当用户或者系统需要随机数时,直接从随机数存储池中调用即可。2.如权利要求1所述的智能移动终端上基于陀螺仪的随机数发生方法,其特征在于,所述步骤s2中,陀螺仪输出的是智能移动终端在其相对坐标系中旋转的角速度,涉及到智能移动终端的翻转运动。3.如权利要求1所述的智能移动终端上基于陀螺仪的随机数发生方法,其特征在于,所述步骤s2中,旋转矢量传感器测量的是智能移动终端在绝对坐标体系内三维空间旋转角度,其输出的旋转角度值一定程度上反映了智能移动终端携带者运动方向变化。4.如权利要求1所述的智能移动终端上基于陀螺仪的随机数发生方法,其特征在于,所述步骤s2中,采集智能移动终端处于变化阶段的数据。5.如权利要求1所述的智能移动终端上基于陀螺仪的随机数发生方法,其特征在于,所述步骤s2中,将陀螺仪数据和旋转矢量传感器数据转换为同一种进制,然后相加。6.如权利要求1所述的智能移动终端上基于陀螺仪的随机数发生方法,其特征在于,所述步骤s2中,将陀螺仪数据和旋转矢量传感器数据转换为同一种格式,然后相加。7.如权利要求1所述的智能移动终端上基于陀螺仪的随机数发生方法,其特征在于,所述步骤s2中,将前期数据直接输入杂凑函数。8.如权利要求1所述的智能移动终端上基于陀螺仪的随机数发生方法,其特征在于,所述步骤s2中,杂凑函数的输出为256位。9.如权利要求1所述的智能移动终端上基于陀螺仪的随机数发生方法,其特征在于,所述步骤s2中,杂凑函数的输出为512位。10.如权利要求1所述的智能移动终端上基于陀螺仪的随机数发生方法,其特征在于,所述步骤s3中,按顺序从随机数存储池中调用。
技术总结
本发明涉及一种智能移动终端上基于陀螺仪的随机数发生方法,属于随机数生成领域。本发明针对智能终端,有效利用智能终端中现有的硬件资源,采用软件实现,通过采集陀螺仪和旋转矢量传感器数据的方式来获取真随机数以供后续使用。本发明设计的随机数发生器生成的是真随机数,且不需要在智能终端中额外安装硬件,是基于现有的陀螺仪和旋转矢量传感器,利用软件实现,降低了硬件成本,有效利用现有资源,稳定性高,对一些价格敏感的使用场合,如金融、通信、娱乐等场合有较大的应用意义。娱乐等场合有较大的应用意义。娱乐等场合有较大的应用意义。
技术研发人员:史晓明 胡馨月
受保护的技术使用者:北京计算机技术及应用研究所
技术研发日:2023.04.03
技术公布日:2023/7/31
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/