本发明涉及一种基于热电阻噪声的多值真随机数发生器,是一种可用于市场中的真随机数发生器,该设计采用smic0.18um的cmos工艺,属于密码学及随机数生成技术领域。
背景技术:
大数据时代,市场的高度信息化使得密码学在实际生活中的地位越来越高,而为了设计出安全加密的应用系统,随机数的生成和随机数发生器的种类成为密码学领域的一个关键点。目前,市场中真随机数发生器的种类不少,其中大多数为基于混沌和振荡器采样的真随机数发生器,这类发生器对于工艺匹配度要求很高,较难实现。因此,为了追求更高的市场需求,本发明致力于设计出一款可以识别电阻热噪声的多值真随机数发生器。在我国,关于这种多值真随机数发生器的研究内容还较少,知识储备不足。本设计采用的方法可以弥补国内对于基于热电阻噪声的多值真随机数发生器知识储备不足的问题。
与此同时,在密码学领域,对于二值随机数发生器的研究比较多,已有比较好的成果,但是对于多值随机数发生器的研究还很少见。利用热电阻噪声的独特性来产生随机数可以更好地实现多值随机数,从而达成设计出多值随机数发生器的最终目的。
本设计采用的多值真随机数发生器就是为了在某一特定工艺的基础上,利用电阻工作时产生的热噪声,通过特定的电路结构对于此种噪声进行识别,最终得到需要的多值真随机数,并在随机数后将结果进行一定处理,得到多值结果,实际应用到某些特定领域中去。
技术实现要素:
本发明的目的在于克服现有真随机数产生均通过人为熵源产生及现有真随机数产生电路存在精度低以及功耗高的问题,提出了基于热电阻噪声的多值真随机数发生器,识别自然噪声源中的电阻热噪声,具体通过数字模块,匹配nmos管和pmos管,能满足对真随机数发生器输出的指标要求。
为达到上述目的,本发明采取如下技术方案。
所述基于热电阻噪声的多值真随机数发生器,包含多值真随机数产生模块、判决模块、数据处理模块和译码器模块;
其中,多值真随机数产生模块包括第1pmos管、第2pmos管、第1电阻以及第2电阻;判决模块包括第1比较器、第2比较器、第1d触发器和第2d触发器;数据处理模块包括异或门、第1开关和第2开关;译码器模块包括3选1输出单元;异或门包括a端、b端和输出端;第1开关和第2开关均包含输入端、控制端和输出端;3选1输出单元包括第1输入端、第2输入端、第3输入端、第1控制位、第2控制位以及输出端;
所述基于热电阻噪声的多值真随机数发生器中各模块的连接关系如下:
随机数产生模块与判决模块相连,判决模块与数据处理模块相连,数据处理模块与译码器模块相连,具体为:第1pmos管与第1电阻相连,第2pmos管与第2电阻相连;第1电阻与第1比较器的正端相连,与第2比较器的负端相连,第2电阻与第1比较器的负端相连,与第2比较器的正端相连,第1比较器的输出端与第1d触发器输入端相连,第2比较器的输出端与第2d触发器输入端相连,第1d触发器的输出端与异或门的a端相连,第2d触发器的输出端与异或门的b端相连,异或门的输出端与第1开关的控制端相连,异或门的输出端与第2开关的控制端相连,第1d触发器的输出端与第1开关的输入端相连,第2d触发器的输出端与第2开关的输入端相连,第1开关的输出端与3选1输出单元的第1控制位相连,第2开关的输出端与3选1输出单元的第2控制位相连,3选1输出单元的3个输入端与三个不同电压相连,3选1输出单元的输出端是随机数发生器的输出端。
所述基于热电阻噪声的多值真随机数发生器中各模块的信号流动关系如下:
随机数产生模块中的第1电阻把电阻热噪声信号传给判决模块中的第1比较器的正端和第2比较器的负端,第2电阻把电阻热噪声信号传给判决模块中的第1比较器的负端和第2比较器的正端,第1比较器把该第1比较器输出的比较结果传给第1d触发器采样,输出第1d触发器采样结果;第2比较器把该第2比较器输出的比较结果传给第2d触发器输出第2d触发器采样结果,第1d触发器采样结果传给数据处理模块中的异或门的a端和第1开关的输入端,第2d触发器采样结果传给数据处理模块中的异或门的b端和第2开关的输入端,异或门输出端把a端和b端异或结果传给第1开关的控制端和第2开关的控制端,第1开关的输出端把该第1开关的输出信号传给译码器模块中3选1输出单元的第1控制位,第2开关的输出端把该第2开关的输出信号传给译码器模块中3选1输出单元的第2控制位,三个电压不同的输入端把电压信号传给3选1输出单元的3个输入端。
所述多值真随机数发生器的工作过程,包括如下步骤:
步骤1、多值真随机数发生器中的各模块接通电源,随机数产生模块开始工作;
步骤2、第1电阻和第2电阻产生的电阻热噪声分别经第1比较器和第2比较器后,得到1bit电压输出数据;
步骤3,步骤2输出的2bit电压输出数据根据第1d触发器和第2d触发器的采样频率,采样得到2bit有效数据;
步骤4,通过2bit有效数据确定3选1输出单元的输出电压,即得到多值随机数发生器的输出结果。
有益效果:
本发明基于电阻热噪声的多值真随机数发生器,与现有其他真随机数发生器设计方法相比,具有如下有益效果:
1.所述真随机数发生器的随机数产生模块采用双路电阻设计,与单路电阻设计相比,能更好地满足要求,实现多值输出结果的同时,提高随机数发生器的判决准确度;
2.所述多值真随机数发生器采用的熵源来自电阻的热噪声,属于天然的熵源。
3.所述多值真随机数发生器,输出为多值输出,适用于复杂的密码学领域;
4.所述多值真随机数发生器电路结构简单,实际生产成本低;
5.所述多值真随机数发生器功耗低,更符合低功耗要求。
附图说明
图1是本发明所述的基于电阻热噪声的多值随机数发生器的电路结构;
图2是多值真随机数发生器比较器结构;
图3是电阻热噪声电压分布图;
图4是多值真随机数发生器输出的随机数结果。
具体实施方式
下面结合附图及实施例对本发明基于热电阻噪声的多值真随机数发生器的具体实施做进一步的说明。
实施例1
本实施例详细阐述了基于电阻热噪声的多值真随机数发生器在正常工作情况下具体实施时的输入输出情况。
基于电阻热噪声的多值真随机数发生器的随机数,主要由电阻中电子的热骚动产生。由于热骚动,电阻中每个振动的电子都会形成一个极小的电流。将这些电流进行代数累加,就形成了净电流和由此产生的净电压。虽然净电压均值为零,但是由于电流瞬时幅度和方向都是随机分布的,所以净电压会不断的波动。即使把电阻静置,这些波动仍然会发生。因此,可以假设电路中的每个节点电压和每个支路电流都是在它们的期望值附近不断地波动的。
如图1所示,1.8v电源连接第1pmos的源级和第2pmos的源级,第1pmos的栅极与第2pmos的栅极相连,连接1.2v的偏置电压vbias,第1pmos的漏极连接阻值为1m的第1电阻的一端,第1电阻的另一端接地,第2pmos的漏极连接阻值为1m的第2电阻的一段,第2电阻的另一端接地。接通电路,使随机数产生模块中的第1电阻和第2电阻在电路中正常工作,并通过电路将热噪声的数据传递给判决模块。此时,第1电阻和第2电阻噪声结果大体上为相反的,但是也存在着一定数量的非正常工作模式的结果。采用第1电阻和第2电阻的设计来代替单路电阻,从第1电阻和第2电阻得到两路的随机数电压数据,可以得到多值输出结果,提高随机数发生器的精度。
电阻热噪声的电压分布图如图3所示。所述的随机数发生器采用的熵源为电阻热噪声,属于自然噪声。由于电阻热噪声频谱白噪声的特性,因此不会受到数据速率方面的影响,保证了真随机数的生成速率,能够更好更快的进入工作状态。
判决模块对于接收到的两路热噪声进行判决。其中,判决模块的电路结构主要为两个完全相同的电压比较器和d触发器,电压比较器的电路结构如图2所示,其中,比较器包括3个pmos管和4个nmos管,输入端vin对应图1中第1和第2比较器的vin ,输入端vt对应图1中第1和第2比较器的vin-。两个电压比较器的正负输入端接法完全相反:第1电阻接第1比较器的正端和第2比较器的负端,而第2电阻接第1比较器的负端和第2比较器的正端。d触发器的判断结果分为两种:第一种,处于正常工作状态的判断结果,可以输出两种结果,分为0/1和1/0;第二种,处于非正常工作状态的判断结果,结果被误判为0/0或1/1,说明两路热噪声之间的差值过小,小于比较器精度,无法判决出正确的输出结果。分别将第1d触发器和第2d触发器的输出结果传到数据处理模块,将输出结果统一归为0/1、1/0、1/1,经过译码器模块后输出为三阶电压。如图4所示,横坐标为时间,纵坐标为输出电压,其中,0/1对应的是0.4v,1/0对应的是0.8v,1/1对应的是1.2v。所述的随机数发生器的输出为多值输出,增加了随机数的不确定性,使随机数序列应用到更复杂的密码学领域。
由图1所示,所述的随机数发生器中所有模块的结构简单,使用器件少,节约成本,使得实际生产成本低,更适用于量产。
所述的随机数发生器采用0.18um的工艺,可以在1.8v的电源电压下工作,数据处理模块、译码器模块采用数字模块工作,降低功耗,更符合节能减排的低功耗标准。
综上所述,本发明所提设计电路结构在满足国际标准中真随机数发生器要求的前提下,产生基于电阻热噪声的多值真随机数发生器。这种真随机数发生器采用自然熵源的方式,实现多值随机数输出,具有更优越的性能,更加符合当前各处对于真随机数的要求。
以上所述的具体描述或实施例,对发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
1.基于热电阻噪声的多值真随机数发生器,其特征在于:包括多值真随机数产生模块、判决模块、数据处理模块和译码器模块;
其中,多值真随机数产生模块包括第1pmos管、第2pmos管、第1电阻以及第2电阻;判决模块包括第1比较器、第2比较器、第1d触发器和第2d触发器;数据处理模块包括异或门、第1开关和第2开关;译码器模块包括3选1输出单元;异或门包括a端、b端和输出端;第1开关和第2开关均包含输入端、控制端和输出端;3选1输出单元包括第1输入端、第2输入端、第3输入端、第1控制位、第2控制位以及输出端;
所述基于热电阻噪声的多值真随机数发生器中各模块的连接关系如下:
随机数产生模块与判决模块相连,判决模块与数据处理模块相连,数据处理模块与译码器模块相连,具体为:第1pmos管与第1电阻相连,第2pmos管与第2电阻相连;第1电阻与第1比较器的正端相连,与第2比较器的负端相连,第2电阻与第1比较器的负端相连,与第2比较器的正端相连,第1比较器的输出端与第1d触发器输入端相连,第2比较器的输出端与第2d触发器输入端相连,第1d触发器的输出端与异或门的a端相连,第2d触发器的输出端与异或门的b端相连,异或门的输出端与第1开关的控制端相连,异或门的输出端与第2开关的控制端相连,第1d触发器的输出端与第1开关的输入端相连,第2d触发器的输出端与第2开关的输入端相连,第1开关的输出端与3选1输出单元的第1控制位相连,第2开关的输出端与3选1输出单元的第2控制位相连,3选1输出单元的3个输入端与三个不同电压相连,3选1输出单元的输出端是随机数发生器的输出端。
2.根据权利要求1所述的基于热电阻噪声的多值真随机数发生器,其特征在于:随机数产生模块中的第1电阻把电阻热噪声信号传给判决模块中的第1比较器的正端和第2比较器的负端,第2电阻把电阻热噪声信号传给判决模块中的第1比较器的负端和第2比较器的正端。
3.根据权利要求2所述的基于热电阻噪声的多值真随机数发生器,其特征在于:第1比较器把该第1比较器输出的比较结果传给第1d触发器采样,输出第1d触发器采样结果;第2比较器把该第2比较器输出的比较结果传给第2d触发器输出第2d触发器采样结果。
4.根据权利要求3所述的基于热电阻噪声的多值真随机数发生器,其特征在于:第1d触发器采样结果传给数据处理模块中的异或门的a端和第1开关的输入端,第2d触发器采样结果传给数据处理模块中的异或门的b端和第2开关的输入端,异或门输出端把a端和b端异或结果传给第1开关的控制端和第2开关的控制端。
5.根据权利要求4所述的基于热电阻噪声的多值真随机数发生器,其特征在于:第1开关的输出端把该第1开关的输出信号传给译码器模块中3选1输出单元的第1控制位,第2开关的输出端把该第2开关的输出信号传给译码器模块中3选1输出单元的第2控制位,三个电压不同的输入端把电压信号传给3选1输出单元的3个输入端。
6.根据权利要求5所述的基于热电阻噪声的多值真随机数发生器,其特征在于:所述多值真随机数发生器的工作过程,包括如下步骤:
步骤1、多值真随机数发生器中的各模块接通电源,随机数产生模块开始工作;
步骤2、第1电阻和第2电阻产生的电阻热噪声分别经第1比较器和第2比较器后,得到1bit电压输出数据;
步骤3,步骤2输出的2bit电压输出数据根据第1d触发器和第2d触发器的采样频率,采样得到2bit有效数据;
步骤4,通过2bit有效数据确定3选1输出单元的输出电压,即得到多值随机数发生器的输出结果。
技术总结