本发明属于信息安全和密码方法,具体涉及一种基于摄像头的移动端真随机数快速生成方法。
背景技术:
随着信息技术的发展,越来越多的移动app使用密码算法保护用户的数据隐私和通信安全。在这些密码算法的应用中,随机数生成则是最为基础和重要的功能。好的随机数生成器能生成高度随机、不可预测、不可重现的任意长度随机数,为密钥生成、身份认证等提供最重要的安全基础。然而由于硬件资源、运算能力等方面的限制,当今手机等移动端的密钥生成算法为伪随机生成算法,其生成的随机数难以保障信息安全需求。在手机等移动端上快速生成高安全性的真随机数,需求日益迫切。
技术实现要素:
本发明针对上述问题,本发明的目的在于一种基于摄像头的移动端真随机数快速生成方法,主要针对上述应用需求,利用目前绝大多数手机自带的摄像头产生任意长度的真随机数。当手机app在应用中需要真随机数时,该方法通过屏幕提示用户打开摄像头,自动或者指引用户拍摄多张照片,不基于这些照片数据,通过混淆算法产生随机数。
本发明解决上述技术问题采用的技术方案是:
一种基于摄像头的移动端真随机数快速生成方法,真随机数快速生成模块可以实现为手机等移动终端操作系统中一个基础api,也可以实现为app的一个独立模块。安全app调用真随机数生成模块,并输入所需的随机数长度。然后app提示用户并自动打开摄像头,自动拍摄或者指引用户随意对准任意场景拍摄一定数量的照片,并根据随机数长度需求生成随机数。当随机数长度满足需求时,提示用户并输出最终随机数。
一种基于摄像头的移动端真随机数快速生成方法,方法步骤如下:
1、调用摄像头自动拍摄或者指引用户拍摄一张或多张照片;
2、读取拍摄的照片文件内容;
3、使用可配置的哈希函数对照片文件内容的散列值,输出散列值即为生成随机序列。
通过摄像头拍摄的照片,将照片的文件内容转换成散列值,通过哈希函数计算生成随机序列。由于照片的随机性,再通过哈希函数产生输出的随机数是不可重复得到,是真随机数。
上述拍摄的照片数量由照片分分辨率和需要的随机数长度确定。
上述两张照片都不满足,则通过对两张照片进行差分叠加。
对于上述照片分辨率,通过提示用户对准具有混沌特性的,较杂乱较复杂的对象,例如树丛、人群、颜色丰富的花朵或衣物等拍照,如果用户拍摄的照片随机性不满足要求,例如大块的纯色背景,应用提示用户重新拍摄。
对于步骤2中的拍摄的照片文件内容,通过以下方法处理:进行快速线条提取,提取的精度以整幅照片可切分为不规则的小区块,小区块的数量不小于指定值。
对于上述划分成小区块的图片,用预先选定的标准格栅覆膜,每个小区块中取第一个被完全包含的格。格栅为正方形,菱形,蜂窝形,标准格栅的每个格充分小。
将选定格中点的像素的灰度值与整幅照片的平均灰度值比较,正偏离得到比特“1”,负偏离得到比特“0。
本发明具有的有益效果是:
利用手机摄像头的拍照功能;
对摄像头的图片功能进行混淆处理,产生随机比特;
按照需求产生指定长度的随机数序列。
具体实施方式
以下通过实施方式对本发明作进一步的说明。
一种基于摄像头的移动端真随机数快速生成方法,方法如下:
1.首先调用摄像头自动拍摄对准具有混沌特性的,较杂乱较复杂的对象,树丛、人群、颜色丰富的花朵拍照。
2.对于拍摄到的照片,首先进行快速线条提取,提取的精度以整幅照片可切分为不规则的小区块,小区块的数量不小于指定值。
3.若上诉步骤难以满足,则可以提示用户另行拍摄。若新的照片仍然不满足,则可以对两幅照片进行差分叠加。
4.对于划分成小区块的图片,用预先选定的标准格栅(正方形,菱形,蜂窝形等,标准格栅的每个格充分小)覆膜,每个小区块中取第一个被完全包含的格。
5.将选定格中点的像素的灰度值与整幅照片的平均灰度值比较,正偏离得到比特“1”,负偏离得到比特“0”;
6.对上述所得的使用比特通过可配置的哈希函数对对上述所得的使用比特计算,输出生成随机序列。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明,本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
1.一种基于摄像头的移动端真随机数快速生成方法,其特征在于:
方法步骤如下:
(1)、调用摄像头自动拍摄或者指引用户拍摄一张或多张照片;
(2)、读取拍摄的照片文件内容;
(3)、使用可配置的哈希函数对照片文件内容的散列值,输出散列值即为生成随机序列。
2.根据权利要求1所述的一种基于摄像头的移动端真随机数快速生成方法,其特征在于:上述拍摄的照片数量由照片分分辨率和需要的随机数长度确定。
3.根据权利要求2所述的一种基于摄像头的移动端真随机数快速生成方法,其特征在于:上述两张照片都不满足,则通过对两张照片进行差分叠加。
4.根据权利要求3所述的一种基于摄像头的移动端真随机数快速生成方法,其特征在于:对于上述照片分辨率,通过提示用户对准具有混沌特性的,较杂乱较复杂的对象,例如树丛、人群、颜色丰富的花朵或衣物等拍照,如果用户拍摄的照片随机性不满足要求,例如大块的纯色背景,应用提示用户重新拍摄。
5.根据权利要求3所述的一种基于摄像头的移动端真随机数快速生成方法,,其特征在于:对于步骤2中的拍摄的照片文件内容,通过以下方法处理:进行快速线条提取,提取的精度以整幅照片可切分为不规则的小区块,小区块的数量不小于指定值。
6.根据权利要求5所述的一种基于摄像头的移动端真随机数快速生成方法,其特征在于:对于上述划分成小区块的图片,用预先选定的标准格栅覆膜,每个小区块中取第一个被完全包含的格;格栅为正方形,菱形,蜂窝形,标准格栅的每个格充分小。
7.根据权利要求5所述的一种基于摄像头的移动端真随机数快速生成方法,其特征在于:将选定格中点的像素的灰度值与整幅照片的平均灰度值比较,正偏离得到比特“1”,负偏离得到比特“0”。