可调式随机数生成电路与可调式随机数生成方法技术

技术编号:23399533 阅读:59 留言:0更新日期:2020-02-22 11:51
可调式随机数生成电路包括:多个低位环形振荡器模块,产生多个低位随机数;一计数器,耦接至所述低位环形振荡器模块,该计数器计数所述低位随机数的位元0与位元1的个数;一判断单元,耦接至该计数器,该判断单元从该计数器的一计数结果来计算所述低位随机数中的位比例,并判断是否符合一目标条件;以及一控制器,耦接至该判断单元,当至少一所述低位随机数中的位比例不符合该目标条件时,该控制器改变所述低位环形振荡器模块所产生的所述低位随机数中的位比例。

Adjustable random number generating circuit and adjustable random number generating method

【技术实现步骤摘要】
可调式随机数生成电路与可调式随机数生成方法
本专利技术涉及一种可调式随机数生成电路与可调式随机数生成方法。
技术介绍
随机数生成可见于多种应用之中,例如可用于需要安全认证的存储器装置中等。目前而言,随机数可用(半导体)硬件或软件来产生。以理想的随机数而言,0跟1的出现机率应该要非常接近于50%。如果是以(半导体)硬件来产生随机数的话,则硬件随机数生成器可能因为受到工艺、电压与温度的变量影响,使得硬件所产生的随机数中的位元0跟位元1的出现机率(或者说是位比例)较无法接近于50%,故而,所得到的随机数的随机性(randomness)不佳。
技术实现思路
本案有关于一种可调式随机数生成电路与可调式随机数生成方法,即便受到工艺、电压与温度的变量影响,仍可改良随机数的随机性。本案实施例提供一种可调式随机数生成电路,包括:多个低位环形振荡器模块,产生多个低位随机数;一计数器,耦接至所述低位环形振荡器模块,该计数器计数所述低位随机数的位元0与位元1的个数;一判断单元,耦接至该计数器,该判断单元从该计数器的一计数结果来计算所述低位随机数中的位比例,并判断是否符合一目标条件;以及一控制器,耦接至该判断单元,当至少一所述低位随机数中的位比例不符合该目标条件时,该控制器改变所述低位环形振荡器模块所产生的所述低位随机数中的位比例。本案实施例提供一种可调式随机数生成方法,包括:由多个低位环形振荡器模块之一产生一低位随机数;计数该低位随机数的位比例,以判断是否符合一目标条件;如果不符合该目标条件时,改变该低位环形振荡器模块所产生的该低位随机数中的位比例;以及重复上述步骤,直到所有所述低位环形振荡器模块所产生的所有多个低位随机数中的位比例符合该目标条件。为了对本专利技术上述及其他方面有更佳了解,下文特列举实施例,并配合所附附图详细说明如下:附图说明图1显示根据本案一实施例的可调式随机数生成电路的功能方块图。图2显示根据本案一实施例的1位环形振荡器模块的电路方块图。图3显示根据本案一实施例的可调式随机数生成方法的流程图。【符号说明】100:可调式随机数生成电路110_1-110_N:1位环形振荡器模块120:随机数算法单元125:正反器130:计数器140:判断单元150:控制器RO_1-RO_N:随机数S1-SN:控制信号110_A:1位环形振荡器模块112_0-112_M:环形振荡器113_0-113_M:NAND逻辑栅114_0-114_M、115_0-115_M、116_0-116_M:反相器117_0-117_M:传输栅119:反相器PDB:输出信号RO_A:随机数SA:控制信号PG0、PGB0、…、PGN、PGBM:传输栅使能信号RINGEN0、RINGEN1、…、RINGENM:环形振荡器使能信号305-340:步骤具体实施方式本说明书的技术用语参照本
的习惯用语,如本说明书对部分用语有加以说明或定义,该部分用语的解释以本说明书的说明或定义为准。本揭露的各个实施例分别具有一个或多个技术特征。在可能实施的前提下,本领域技术人员可选择性地实施任一实施例中部分或全部的技术特征,或者选择性地将这些实施例中部分或全部的技术特征加以组合。图1显示根据本案一实施例的可调式随机数生成电路的功能方块图。如图1所示,根据本案实施例的可调式随机数生成电路100包括:多个1位环形振荡器模块110_1-110_N(N为正整数)、随机数算法单元120、正反器125、计数器130、判断单元140与控制器150。可调式随机数生成电路100可以产生N位的随机数。所述1位环形振荡器模块110_1-110_N产生1位随机数RO_1-RO_N(亦可称为低位随机数)。特别是,所述1位环形振荡器模块110_1-110_N所产生的随机数RO_1-RO_N输入至计数器130。计数器130计数所述1位环形振荡器模块110_1-110_N所产生的随机数RO_1-RO_N中的位元0与位元1的个数,并将计数结果传送给判断单元140。判断单元140耦接至计数器130,用以从计数器130的计数结果来计算随机数RO_1-RO_N中的位比例(bitratio)(位比例,可能是,位元0对位元1的比例,或者是位元1对位元0的比例),并判断是否符合目标条件。例如,在一可能实施例中,所设定的目标条件可能是,位比例介于40%-60%之间,当然本案并不受限于此。判断单元140将判断结果送给控制器150。控制器150耦接至判断单元140,用以根据判断单元140的判断结果来产生控制信号S1-SN,以来控制所述1位环形振荡器模块110_1-110_N的各别操作。以下将说明本案实施例中的可调式随机数生成电路的操作。在此以1位环形振荡器模块110_1为例做说明。1位环形振荡器模块110_1产生随机数RO_1并输入至计数器130。计数器130计数随机数RO_1中的位元0与位元1的个数,并将计数结果传送给判断单元140。判断单元140从计数器130的计数结果来计算随机数RO_1中的位比例,并判断是否符合目标条件。如果判断单元140判断随机数RO_1中的位比例不符合目标条件,则控制器150根据判断单元140的判断结果来控制1位环形振荡器模块110_1的操作(通过控制信号S1),以改变1位环形振荡器模块110_1的随机数RO_1中的位比例,至于如何改变位比例的细节将于底下参考图2而说明。借此,重复上述操作,直到1位环形振荡器模块110_1的随机数RO_1中的位比例能符合目标条件为止(或者是,如果1位环形振荡器模块110_1的随机数RO_1中的位比例一直不能符合目标条件,则找出较适当的位比例)。之后,由所述1位环形振荡器模块110_1-110_N的另一(在此以1位环形振荡器模块110_2为例做说明)产生随机数(如RO_2)并输入至计数器130。重复上述操作,直到所有的1位环形振荡器模块110_1-110_N的位比例能符合目标条件为止,或者是让1位环形振荡器模块110_1-110_N的位比例能尽量接近目标条件为止。之后,由所有的1位环形振荡器模块110_1-110_N一起产生随机数RO_1-RO_N。随机数算法单元120可对1位环形振荡器模块110_1-110_N所产生的随机数RO_1-RO_N更进一步进行随机数算法,以增加其随机乱度。随机数算法单元120例如可以执行安全散列算法(SecureHashAlgorithm(SHA)),进行虚拟随机数,以增加其乱度。随机数算法单元120可以是选择性的。正反器125则闩锁随机数算法单元120的输出结果,并输出给后端(未示出)。现请参照图2,来详细说明本案实施例如何改变1位环形振荡器模块110_1-110_N的随机数RO_1-RO_N中的位比例。图2本文档来自技高网
...

