CN110321103A - 一种基于物理设备的真随机数生成方法及设备 - Google Patents
一种基于物理设备的真随机数生成方法及设备 Download PDFInfo
- Publication number
- CN110321103A CN110321103A CN201910567708.8A CN201910567708A CN110321103A CN 110321103 A CN110321103 A CN 110321103A CN 201910567708 A CN201910567708 A CN 201910567708A CN 110321103 A CN110321103 A CN 110321103A
- Authority
- CN
- China
- Prior art keywords
- random number
- image
- true
- described image
- noise
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 32
- 238000001514 detection method Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 6
- 230000006835 compression Effects 0.000 claims description 6
- 238000007906 compression Methods 0.000 claims description 6
- 238000012360 testing method Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 14
- 238000009826 distribution Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000000342 Monte Carlo simulation Methods 0.000 description 2
- 238000001787 Wald–Wolfowitz test Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000007620 mathematical function Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000035699 permeability Effects 0.000 description 2
- 238000005295 random walk Methods 0.000 description 2
- 238000001583 randomness test Methods 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 208000001613 Gambling Diseases 0.000 description 1
- 235000006508 Nelumbo nucifera Nutrition 0.000 description 1
- 240000002853 Nelumbo nucifera Species 0.000 description 1
- 235000006510 Nelumbo pentapetala Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 235000019788 craving Nutrition 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000005258 radioactive decay Effects 0.000 description 1
- 239000002994 raw material Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Studio Devices (AREA)
- Image Processing (AREA)
Abstract
本申请所提供的一种基于物理设备的真随机数生成方法及设备,所述方法包括:采集拍摄图像,获取并计算所述图像的像素点;收集并量化所述图像的热噪声噪点,生成随机数;通过加密算法对随机数进行运算输出真随机数。本申请通过将无光源拍摄下采集的图像的热噪声数值化之后作为随机数,再使用加密算法进行加密生成真随机数,大大降低了使用成本和复杂性,用户可以采用常见的拍摄设备连接随机数生成器即可生成高质量、高安全性的真随机数,使得生成随机数的方法得到普遍推广,简便易于操作且成本低廉。
Description
技术领域
本申请涉及计算机技术领域,尤其是涉及一种基于物理设备的真随机数生成方法及设备。
背景技术
随着信息化的发展,网络在给予信息便利的同时也暴露出愈加严重的安全问题,大量的敏感信息通过公共通信设施或计算机网络进行交换,使得网络信息的安全与保密问题越来越为人们所关注。在信息保护的历史发展进程以及信息安全***工程中,密码技术成为保护信息安全的最关键技术和最基本手段,其中随机序列更是所有密码技术的基石。
随机数在很多领域有重要应用,例如密码学、仿真、***业和基础的物理学检验。而随着物联网和大数据等信息技术的迅速发展以及科技的进步并伴随计算能力越来越强的CPU的出现,使得传统依靠算法生成伪随机数的方法,因计算机程序产生的伪随机数序列已经无法满足对安全保密性要求极高的应用,而量子随机数生成器通常为一种复杂且昂贵的设备。因此,随机数的生成以及其在数字签名、密钥产生和一些安全通信协议中的运用,已成为网络信息安全保护过程中极为重要的核心部分,而产生优质随机数且生成过程简便快速的随机数生成器成为当今市场的普遍渴求。
现有的主流随机数生成器通常分为两种:真随机数生成器(TRNGs)和伪随机数生成器(PRNGs)。相比于具有可重复性、可预测性、周期循环性的电脑本身或编程语言随机函数生成的伪随机数,合格的真随机数因其自身的高质量、高安全性更为人们认可与追求。而量子随机数生成器作为满足等对序列不确定性的设备,通常复杂且昂贵。而当今市场中主流随机数生成方法都有着不可忽视的缺陷及不足。常见的主流随机数生成方法主要有以下几种:
(1)通过数学函数生成的伪随机数:现在编程所使用的随机数,常常是运用数学计算方法实现的伪随机数,其随机数生成算法有迭代取中法、线性同余法、线性反馈移位法、梅森旋转算法等。编程语言Java、C++、C#、C语言等均具有类Random随机数生成函数,为程序提供伪随机数据。但是通过程序得到的随机数都一定是通过递推公式得到的序列,这本身就违反了随机的定义,所以它们都不是真正的随机数,其生成的随机数具有重复性和周期性,比真随机数生成器容易破解得多。
(2)通过检测随机物理噪声源来获取真随机数产生随机数熵源即随机源:目前熵源一般是通过检测放射性衰变、粒子轨迹、电子电路噪声、大气噪声、机械振动噪声、混沌激光、电子振荡器频率抖动等物理噪声来获取的,对其参数进行获取后,可获得真正意义上的随机数。但是现在市场中存在的常用物理噪声源获取装置结构复杂,操作繁琐,有些还对人体具有一定的危险性,使得目前基于物理噪声源的随机数产生方法既不方便,也不实用。
(3)通过抓取生物特征来生成真随机数:基于生物特征的随机数生成器,通过检测用户的生物特征如虹膜颜色值,用户使用鼠标轨迹等作为“随机种子”,再通过加密算法加工处理,最终生成真随机数或趋于真随机数。但是以用户使用鼠标轨迹作为“随机种子”的随机数生成器,用户鼠标作为熵源有一个重要的缺陷,即同一用户的鼠标轨迹存在许多相似性或模式,如果在后处理时不能有效消除这种相似性,不能产生具有良好统计性能的随机数。
(4)使用数字随机数生成器生成随机数:数字随机数生成器(DRNG)是一种创新的硬件方法,它由新的Intel 64架构指令RDRAND和RDSEED以及底层DRNG硬件实现组成,可实现高质量高性能的熵和随机数生成。虽然在面对随机数攻击上此种方法可以提供更高的安全性,但是却十分依赖于英特尔特定的处理器,对于在使用上存在着诸多的不便性和限制,无法大面积普及使用,增加了使用者的使用成本。
因此,针对主流随机数生成方法无论基于数学函数、基于物理噪声、基于生物特征的算法都具有鲜明局限性的现实状况,亟需一种基于物理设备的真随机数生成方法及设备,能够生成无周期性、无预测性、安全可靠、快速简便的真随机数。
发明内容
针对现有技术的不足,本申请提供一种基于物理设备的真随机数生成方法及设备,解决了现有技术中真随机数生成可预测性、周期循环性高、复杂且成本过高等问题。
为解决上述技术问题,本申请提供一种基于物理设备的真随机数生成方法,包括:
采集拍摄图像,获取并计算所述图像的像素点;
收集并量化所述图像的热噪声噪点,生成随机数;
通过加密算法对随机数进行运算输出真随机数。
优选的,所述采集拍摄图像,获取并计算所述采集图像的像素点,包括:
调用拍摄设备在无光源状态下进行图像采集;
获取并计算所述图像的每个像素点色彩值;
分析得到所述图像的非零像素点。
优选的,所述收集并量化所述图像的热噪声噪点,生成随机数,包括:
收集所述图像的非零像素点,对非零像素点R层值进行处理,生成基于图像热噪声的真随机数。
优选的,所述通过加密算法对随机数进行运算输出真随机数,包括:
通过SHA-512算法对随机数进行压缩规范随机数长度,输出固定长度的随机数。
优选的,所述拍摄设备可为移动手机、ipad、电脑、数码相机等具有摄像头的设备。
本发明还提供一种真随机数发生器,包括:
随机数采集单元,所述随机数采集单元包括拍摄设备、图像处理设备,所述图像处理设备用于获取并计算所述采集图像的像素点;
随机数生成单元,所述随机数生成单元用于收集并量化所述图像的热噪声噪点,生成随机数;
随机数加密单元,所述随机数加密单元用于通过加密算法对随机数进行运算输出真随机数。
优选的,所述真随机数发生器还设置外用接口,用于连接并调用外接的移动拍摄设备。
优选的,所述图像处理设备具体用于:
获取并计算所述采集图像的每个像素点色彩值;
分析得到所述采集图像的非零像素点。
优选的,所述随机数生成单元具体用于:
收集所述图像的非零像素点,对非零像素点R层值进行处理,生成基于图像热噪声的真随机数。
优选的,所述随机数加密单元具体用于:
通过SHA-512算法对随机数进行压缩规范随机数长度,输出固定长度的随机数。
本发明还提供上述真随机数发生器在随机性数学计算领域、仪器探测与需要保密的现代通信领域的应用。
与现有技术相比,本申请具有如下有益效果:
1、本申请通过将无光源拍摄下采集的图像的热噪声数值化之后作为随机数,再使用加密算法进行加密生成真随机数,大大降低了使用成本和复杂性,用户可以采用常见的拍摄设备连接随机数生成器即可生成高质量、高安全性的真随机数,使得生成随机数的方法得到普遍推广,简便易于操作且成本低廉。
2、在本申请的随机数都是基于电子元件生成的,即通过随机的物理过程来产生真正的无周期性、不可预测的随机序列,同时通过本机物理设备生成的随机数,生成时也没有进行网络的连接,外界难以通过各种技术手段来获取设备生成的随机数,提高了传输数据等应用安全性;
3、本申请的真随机数生成器使用时,用户仅需调用我们的随机数生成器接口,整个随机数的生成过程均由我们的程序在接口内部实现,操作简便,应用性及实用性强,在日常的用户与企业中得以更为便捷的运用。
4、本申请的真随机数生成器可以被更好的采用于随机性数学计算领域、仪器探测与需要保密的现代通信领域,例如可用于人工智能中的蒙特卡洛仿真和随机建模、密码学算法,在雷达中的测距信号与遥控遥测中的测控信号,数字通信中的群同步和加扰解扰信号,无线通信码分多址***中的扩频信号等都要用到随机序列,而本申请基于图像捕捉与电子元件不确定性,实现随机数的高质量特征,必将促进高密仪器探测精准度的大大提升。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种基于物理设备的真随机数生成方法的流程图;
图2为本申请实施例所提供的拍摄图像R层数值处理后的量化统计图;
图3为本申请实施例所提供的一种真随机数生成器的结构示意图;
图4为本申请实施例所提供的χ2分布的概率密度曲线及P-value值图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参考图1,图1为本申请实施例所提供的基于物理设备的真随机数生成方法的流程图,该通信方法包括:
S101:采集拍摄图像,获取并计算所述图像的像素点;
S102:收集并量化所述图像的热噪声噪点,生成随机数;
S103:通过加密算法对随机数进行运算输出真随机数。
基于上述实施例,作为优选的实施例所述,步骤101采集拍摄图像,获取并计算所述采集图像的像素点,包括:接收用户端的发送的文字消息,并向所述用户端发送确认接收消息;
调用拍摄设备在无光源状态下进行图像采集;
获取并计算所述图像的每个像素点色彩值;
分析得到所述图像的非零像素点。
基于上述实施例,作为优选的实施例,步骤102收集并量化所述图像的热噪声噪点,生成随机数,包括:
收集所述图像的非零像素点,对非零像素点R层值进行处理,生成基于图像热噪声的真随机数。
基于上述实施例,作为优选的实施例,步骤103通过加密算法对随机数进行运算输出真随机数,包括:
通过SHA-512算法对随机数进行压缩规范随机数长度,输出固定长度的随机数。
需要说明的是,对于摄像头感光元件的噪声,主要有非均匀相应噪声、随机噪声、固定噪声三类。下面根据定义分别做出解释:
(1)非均匀响应噪声:每个像素在制造的时候会有个体差异,在电子电路上也不会完全相同。因此,即使感受相同的亮度,不同的像素给出的响应也是不同的。这种不均匀,反映出来就是非均匀响应噪声。这种噪声是与亮度成正比的,它决定了相机信噪比的上限。
(2)随机噪声:光进入相机,被传感器所接收,并不是连续的,而是一份一份的。每一份是一个光子,这个过程就像在雨天拿盆子接雨水,雨点也是一滴一滴落入盆子的。很容易想象,即使用同样大小的盆子,在雨中放置同样长的时间,那么落入盆子的雨滴数量也不会完全一致。光子进入传感器的过程数学上可以用泊松过程进行建模,这种噪声是与亮度的平方根成正比的。
(3)固定噪声:这一类噪声是不随亮度变化的。比如每一个像素的固有偏置,比如读取电路本身的读取噪声,比如放大电路引入的额外电子噪声。
由于真随机数是基于热噪声中的固定噪声生成,尤其是其中的读取电路的读取噪声以及放大电路引入的额外噪声。首先,在无光源状态下进行拍摄进行图像采集可以尽可能排除非均匀噪声和随机噪声的影响。其次,理论上图片应为纯黑,所以任何非纯黑的像素点都或多或少的受到了传感器噪声的影响,将图片量化后进行相减可以排除掉非均匀响应噪声的影响。再者,将得到的图像进行裁剪,可使观察到图像中心的数据分布更加随机。
此外,取图像的R层数据,是通过与其他图层进行比较发现的,在遮挡住光源的情况下R层的数据更加的多元化,更有利于我们对数据的分析和统计。请参考图2,图2为本申请实施例所提供的拍摄图像R层数值处理后的量化统计图。由图2可知,在摄像头拍摄图片的热噪声捕捉中发现,在摄像头被完全遮蔽的情况下所拍摄图片并不是所有的像素值都为0,非零的像素点则是记录了噪声的像素点。通过测试,在RGB三层数值中,采用其R层值所产生的0,1比例最佳,从而使得所产生的随机数的随机性最强。
最后,出于对随机数随机性的考虑,我们使用了由美国国家***(NSA)设计,美国国家标准与技术研究院(NIST)发布的密码散列函数SHA-512加密算法进行运算,并规范了随机数长度。使用SHA-512加密算法进行运算由消息摘要反推原输入消息,从计算理论上来说是很困难的。想要找到两组不同的消息对应到相同的消息摘要,从计算理论上来说也是很困难的。任何对输入消息的变动,都有很高的机率导致其产生的消息摘要迥异。至今尚未出现对其的有效攻击。
具体的,遮挡住摄像头的光源,调用拍摄设备在无光源状态下快速拍摄两次,将得到的两张1280*720位的图片挖出中间的1000*560位的数据转化为比特型,并对其进行位与位的相减,将得到的数据进行相减后得到的差的直方图。对直方图中的数据进行分析计算,取图像的R层将数据分为两个占比约等于50%,不超过47%-53%的列的集合。对这两个集合分别赋予0和1,将最终得到的数据读出,以获得初始的随机数。最后,通过SHA-512算法对随机数进行压缩规范随机数长度,输出固定长度的随机数。
请参考图3,图3为本申请实施例所提供的一种真随机数生成器的结构示意图,该真随机数发生器300,包括:
随机数采集单元310,所述随机数采集单元310包括拍摄设备、图像处理设备,所述图像处理设备用于获取并计算所述采集图像的像素点;
随机数生成单元320,所述随机数生成单元320用于收集并量化所述图像的热噪声噪点,生成随机数;
随机数加密单元330,所述随机数加密单元330用于通过加密算法对随机数进行运算输出真随机数。
基于上述实施例,作为优选的实施例,所述真随机数发生器还设置外用接口,用于连接并调用外接的移动拍摄设备。
具体的,用户可通过真随机数发生器上自带拍摄设备进行图像采集,也可以将自身便携的移动手机、ipad、电脑、数码相机等具有摄像头的设备,通过真随机数发生器设置的外用接口与真随机数发生器连接,真随机数发生器可调用外部设备采集的图像进行后续处理。用户在使用密钥传输信息时,可直接调用本随机数生成器提供的接口,而整个随机数生成过程均在该接口内部封装实现。
用户运行网络中现有的密钥生成程序过程中,在需生成随机数处调用本申请的真随机数生成器接口,用户调用后,真随机数生成器便操作控制用户计算机摄像头拍摄图片,程序内部获取并计算图片每个像素点色彩值,然后对其R层值进行处理,生成基于图像热噪声即物理噪声源本身的真随机数,再通过SHA-512算法对随机数规范长度,最终该接口向用户输出固定长度的随机数。由此可见,在本申请的随机数都是基于电子元件生成的,即通过随机的物理过程来产生真正的无周期性、不可预测的随机序列,同时通过本机物理设备生成的随机数,生成时也没有进行网络的连接,外界难以通过各种技术手段来获取设备生成的随机数,提高了传输数据等应用安全性;在本申请的真随机数生成器使用时,用户仅需调用我们的随机数生成器接口,整个随机数的生成过程均由我们的程序在接口内部实现,操作简便,应用性及实用性强,在日常的用户与企业中得以更为便捷的运用。
需要说明的是,真随机数发生器的拍摄设备为电脑摄像头,摄像头可采用CMOS或CCD,CMOS的全称是互补金属氧化物半导体。是集成电路芯片制造的原料。CMOS工艺应用于制作感光元件Sensor,当Sensor接收外界光线后转化为电能,再透过芯片上的模一数转换器(ADC)将获得的影像信号转变为数字信号输出。CCD的全称是电荷耦合元件。CCD的设计思路是在一块芯片上集成非常多的微小感光元,我们称之为像素,将所有像素的感光后的电荷通过某种方法传出,形成不同电平的电信号输出。再经过独立的模一数转换器将影像信号的电信号转换成为数字信号。CCD与CMOSSensor是当前被普遍采用的两种影像感测组件,基本上两者都是利用感光二极管进行光与电的转换,将影像转换为数字信息。CCD图像传感器可直接将光学信号转换为模拟电流信号,电流信号经过放大和模数转换,实现图像的获取、存储、传输、处理和重现。CCD传感器的特点在于因为有着更大的感光元件,而带来更加强劲的低照度能力。CMOS制造工艺被应用于制作数码影像器材的感光元件,是将纯粹逻辑运算的功能转变成接收外界光线后转化为电能,再造过芯片上的模一数转换器(ADC)将获得的影像讯号转变为数字信号输出。CCD和CMOS在制造上的主要区别是CCD是集成在半导体单晶材料上,而CMOS是集成在被称作金属氧化物的半导体材料上,工作原理没有本质的区别。CCD只有少数几个厂商例如索尼、松下等掌握这种技术,而且CCD制造工艺较复杂,采用CCD的摄像头价格都会相对比较贵。事实上经过技术改造,目前CCD和CMOS的实际效果的差距已经减小了不少。而且CMOS的制造成本和功耗都要低于CCD不少,所以很多摄像头生产厂商采用的CMOS感光元件。
在成像方面:在相同像素下CCD的成像通透性、明锐度都很好,色彩还原、曝光可以保证基本准确。而CMOS的产品往往通透性一般,对实物的色彩还原能力偏弱,曝光也都不太好,由于自身物理特性的原因,CMOS的成像质量和CCD还是有一定距离的。但由于低廉的价格以及高度的整合性,因此在摄像头领域还是得到了广泛的应用。目前,市场销售的数码摄像头中以CMOS感光器件的为主,摄像头采用CCD图像传感器的厂商为数不多,主要原因是采用CCD图像传感器成本高的影响。CMOS图像传感器具有低成本、高速随机读取、低功耗、高帧频等优点。但是CMOS图像传感器容易受到噪声的影响,主要有固定模式噪声FPN(FixedPattern Noise)和随机噪声,固定模式噪声对图像质量的影响远大于随机噪声,因此真随机数发生器的拍摄设备的摄像头优选CCD配置。
此外,该随机数生成器满足数据共享兼容。能够支持并遵守公开的标准,在应用程序之间共享数据,允许用户与其他软件无障碍的传输数据。其中用户输入数据为设备中摄像头所拍摄的普通图片,生成器输出数据为高质量随机数。可以将该随机数生成器在不同的软件中嵌入使用,优化软件的运用与运行。由于使用了SHA-512加密算法,该算法对随机数进行了加密和压缩。如果要从消息摘要反推原输入消息,从计算理论上来说是很困难的。想要找到两组不同的消息对应到相同的消息摘要,从计算理论上来说也是很困难的。任何对输入消息的变动,都有很高的机率导致其产生的消息摘要迥异。至今尚未出现对其的有效攻击。
为验证本申请生成真随机数的随机性与实用性,通过对本申请真随机数生成器产生的随机数进行了随机数随机性测试与随机数生成速率测试,测试结果如下:
1、随机数随机性测试
随机性检测利用概率统计的方法对随机数生成器或者密码算法产生序列的随机性进行描述,不同的检测项目从不同的角度刻画待检测序列与真随机序列之间的差距,通常采用假设检验的方法。随机性假设检验,就是已知真随机序列的某一方面符合一个特定的分布,那么假设待检测序列是随机的,则待检测序列在这方面也应该符合这个特定的分布。
在实际应用中,常用来衡量随机性的方法是P-value法,这里以测试统计量X服从χ2分布为例来说明。如图4所示,图4为χ2分布的概率密度曲线及P-value值图,原假设(零假设)H0:序列是随机的,测试统计量X服从χ2(n)分布;备择假设H1:序列不是随机的,测试统计量X不服从χ2(n)分布;首先作χ2分布的概率密度曲线,先求出统计量X,然后计算从X到无穷的积分,将积分结果(即P-value)与α进行比较,进而确定拒绝还是接受。如P-value≥α,那么原假设被接受,序列是随机的;反之被拒绝,序列是非随机的。一般的,α的取值范围是[0.001,0.01]。该文取显著性水平α=0.01。同时,对1280000位的二进制序列进行测试也得到了优良的结果。其中游程检验可以验证随机数满足德国联邦信息安全办公室办法的K1标准,其余检验可以验证随机数满足德国联邦信息安全办公室办法的K2标准。在NIST测试中16项测试中满足其中的12项即可证明序列是偏随机的。本申请生成的随机数在NIST测试中16项测试值如表1所示。
表1在NIST测试中16项测试值
由上表可以看出,16个测试项的P-value值全都大于显著性水平α=0.01,而且有12项(近似熵检验,块内频数检验,离散傅里叶变换检验,线性复杂度检验,非重叠模块匹配检验,重叠模块匹配检验,二元矩阵秩检验,游程检验,序列检验,Maurer的通用统计检验,随机游动检验,随机游动状态频数检验)的P-value值超过了0.1,因此,接受原假设H0,经检验的本申请生成的随机数序列是随机的,并且随机性优良。
2、随机数生成速率测试
对本申请真随机数生成器的数据流的产生速度测试可以达到1.66G/s,由此可见效率可观。由于我们随机数生成器的随机数产生后会用SHA-512进行压缩,导致下一次生成随机数之前会等待哈希运算结束,这是不必要的时间浪费,所以我们可以从增加哈希算法的线程来尝试加快运行速度。
本申请通过将无光源拍摄下采集的图像的热噪声数值化之后作为随机数,再使用加密算法进行加密生成真随机数,大大降低了使用成本和复杂性,用户可以采用常见的拍摄设备连接随机数生成器即可生成高质量、高安全性的真随机数,使得生成随机数的方法得到普遍推广,简便易于操作且成本低廉。
此外,本申请的真随机数生成器可以被更好的采用于随机性数学计算领域、仪器探测与需要保密的现代通信领域,例如可用于人工智能中的蒙特卡洛仿真和随机建模、密码学算法,在雷达中的测距信号与遥控遥测中的测控信号,数字通信中的群同步和加扰解扰信号,无线通信码分多址***中的扩频信号等都要用到随机序列,而本申请基于图像捕捉与电子元件不确定性,实现随机数的高质量特征,必将促进高密仪器探测精准度的大大提升
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的***而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种基于物理设备的真随机数生成方法,其特征在于,包括:
采集拍摄图像,获取并计算所述图像的像素点;
收集并量化所述图像的热噪声噪点,生成随机数;
通过加密算法对随机数进行运算输出真随机数。
2.根据权利要求1所述的基于物理设备的真随机数生成方法,其特征在于,所述采集拍摄图像,获取并计算所述采集图像的像素点,包括:
调用拍摄设备在无光源状态下进行图像采集;
获取并计算所述图像的每个像素点色彩值;
分析得到所述图像的非零像素点。
3.根据权利要求1所述的基于物理设备的真随机数生成方法,其特征在于,所述收集并量化所述图像的热噪声噪点,生成随机数,包括:
收集所述图像的非零像素点,对非零像素点R层值进行处理,生成基于图像热噪声的真随机数。
4.根据权利要求1所述的基于物理设备的真随机数生成方法,其特征在于,所述通过加密算法对随机数进行运算输出真随机数包括:
通过SHA-512算法对随机数进行压缩规范随机数长度,输出固定长度的随机数。
5.根据权利要求1所述的基于物理设备的真随机数生成方法,其特征在于,所述拍摄设备可为移动手机、ipad、电脑、数码相机具有摄像头的设备。
6.一种真随机数发生器,其特征在于,包括:
随机数采集单元,所述随机数采集单元包括拍摄设备、图像处理设备,所述图像处理设备用于获取并计算所述采集图像的像素点;
随机数生成单元,所述随机数生成单元用于收集并量化所述图像的热噪声噪点,生成随机数;
随机数加密单元,所述随机数加密单元用于通过加密算法对随机数进行运算输出真随机数。
7.根据权利要求6所述的真随机数发生器,其特征在于,所述真随机数发生器还设置外用接口,用于连接并调用外接的移动拍摄设备。
8.根据权利要求6所述的真随机数发生器,其特征在于,所述图像处理设备具体用于:获取并计算所述采集图像的每个像素点色彩值;分析得到所述采集图像的非零像素点。
9.根据权利要求6所述的真随机数发生器,其特征在于,
所述随机数生成单元具体用于收集所述图像的非零像素点,对非零像素点R层值进行处理,生成基于图像热噪声的真随机数;
所述随机数加密单元具体用于通过SHA-512算法对随机数进行压缩规范随机数长度,输出固定长度的随机数。
10.根据权利要求6-9任一所述的真随机数发生器在随机性数学计算领域、仪器探测与需要保密的现代通信领域的应用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910567708.8A CN110321103B (zh) | 2019-06-27 | 2019-06-27 | 一种基于物理设备的真随机数生成方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910567708.8A CN110321103B (zh) | 2019-06-27 | 2019-06-27 | 一种基于物理设备的真随机数生成方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110321103A true CN110321103A (zh) | 2019-10-11 |
CN110321103B CN110321103B (zh) | 2021-05-11 |
Family
ID=68120411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910567708.8A Expired - Fee Related CN110321103B (zh) | 2019-06-27 | 2019-06-27 | 一种基于物理设备的真随机数生成方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110321103B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111162897A (zh) * | 2019-12-25 | 2020-05-15 | 杭州安司源科技有限公司 | 一种基于摄像头的移动端真随机数快速生成方法 |
CN111290734A (zh) * | 2020-03-05 | 2020-06-16 | 中安云科科技发展(山东)有限公司 | 一种真随机数获取方法、***及密码机 |
CN112115508A (zh) * | 2020-09-07 | 2020-12-22 | 翰顺联电子科技(南京)有限公司 | 应用于区块链的乱数产生方法、装置及乱数产生器 |
CN113449274A (zh) * | 2020-03-24 | 2021-09-28 | 山东爱城市网信息技术有限公司 | 一种基于生物特征生成随机数的方法、设备及介质 |
CN114564171A (zh) * | 2022-03-04 | 2022-05-31 | 中国工程物理研究院电子工程研究所 | 真随机数生成方法、装置、电子设备、存储介质及*** |
CN116132084A (zh) * | 2022-09-20 | 2023-05-16 | 马上消费金融股份有限公司 | 视频流处理方法、装置及电子设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1558829A (zh) * | 2001-08-06 | 2004-12-29 | ��������³���о�����˾ | 具有集成电路器件的打印鼓 |
CN101384993A (zh) * | 2006-02-15 | 2009-03-11 | 杰克里普托有限公司 | 产生密码学随机数发生器种子的方法和设备 |
CN102547056A (zh) * | 2010-12-24 | 2012-07-04 | 佳能株式会社 | 图像处理装置及其控制方法 |
CN103635874A (zh) * | 2011-07-07 | 2014-03-12 | 约瑟夫·杰勒德·缪斯 | 基于数字影像中的微观结构和噪声提供便携式真随机数发生器的方法 |
CN103929301A (zh) * | 2014-05-07 | 2014-07-16 | 中国科学院微电子研究所 | 真随机数生成方法、装置及电力设备 |
CN103930866A (zh) * | 2011-11-09 | 2014-07-16 | 挪佛麦迪哥股份公司 | 用于生成真随机数的方法和装置以及游戏*** |
CN104113707A (zh) * | 2013-04-22 | 2014-10-22 | 全视科技有限公司 | 用于随机数产生的设备、方法和***及图像传感器 |
CN104133658A (zh) * | 2014-07-29 | 2014-11-05 | 江苏宏云技术有限公司 | 一种片内真随机数生成器 |
CN104216678A (zh) * | 2014-09-18 | 2014-12-17 | 中国科学技术大学 | 一种无偏真随机数发生器及随机数生成方法 |
US20180039485A1 (en) * | 2016-08-03 | 2018-02-08 | Scott A. Wilber | Synchronized True Random Number Generator |
CN108776582A (zh) * | 2018-05-08 | 2018-11-09 | 清华大学 | 一种基于量子隧穿效应的真随机数序列产生方法 |
CN109375898A (zh) * | 2018-11-26 | 2019-02-22 | 弦海(上海)量子科技有限公司 | 基于cmos探测的量子真随机数生成器芯片及方法 |
-
2019
- 2019-06-27 CN CN201910567708.8A patent/CN110321103B/zh not_active Expired - Fee Related
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1558829A (zh) * | 2001-08-06 | 2004-12-29 | ��������³���о�����˾ | 具有集成电路器件的打印鼓 |
CN101384993A (zh) * | 2006-02-15 | 2009-03-11 | 杰克里普托有限公司 | 产生密码学随机数发生器种子的方法和设备 |
CN102547056A (zh) * | 2010-12-24 | 2012-07-04 | 佳能株式会社 | 图像处理装置及其控制方法 |
CN107193531A (zh) * | 2011-07-07 | 2017-09-22 | 约瑟夫·杰勒德·缪斯 | 基于数字影像中的微观结构和噪声提供便携式真随机数发生器的方法 |
CN103635874A (zh) * | 2011-07-07 | 2014-03-12 | 约瑟夫·杰勒德·缪斯 | 基于数字影像中的微观结构和噪声提供便携式真随机数发生器的方法 |
CN103930866A (zh) * | 2011-11-09 | 2014-07-16 | 挪佛麦迪哥股份公司 | 用于生成真随机数的方法和装置以及游戏*** |
CN104113707A (zh) * | 2013-04-22 | 2014-10-22 | 全视科技有限公司 | 用于随机数产生的设备、方法和***及图像传感器 |
CN103929301A (zh) * | 2014-05-07 | 2014-07-16 | 中国科学院微电子研究所 | 真随机数生成方法、装置及电力设备 |
CN104133658A (zh) * | 2014-07-29 | 2014-11-05 | 江苏宏云技术有限公司 | 一种片内真随机数生成器 |
CN104216678A (zh) * | 2014-09-18 | 2014-12-17 | 中国科学技术大学 | 一种无偏真随机数发生器及随机数生成方法 |
US20180039485A1 (en) * | 2016-08-03 | 2018-02-08 | Scott A. Wilber | Synchronized True Random Number Generator |
CN108776582A (zh) * | 2018-05-08 | 2018-11-09 | 清华大学 | 一种基于量子隧穿效应的真随机数序列产生方法 |
CN109375898A (zh) * | 2018-11-26 | 2019-02-22 | 弦海(上海)量子科技有限公司 | 基于cmos探测的量子真随机数生成器芯片及方法 |
Non-Patent Citations (2)
Title |
---|
SAMAN HEDAYATPOUR,ET AL.: ""Hash functions-based random number generator with image data source"", 《2011 IEEE CONFERENCE ON OPEN SYSTEMS》 * |
王龙生等: ""利用混沌激光多位量化实时产生14 Gb/s的物理随机数"", 《物理学报》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111162897A (zh) * | 2019-12-25 | 2020-05-15 | 杭州安司源科技有限公司 | 一种基于摄像头的移动端真随机数快速生成方法 |
CN111290734A (zh) * | 2020-03-05 | 2020-06-16 | 中安云科科技发展(山东)有限公司 | 一种真随机数获取方法、***及密码机 |
CN111290734B (zh) * | 2020-03-05 | 2023-09-08 | 中安云科科技发展(山东)有限公司 | 一种真随机数获取方法、***及密码机 |
CN113449274A (zh) * | 2020-03-24 | 2021-09-28 | 山东爱城市网信息技术有限公司 | 一种基于生物特征生成随机数的方法、设备及介质 |
CN113449274B (zh) * | 2020-03-24 | 2022-10-25 | 浪潮卓数大数据产业发展有限公司 | 一种基于生物特征生成随机数的方法、设备及介质 |
CN112115508A (zh) * | 2020-09-07 | 2020-12-22 | 翰顺联电子科技(南京)有限公司 | 应用于区块链的乱数产生方法、装置及乱数产生器 |
CN114564171A (zh) * | 2022-03-04 | 2022-05-31 | 中国工程物理研究院电子工程研究所 | 真随机数生成方法、装置、电子设备、存储介质及*** |
CN114564171B (zh) * | 2022-03-04 | 2023-09-12 | 中国工程物理研究院电子工程研究所 | 真随机数生成方法、装置、电子设备、存储介质及*** |
CN116132084A (zh) * | 2022-09-20 | 2023-05-16 | 马上消费金融股份有限公司 | 视频流处理方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110321103B (zh) | 2021-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110321103A (zh) | 一种基于物理设备的真随机数生成方法及设备 | |
Wang et al. | Compressive sensing of medical images with confidentially homomorphic aggregations | |
Lee et al. | TRNG (True Random Number Generator) method using visible spectrum for secure communication on 5G network | |
Cao et al. | CMOS image sensor based physical unclonable function for coherent sensor-level authentication | |
Haylock et al. | Multiplexed quantum random number generation | |
Bucci et al. | A high-speed IC random-number source for smartcard microcontrollers | |
MX2013014557A (es) | Metodo para proporcionar un generador portatil de numeros aleatorios reales en base a la microestructura y el ruido encontrado en imagenes digitales. | |
CN104636764B (zh) | 一种图像隐写分析方法以及其装置 | |
US10990663B2 (en) | Key generation from an imaging sensor | |
Ma et al. | Entropy estimation for ADC sampling-based true random number generators | |
Zhu et al. | A novel iris and chaos-based random number generator | |
CN111190570A (zh) | 一种高质量随机数发生器及一种随机数生成方法 | |
Park et al. | Practical true random number generator using CMOS image sensor dark noise | |
Abuadbba et al. | Wavelet based steganographic technique to protect household confidential information and seal the transmitted smart grid readings | |
Seyhan et al. | Classification of random number generator applications in IoT: A comprehensive taxonomy | |
CN110597906A (zh) | 基于区块链的入学积分生成方法、装置、设备及存储介质 | |
CN201860384U (zh) | 视频加密摄像机 | |
Raj et al. | Reconfigurable color medical image encryptor using hardware accelerated Chao (S)-box triplets | |
TWI747052B (zh) | 具有加密功能的光學感測器及影像資料加密方法 | |
He et al. | A fast image encryption algorithm based on logistic mapping and hyperchaotic lorenz system for clear text correlation | |
Khan et al. | Investigation on pseudorandom properties of chaotic stream ciphers | |
JP2018506100A (ja) | 材料試料に存在する物理的変動を用いて乱数を生成するためのシステム及び方法 | |
Gaglio et al. | A TRNG exploiting multi-source physical data | |
Nikolic et al. | Advancement of true random number generators based on sound cards through utilization of a new post-processing method | |
Ansari et al. | Enhanced true random number generator (TRNG) using sensors for IoT security applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210511 |
|
CF01 | Termination of patent right due to non-payment of annual fee |