一种基于电源的真随机数产生方法技术

技术编号:29399716 阅读:11 留言:0更新日期:2021-07-23 22:36
一种基于电源的真随机数产生方法,采用上位机、微控制器、电源模块作为随机数产生的工具,上位机内具有指令单元、格式化单元和数据收发单元,微控制器内具有数据处理单元、数据传输单元;步骤如下,S1:把微控制器的一个输入引脚设置为输入模式并与电源连接;S2:将操作人员需要采集的随机数个数N发送给微控制器;S3:微控制器调用内部自身模数转换模块采集电源输入引脚的电压值及记录时间;S4:数据处理单元将记录时间、差值发送;S5:对差值进行格式化处理,得到符合要求的随机数,并发送给所需设备,完成本次随机数的生成和采集。本发明专利技术简化了硬件结构、成本降低,微控制器经采集电源改变值作为随机数,进而得到真随机数,具有较大实际应用价值。

【技术实现步骤摘要】
一种基于电源的真随机数产生方法
本专利技术涉及信息安全
,特别是一种基于电源的真随机数产生方法。
技术介绍
现有技术中,经随机发生器产生的随机数广泛运用在各种领域中。例如博彩业,通过随机数的方式来产生中奖号码;此外,随机数还在信息安全及密码产品中有很多的应用,例如生成动态密码及动态证书签名等等,极大的保证了信息安全等。目前产生随机数的方法主要有三种,即手工法、数学法和物理法。其中,手工法是最早产生真随机的方法,通常是采用摇骰子和抽签的方法进行随机数的确定;但是随着应用规模的扩大,随机数产生的规模也随之扩大,于是人们通过手工制作随机数表格方式来获取随机数,表格中有成千上万个预先产生的真随机数,这种方法虽然能获取随机数,但效率很低,因此应用存在很大局限性。第二种方法就是数学法,这也是目前运用最广泛的一种方法,应用中在计算机上用数学方法产生某一分布的随机数,由于这些产生的随机数是依照已知的算法产生,所以不是真正的随机数,因此这种方式产生的随机数被称为伪随机数,伪随机数存在周期性和可预测性的缺点,难以确保信息加密的安全,应用也存在局限性。第三种方法是物理法,即将计算机与一种物理装置相连,将物理过程转换成随机数,例如混沌激光变化产生随机数,但此种方法对操作人员的技术要求很高,且成本较高不具备推广价值。综上所述,提供一种基于技术要求低、成本低的物理法产生真随机数的方法显得尤为必要。
技术实现思路
为了克服现有随机数产生的三种方法中,存在的难以确保信息加密的安全,对操作人员的技术要求很高,成本较高,不具备推广价值,应用存在很大局限性的弊端,本专利技术提供了通过微控制器、上位机作为随机数产生的硬件,具有成本低、使用方便、对操作人员要求不高的优点,应用中利用电源在通电时产生的热噪声从而改变电源电压的特点作为基础,微控制器通过模数转换模块采集电源改变值作为随机数,进而得到真随机数,由此实现了生产效率的提高,具有较大实际应用价值,可广泛应用于数据加密、保密通信等领域的一种基于电源的真随机数产生方法。本专利技术解决其技术问题所采用的技术方案是:一种基于电源的真随机数产生方法,其特征在于采用上位机、微控制器、电源模块作为随机数产生的工具,上位机内具有指令单元、格式化单元和数据收发单元,微控制器内具有数据处理单元、数据传输单元;所述指令单元、格式化单元和数据收发单元是安装在上位机内的应用软件,数据处理单元、数据传输单元是安装在微控制器内的应用软件;基于电源的真随机数产生方法步骤如下,S1:操作人员将微控制器的一个输入引脚设置为输入模式并与电源连接,将微控制器自身的模数转换模块信号输出端和上位机信号输入端经数据线相连;S2:当操作人员需要产生真随机数时经指令单元发送随机数产生指令,上位机的指令单元将操作人员需要采集的随机数个数N发送给微控制器的数据处理单元;S3:当微控制器的数据处理单元接收到上位机发送的随机数个数N数据后,微控制器调用内部自身模数转换模块先采集一次电源输入引脚Pinput的电压值,记为V0,之后每隔固定时间Ts后采集输入引脚Pinput电压值,依次记为V1,V2,L,VN,数据处理单元计算每两次采集电压的差值为ri=Vi-Vi-1i=1,2,...,N,记录当前时间为Tii=1,2,...,N;S4:数据处理单元将记录时间Tii=1,2,...,N和差值rii=1,2,...,N经数据传输单元发送给上位机数据收发单元接收后进行下一步处理;S5:操作人员将上位机接收到的差值rii=1,2,...,N根据自身需要经格式化单元进行格式化处理,以得到符合要求的随机数Rii=1,2,...,N,数据收发单元之后将随机数发送给所需设备,完成本次随机数的生成和采集。进一步地,所述S1中,微控制器的Pinput引脚是数据输入引脚。进一步地,所述微控制器是型号STM32F103C8T6的单片机模块。进一步地,所述S3中,V0是采集的电压值;Ts是采集时间间隔;N是N次采集的电压值;ri为相邻采集电压的差值;Ti为ri计算的系统时间。进一步地,所述S4中,Ti为ri计算的系统时间;ri为相邻采集电压的差值。进一步地,所述S5中,ri为相邻采集电压的差值;Ri为ri经过处理后的数据。本专利技术有益效果是:本专利技术中,利用电源发热产生热噪声特点及ADC(模数转换)技术,将微控制器、电源模块与上位机结合起来,大大提高了简化了硬件结构,使得成本降低,应用中,在上位机、微控制器、电源模块及相关软件单元共同作用下,利用电源在通电时产生的热噪声从而改变电源电压的特点作为基础,微控制器通过模数转换模块采集电源改变值作为随机数,进而得到真随机数,由此实现了生产效率的提高,具有较大实际应用价值,可广泛应用于数据加密、保密通信等领域。基于上述,本专利技术具有好的应用前景。附图说明图1是本专利技术硬件架构框图。图2是本专利技术工作流程框图。具体实施方式图1、2所示,一种基于电源的真随机数产生方法,采用上位机、微控制器(型号STM32F103C8T6的单片机模块)、直流电源模块作为随机数产生的工具,上位机内具有指令单元、格式化单元和数据收发单元,微控制器内具有数据处理单元、数据传输单元;所述指令单元、格式化单元和数据收发单元是安装在上位机内的应用软件,数据处理单元、数据传输单元是安装在微控制器内的应用软件。图1、2所示,本专利技术基于电源的真随机数产生方法步骤如下,S1:操作人员将微控制器的一个引脚设置为输入模式并与电源正极连接,将微控制器自身的模数转换模块信号输出端(微控制器自身的模数转换模块主要作用是在需要时采集引脚Pinput的电压值,并将模拟电压信号转换为数字信号)和上位机信号输入端经数据线相连(微控制器经电源模块供电);S2:当操作人员需要产生真随机数时经指令单元发送随机数产生指令,上位机的指令单元将操作人员需要采集的随机数个数N发送给微控制器的数据处理单元;S3:当微控制器的数据处理单元接收到上位机发送的随机数个数N数据后,微控制器调用内部自身模数转换模块(ADC)先采集一次电源输入的引脚Pinput(即数据输入引脚)的电压值,记为V0(采集的电压值),之后每隔固定时间Ts(采集时间间隔)后采集输入引脚Pinput电压值,依次记为V1,V2,L,VN(N次采集的电压值),数据处理单元计算每两次采集电压的差值为ri=Vi-Vi-1i=1,2,...,N(ri为相邻采集电压的差值),记录当前时间为Tii=1,2,...,N(Ti为ri计算的系统时间);S4:数据处理单元将记录时间Tii=1,2,...,N(Ti为ri计算的系统时间)和差值rii=1,2,...,N(ri为相邻采集电压的差值)经数据传输单元发送给上位机数据收发单元接收后进行下一步处理;S5:操作人员将上位机将接收到的差值rii=1,2,...,N(ri为相邻采集电压的差值)根据自身需要经格式化单元进行格式化处理,以得到符合要求的随机数Rii=1,2,...,N(Ri为ri经过处理后的数据),数据收发单元之后本文档来自技高网...