【技术保护点】
1.一种可调式随机数生成电路,包括:/n多个低位环形振荡器模块,产生多个低位随机数;/n一计数器,耦接至所述低位环形振荡器模块,该计数器计数所述低位随机数的位元0与位元1的个数;/n一判断单元,耦接至该计数器,该判断单元从该计数器的一计数结果来计算所述低位随机数中的位比例,并判断是否符合一目标条件;以及/n一控制器,耦接至该判断单元,当至少一所述低位随机数中的位比例不符合该目标条件时,该控制器改变所述低位环形振荡器模块所产生的所述低位随机数中的位比例。/n

【技术特征摘要】
1.一种可调式随机数生成电路,包括:
多个低位环形振荡器模块,产生多个低位随机数;
一计数器,耦接至所述低位环形振荡器模块,该计数器计数所述低位随机数的位元0与位元1的个数;
一判断单元,耦接至该计数器,该判断单元从该计数器的一计数结果来计算所述低位随机数中的位比例,并判断是否符合一目标条件;以及
一控制器,耦接至该判断单元,当至少一所述低位随机数中的位比例不符合该目标条件时,该控制器改变所述低位环形振荡器模块所产生的所述低位随机数中的位比例。


2.如权利要求1所述的可调式随机数生成电路,其中,各所述低位环形振荡器模块包括多个环形振荡器,所述环形振荡器的多个输出信号的位比例彼此不同,
对于各所述低位环形振荡器模块,该控制器根据所述环形振荡器的所述输出信号的位比例,以从所述环形振荡器中使能其中一个环形振荡器以输出该低位随机数。


3.如权利要求2所述的可调式随机数生成电路,其中,所述环形振荡器的个别晶体管尺寸彼此不同。


4.如权利要求3所述的可调式随机数生成电路,其中,所述环形振荡器的个别PMOS晶体管的通道参数彼此不同。


5.如权利要求3所述的可调式随机数生成电路,其中,所述环形振荡器的个别NMOS晶体管的通道参数彼此不同。


6.如权利要求1所...

【专利技术属性】
技术研发人员:杨尚辑
申请(专利权)人:旺宏电子股份有限公司
类型:发明
国别省市:中国台湾;71

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

1