CN103092567B - 一种基于单幅图像的真随机数序列生成方法 - Google Patents
一种基于单幅图像的真随机数序列生成方法 Download PDFInfo
- Publication number
- CN103092567B CN103092567B CN201310015116.8A CN201310015116A CN103092567B CN 103092567 B CN103092567 B CN 103092567B CN 201310015116 A CN201310015116 A CN 201310015116A CN 103092567 B CN103092567 B CN 103092567B
- Authority
- CN
- China
- Prior art keywords
- random number
- number sequence
- true random
- source images
- entropy source
- 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.)
- Expired - Fee Related
Links
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种基于单幅图像的真随机数序列生成方法,首先取得一幅数字图像,对其进行前处理操作,包括进行格式转换和裁剪等操作,得到符合尺寸要求的位图BMP格式图像,将此图像作为初始熵源图像;初始熵源图像经过后处理转换、二维到一维转换生成一组真随机数序列作为输出;同时,生成的该组真随机数序列作为反馈,用于对初始熵源图像进行置乱变换处理,生成一幅变换后的新熵源图像,同样经过后处理转换、二维到一维转换生成下一组真随机数序列,依此类推,将每一轮产生的真随机数序列合并,即可得到所需长度的真随机数序列;或将每一轮生成的真随机数序列依次存入缓存中,由应用程序按所需长度进行取用。
Description
技术领域
本发明属于计算机技术领域,涉及一种基于单幅图像的真随机数序列生成方法。
背景技术
真随机数产生器建立在一种称为熵源的不确定性源的基础上,如热力学噪声、空气噪声、核衰变等现象,基于这些源来产生真随机数一般都需要额外的电路或设备。从成本和便利性等方面来看,这种硬件真随机数产生器的应用场合受到限制。基于此,人们提出了基于数字图像来产生真随机数的方法,这种软件真随机数生成器不但廉价,而且由于数字图像几乎随处可得,使用非常方便。但是,单幅图像所能产生的真随机数长度有限,当需要较长或者较多的真随机数时,要输入多幅图像才能满足应用要求,且耗时较长,在时效要求比较严格的场合应用受到限制。
发明内容
本发明的目的是克服现有技术中的缺陷,提供一种基于单幅图像的真随机数序列生成方法。
其技术方案为:
一种基于单幅图像的真随机数序列生成方法,首先取得一幅数字图像,对其进行前处理操作,包括进行格式转换和裁剪等操作,得到符合尺寸要求的位图(BMP)格式图像,将此图像作为初始熵源图像;初始熵源图像经过后处理转换、二维到一维(2D-1D)转换生成一组真随机数序列作为输出;同时,生成的该组真随机数序列作为反馈,用于对初始熵源图像进行置乱变换处理,生成一幅变换后的新熵源图像,同样经过后处理转换、2D-1D转换生成下一组真随机数序列。依此类推,将每一轮产生的真随机数序列合并,即可得到所需长度的真随机数序列;或将每一轮生成的真随机数序列依次存入缓存中,由应用程序按所需长度进行取用。由于对初始熵源图像进行置乱变换处理所用的一个参数是上一个循环中生成的“01”随机数序列,因此变换后产生的图像依然具有随机性。
本发明所述方法构成一个反馈系统:后续熵源图像通过系统生成的真随机数序列对初始熵源图像进行变换得到,上一轮生成的真随机数序列作为新熵源图像产生过程的一个输入参数,可保证熵源的不确定性。
与现有技术相比,本发明的有益效果:
1、本发明所述方法选用常见的数字图像作为系统的输入,节约成本,使用方便。
2、本发明的技术方案在产生较长的真随机数序列时,不需要用户选取大量的图像,节省大量人力和时间。
3、本发明所述方法中,真随机数序列的生成及保存与应用程序取用随机数的操作分离进行,系统在后台持续运行,源源不断地提供真随机数序列,应用程序可按需进行取用。方便且易于管理。
4、本发明构成一个反馈系统:后续熵源图像通过系统产生的真随机数序列对初始熵源图像进行变换得到,保证了熵源的不确定性。
附图说明
图1为本发明真随机数生成方法流程示意图;
图2为BMP图像尺寸裁剪流程图;
图3为2D-1D转换操作流程图;
图4为初始熵源图像变换处理生成后续新熵源图像的操作流程图;
图5为对应动态链接库的内部结构示意图。
具体实施方式
下面结合附图具体实施例来详细描述本发明的技术方案。
参照图1,一种基于单幅图像的真随机数序列生成方法,首先获取一幅数字图像,对其进行前处理操作,包括进行格式转换和裁剪等操作,得到符合尺寸要求的位图(BMP)格式图像,将此图像作为初始熵源图像;初始熵源图像经过后处理转换、二维到一维(2D-1D)转换生成一组真随机数序列作为输出;同时,生成的该组真随机数序列作为反馈,用于对初始熵源图像进行置乱变换处理,生成一幅变换后的新熵源图像,同样经过后处理转换、2D-1D转换生成下一组真随机数序列。依此类推,将每一轮产生的真随机数序列合并,即可得到所需长度的真随机数序列。
图2为BMP图像尺寸裁剪流程图,对BMP位图进行裁剪操作,裁剪边长选取标准为:假设待裁剪图像大小为M×N,令m等于M、N中较小的值,选取n值,使得式2n≤m<2n+1成立,则m=2n即为裁剪边长。
对于M×N大小的BMP图像,判断M、N值的大小,如果M>N,则令m=N,否则令m=M;设i=1,判断2^i≤m&&2^(i+1)>m是否成立,不成立,则令i++,继续判断;如果成立,则以m=2^i为边长裁剪原图像,得到尺寸为m×m大小的符合要求的初始熵源图像。
在得到熵源图像后,需要对其进行后处理转换。此操作的目的是对熵源图像做置乱变换,使像素矩阵变得杂乱无章,更具有随机性。此处可选用各种可以产生图像置乱效果的算法,如Arnold图像置乱算法,图像加密置乱算法等。
图3:为2D-1D转换操作流程图。
图像经过后处理转换后,得到一幅置乱后的数字图像。将所得图像的m×m的像素矩阵分割成M×M个相等的块,每个块中包含(m/M)×(m/M)个像素点,统计每一个块中像素值为奇数的像素点个数,如果为奇数,则对应的真随机数序列位为1,如果是偶数,则对应的真随机数序列位为0,统计完成之后即可得到一个M×M长度的“01”随机数序列。
如图4中初始熵源图像为图2中得到的符合要求的初始熵源图像,“01”随机数序列为上一轮产生的真随机数序列(在对初始图像进行初次变换处理时,由于没有来自之前产生的随机数序列,可以将所需的随机数序列设为全0),应用上一轮中生成的真随机数序列对初始图像像素点进行局部移位,真随机数序列中每L位(L≥5)为1组,前3位指定当前鼠标点要进行偏移的方向,3位有8种情况,分别对应上↑,下↓,左←,右→,左上↖,左下↙,右上↗,右下↘8个方向,后(L-3)位指定鼠标点要进行偏移的位移(斜方向取近似值),循环调用真随机数序列对所有的像素点进行此种操作,可以得到变换后的新熵源图像。
图5是对对应的动态链接库内部结构的简单描述:动态链接库包含2个对外接口函数,分别是TRNG_Thread(stringpath_image)和Get_RandNum(intlength,char*rand_buf)。TRNG_Thread(stringpath_image)的功能是产生真随机数序列,通过参数path_image将数字图像的路径传入系统,如果路径不正确,或图像不能被系统识别,则函数返回false;否则进入生成真随机数序列的操作,将产生的真随机数依次存入缓冲区中,如果缓冲区满则对其进行循环覆盖。Get_RandNum(intlength,char*rand_buf)的功能是从缓冲区中获取真随机数序列,参数length为所需真随机数序列的长度,参数rand_buf为用来存放取出的真随机数序列的缓冲区。另外设置2个指针变量,用来保存当前缓冲区中正在写入和正在读出的指针位置,1个长度变量,用来记录当前缓冲区中真随机数序列的长度。如果调用函数Get_RandNum(intlength,char*rand_buf)时,缓冲区中真随机数序列的长度小于length,则返回false,推迟某一时间后再重新执行。
以上所述,仅为本发明较佳的具体实施方式,本发明的保护范围不限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可显而易见地得到的技术方案的简单变化或等效替换均落入本发明的保护范围内。
Claims (1)
1.一种基于单幅图像的真随机数序列生成方法,其特征在于,首先取得一幅数字图像,对其进行前处理操作,包括进行格式转换和裁剪等操作,得到符合尺寸要求的位图BMP格式图像,将此图像作为初始熵源图像;初始熵源图像经过后处理转换、二维到一维转换生成一组真随机数序列作为输出;同时,生成的该组真随机数序列作为反馈,用于对初始熵源图像进行置乱变换处理,生成一幅变换后的新熵源图像,同样经过后处理转换、二维到一维转换生成下一组真随机数序列,依此类推,将每一轮产生的真随机数序列合并,即可得到所需长度的真随机数序列;或将每一轮生成的真随机数序列依次存入缓存中,由应用程序按所需长度进行取用;
所述方法构成一个反馈系统:后续熵源图像通过系统生成的真随机数序列对初始熵源图像进行变换得到,上一轮生成的真随机数序列作为新熵源图像产生过程的一个输入参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310015116.8A CN103092567B (zh) | 2013-01-16 | 2013-01-16 | 一种基于单幅图像的真随机数序列生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310015116.8A CN103092567B (zh) | 2013-01-16 | 2013-01-16 | 一种基于单幅图像的真随机数序列生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103092567A CN103092567A (zh) | 2013-05-08 |
CN103092567B true CN103092567B (zh) | 2016-03-30 |
Family
ID=48205187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310015116.8A Expired - Fee Related CN103092567B (zh) | 2013-01-16 | 2013-01-16 | 一种基于单幅图像的真随机数序列生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103092567B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530086B (zh) * | 2013-09-26 | 2017-01-18 | 福建升腾资讯有限公司 | 一种分散机制的软件随机数生成方法 |
TWI634478B (zh) * | 2017-07-18 | 2018-09-01 | 展達通訊股份有限公司 | 真亂數產生系統及其真亂數產生之方法 |
CN112800452B (zh) * | 2021-03-19 | 2022-09-30 | 腾讯科技(深圳)有限公司 | 用户身份图像处理和识别的方法及装置 |
CN116431100B (zh) * | 2023-06-13 | 2023-09-05 | 三未信安科技股份有限公司 | 一种基于魔方的随机数生成装置及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8379848B2 (en) * | 2011-07-07 | 2013-02-19 | Cape Light Institute, Inc. | Method of providing a portable true random number generator based on the microstructure and noise found in digital images |
-
2013
- 2013-01-16 CN CN201310015116.8A patent/CN103092567B/zh not_active Expired - Fee Related
Non-Patent Citations (3)
Title |
---|
一种基于 Galois环振的真随机数发生器设计;李清等;《科学技术与工程》;20120630;第12卷(第17期);第4057-4060,4068页 * |
一种基于手机拍照和Hash函数的真随机数产生器;赵亮等;《全国计算机安全学术交流会论文集》;20081231;第23卷;第446-452页 * |
基于数模混合的真随机数发生器;叶少康等;《计算机工程与设计》;20120430;第33卷(第4期);第1602-1606,1622页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103092567A (zh) | 2013-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107680042B (zh) | 结合纹理及卷积网络的渲染方法、装置、引擎及存储介质 | |
CN103092567B (zh) | 一种基于单幅图像的真随机数序列生成方法 | |
CN109410123B (zh) | 基于深度学习的去除马赛克的方法、装置及电子设备 | |
CN108133446A (zh) | 一种复合混沌二级置乱图像加密算法 | |
CN103812596B (zh) | 伪随机序列的生成方法和装置 | |
CN106101712B (zh) | 一种视频流数据的处理方法及装置 | |
CN104424497B (zh) | 一种动态二维码生成的方法及装置 | |
CN104680474A (zh) | 数字图像加解密的方法 | |
CN105678831A (zh) | 一种图像渲染方法和装置 | |
RU2014104571A (ru) | Системы и способы для эффективного с точки зрения площади кодирования данных | |
CN104657432A (zh) | 一种降低长地址转换为短地址重复率的方法 | |
Sun et al. | An image encryption algorithm utilizing Mandelbrot set | |
KR102252947B1 (ko) | 양자화된 뎁스-맵을 이용한 이미지-홀로그램 변환 방법 및 시스템 | |
CN106303153B (zh) | 一种图像处理方法及装置 | |
CN103888704A (zh) | 一种干扰信号编码方法与装置 | |
US9715715B2 (en) | Efficient cache preloading | |
CN105824608B (zh) | 处理对象的处理、插件生成方法及装置 | |
CN107341136B (zh) | 序列索引号的生成方法、生成装置及存储介质 | |
CN104618715A (zh) | 一种获取最小率失真代价的方法及装置 | |
CN114022649A (zh) | Gpu-cpu协同的栅格数据快速坐标转换方法及系统 | |
CN103023512B (zh) | Atsc系统rs编码中常系数矩阵的生成装置和方法 | |
CN112801878A (zh) | 渲染图像超分辨率纹理增强方法、装置、设备及存储介质 | |
CN110473280B (zh) | 多光源画面渲染方法、装置、存储介质、处理器和终端 | |
CN110535623A (zh) | 一种图像加密方法、装置、设备及可读存储介质 | |
CN104574323B (zh) | 一种基于层次模型与导向先验的单像元相机快速成像方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160330 Termination date: 20210116 |