【技术保护点】
1.一种基于电源的真随机数产生方法,其特征在于采用上位机、微控制器、电源模块作为随机数产生的工具,上位机内具有指令单元、格式化单元和数据收发单元,微控制器内具有数据处理单元、数据传输单元;所述指令单元、格式化单元和数据收发单元是安装在上位机内的应用软件,数据处理单元、数据传输单元是安装在微控制器内的应用软件;基于电源的真随机数产生方法步骤如下,S1:操作人员将微控制器的一个输入引脚设置为输入模式并与电源连接,将微控制器自身的模数转换模块信号输出端和上位机信号输入端经数据线相连;S2:当操作人员需要产生真随机数时经指令单元发送随机数产生指令,上位机的指令单元将操作人员需要采集的随机数个数N发送给微控制器的数据处理单元;S3:当微控制器的数据处理单元接收到上位机发送的随机数个数N数据后,微控制器调用内部自身模数转换模块先采集一次电源输入引脚P

【技术特征摘要】
1.一种基于电源的真随机数产生方法,其特征在于采用上位机、微控制器、电源模块作为随机数产生的工具,上位机内具有指令单元、格式化单元和数据收发单元,微控制器内具有数据处理单元、数据传输单元;所述指令单元、格式化单元和数据收发单元是安装在上位机内的应用软件,数据处理单元、数据传输单元是安装在微控制器内的应用软件;基于电源的真随机数产生方法步骤如下,S1:操作人员将微控制器的一个输入引脚设置为输入模式并与电源连接,将微控制器自身的模数转换模块信号输出端和上位机信号输入端经数据线相连;S2:当操作人员需要产生真随机数时经指令单元发送随机数产生指令,上位机的指令单元将操作人员需要采集的随机数个数N发送给微控制器的数据处理单元;S3:当微控制器的数据处理单元接收到上位机发送的随机数个数N数据后,微控制器调用内部自身模数转换模块先采集一次电源输入引脚Pinput的电压值,记为V0,之后每隔固定时间Ts后采集输入引脚Pinput电压值,依次记为V1,V2,L,VN,数据处理单元计算每两次采集电压的差值为ri=Vi-Vi-1i=1,2,...,N,记录当前时间为Tii=1,2,...,N;S4:数据处理单元将记录时间Tii=1,2,...,N和差值rii=1,2,...,N经数据...

【专利技术属性】
技术研发人员:徐正昊
申请(专利权)人:广东备倍电技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1