一种基于环形振荡器的真随机数发生器累积抖动估计方法

文档序号:10697535阅读:566来源:国知局
一种基于环形振荡器的真随机数发生器累积抖动估计方法
【专利摘要】本发明公开一种基于环形振荡器的真随机数发生器累积抖动估计方法及电路。本方法为:1)以采样间隔内振荡信号边沿计数作为统计样本;2)计算样本方差;3)判断样本方差是否大于d∈[1/12,0.2098],若样本方差大于d∈[1/12,0.2098],累积抖动估计值为样本方差减1/12后的算数平方根,否则估计值为样本标准差。本方法利用样本的频数分布计算样本方差,削减直接公式计算样本方差所需的大量乘法运算;设计的估计电路以采样信号、振荡信号为输入,累积抖动平方的估计值为输出,包括边沿计数模块、均值估计模块、样本空间生成模块、样本频数统计模块、累积抖动估计模块。本发明可准确、高效的估计基于环形振荡器的真随机数发生器累积抖动,结合熵评估理论,可评估其真随机性。
【专利说明】
-种基于环形振荡器的真随机数发生器累积抖动估计方法
技术领域
[0001] 本发明设及一种基于环形振荡器的真随机数发生器(RO-based TRNG)累积抖动的 估计方法及电路,可应用于真随机数发生器的真随机性评估领域。
【背景技术】
[0002] RO-based TRNG为密码系统提供真随机数,因其具有结构简单、适合数字电路实现 的特点而被广泛的应用在各种安全硬件设备中。RO-based TRNG由固定频率的采样信号对 环形振荡器产生的具有抖动的快速振荡信号进行采样,采样结果作为随机数据输出,如图1 和图2所示。RO-based TRNG可提供的真随机性决定了其输出数据的安全性。根据最新的R0- basedTRNG赌评估理论,采样间隔内的累积抖动,本质为采样信号周期与振荡信号半周期比 T的标准差,其决定了RO-based TRNG真随机性好坏程度。因此,需要对RO-based TRNG累积 抖动有准确的估计方法,且估计方法需具备局效的电路实现方案,从而完成T RNG的真随机 性评估。
[0003] 由于数字电路无法精确测量T,因此不能通过T的样本估计累积抖动。目前,应用于 RO-based TRNG累积抖动估计的主要方法是WT的量化值,也就是采样间隔内振荡信号边沿 计数J = [_tJ的样本为统计样本,将X的样本标准差直接作为RO-based TRNG累积抖动的估 计值。然而,通过X的样本对累积抖动估计时,必然引入量化误差,因此,把X的样本标准差直 接作为累积抖动估计值并不准确,会造成对TRNG真随机性的过高评估。
[0004] 2014年,Viktor Fischer等人基于蒙特马洛方法,利用TRNG输出比特序列构建新 的统计样本,W新样本的标准差作为对累积抖动的估计,同时给出了 W累积抖动平方的估 计值为输出的,包含统计样本构建模块、样本方差计算模块的电路设计。然而运种方法虽然 声称可W达到5% W下的估计误差水平,但统计样本的构建方法和构建电路较为复杂,且样 本方差计算方法和计算电路采用了方差公式直接计算,所需乘法运算量与样本量相当,样 本量通常需要达到10000,因此该方法评估效率较低。
[0005] 本发明通过边沿计数X的样本对RO-based TRNG累积抖动进行估计,在提高估计准 确性的同时,设计了高效的片上累积抖动估计电路。

【发明内容】

[0006] 为了克服将边沿计数作为RO-based TRNG累积抖动估计样本时,引入量化误差导 致估计的不准确问题,同时降低累积抖动估计方法片上实现较高的运算量。本发明提供了 一种准确对累积抖动做出估计的方法,该方法同时可W提高片上实现估计算法的运算效 率,进一步给出了估计电路系统的设计方案。
[0007] 本发明同样W边沿计数X的样本来估计RO-based TRNG累积抖动,基于量化误差概 率分布,确定X的方差与T(采样信号周期与振荡信号半周期比)的方差的关系,进而修正累 积抖动估计过程中,引入量化误差导致的累积抖动估计误差。同时,在X的样本方差计算上, 通过统计X的样本频数分布计算样本方差,降低了方差公式直接计算所需的乘法运算量。具 体的估计原理如下:
[000引1)量化误差近似概率分布:
[0009]数字电路中占主要的噪声是高斯类噪声,T在其影响下,近似服从高斯分布:Τ~N (4,μ · 〇2);
[0010] 量化误差F = T-X,在¥日八乂)>(1,化[1/12,0.2098]时,其近似服从[0山上均匀分 布F~U(0,1)。
[0011] 2巧的方差与T的方差的近似关系
[001^ A^r(X)《d时,X的方差与T的方差关系:
[0013] 化 r(T)>^r(X) (1)
[0014] 化八乂)>加寸,修正X的方差与T的方差的关系:
[0015] 化 r(X)=化r化(X|T))+E(化 r(X|T)) (2)
[0016] 其中,E( ·)表示随机变量的期望。
[0017] 等式右边第一项,将T看作一个随机过程时,有
[001 引 E(X|T)=T-E(F)^T-l/2 (3)
[0019] 化r(E(X|T))>^r(T-l/2)=^r(T) (4)
[0020] 等式右边第二项有
[0023] 其中,tl,t2,…,tN表不T的一系列样本,fl,f2,…,fN表不F的一系列样本。
[0024] 根据(2) (4) (5)得到化r(X)>加寸,X的方差与T的方差关系:
[00 巧]化 r(X)>^r(T)+l/12 (6)
[0026] 3)累积抖动与X的方差近似关系
[0027] 累积抖动的本质为T的标准差,由(1)(6)可做如下近似,其中Jc表示累积抖动:
[002引
(7)
[0029] 4)由X的样本方差S2估计累积抖动及累积抖动的平方
[0030]
(8)
[0031]
巧)
[0032] 5)分位点d的范围
[0033] 首先,为使根式运算成立,d必须大于等于1/12。
[0034] 对于累积抖动的理想值作为估计值时,绝对误差为心,W ·^,s2-l/12作为估计值时,绝对误差为与=|^/.s2-:l/12-Λ.|。根据T的分布,当化パT)固定,其 均值μ的小数部分越接近0.5,s2相对越小,s2足够小时会使E2>Ei。考虑极端情况,设μ的小 数部分为0.5,理想累积抖动Jce [0.001,0.7],根据每个Τ的分布+ 0.5,.旬化可设为任 意正整数)生成X的样本,分别和W心-!/12估计Jc,如图8中(a)图显示,s2>0.209別寸 (保留4位有效数字),有E2<Ei;设μ的小数部分为0,W同样的方法估计Jc,如图8中(b)图显 示,始终有E2<Ei。
[0035] 综合W上,d的可选范围为[1/12,0.209引。
[0036] 6)由样本Χι,···,Χν的频数分布计算(8)式、(9)式中的样本方差S2
[0037] X的均值估计为:
[003引
(10)
[0039] X与Τ的均值、样本均值近似关系:
[0040] E(T)=E(X+F)=E(X)巧巧)>Ε(Χ)+1/2 (11)
[0041 ] f ? J + 1/2 (12)
[0042] 在实际应用的数字电路所实现的RO-based TRNG中,一般有Jc<2,因此X的样本空 间可认为是*S.(fJ-A: + /|? = レ··2i^;5:?K《W,其中N为样本量,在样本空间中的每个样 本点上对样本进行计数,得到2K个样本点对应的样本频数为Yi,···Y2K,由Yi,···Y2K、S、J计算 X的样本方差为:
[0043]
\^J
[0044] 综上所述,(8)式是对累积抖动的估计方法,(13)式是计算样本方差的方法。
[0045] 基于W上估计原理,本发明提出的累积抖动估计方法包括W下步骤:
[0046] 1)W边沿计数器获得采样间隔内振荡信号边沿计数的一系列样本Χι,···,Χν;
[0047] 2)通过样本频数分布计算样本方差S2;
[0048] 3)选取分位点de [1/12,0.209引,判断S2是否大于d,若大于d,累积抖动的估计值 为- 1/12 ;若sM、于或者等于d,累积抖动的估计值为V7。
[0049] 根据累积抖动估计方法,本发明设计出片上可持续对累积抖动进行估计的电路系 统。电路系统输入振荡信号、采样时钟,并基于(9)式W累积抖动平方的估计值为输出, 其包括:
[0050] 1)边沿计数模块:输入振荡信号、采样信号,输出采样间隔内对振荡信号边沿计数 样本 Χι,···,Χν;
[005。 2)均值估计模块:输入端连接边沿计数模块的输出端,WXi,…,Χν为输入,为了不 等待本次估计样本均值的计算,该模块W缓存的上一次估计均为输出,提供给本 次估计的其他模块使用,本次估计得到样本均值I:,,。,,缓存并留待下一次估计使用;
[0052] 3)样本空间生成模块:输入端连接均值估计模块的输出端,为输入,输出 样本空间S:(玄如-.,加+1/2」-K +引? = :!,.. .,2&5各K《W ;
[005;3] 4)样本频数统计模块:两个输入端,第一个输入端连接边沿计数模块的输出端,第二个输 入端连接样本空间生成模块的输出端,貼i,''',XN、S:{L^A,,u,,,+l/2」-K + z'|i = V'',2K;5<K《/V} 为输入,对Xi,...,X庙样本点{;|_玄+1/2」-K +非=1,…2尤;5這K 上计数,得到样本频数 Yl,···,Υ2Κ作为输出;
[0054] 5)累积抖动估计模块:Ξ个输入端,第一个输入端连接均值估计模块的输出端,第 二个输入端连接样本空间生成模块的输出端,第Ξ个输入端连接样本频数统计模块的输出 端,W馬。…パ、S:?L文脚.…,w + l/2」-K + /|/ = レ..,2K;5SK《W、Yl,…,Y2κ为输入,根据 (9)、(13)式计算累积抖动平方的估计值并将其作为整个电路系统的输出。
[0055] 本发明的优点是,在使用简单、数字电路直接可测的量化样本(即RO-based TRNG 的采样间隔内振荡信号边沿计数)估计累积抖动时:
[0056] 1)考虑到量化样本引入量化误差导致累积抖动估计误差后,做出了简明适当的修 正,可准确的对累积抖动进行估计;
[0057] 2)在计算样本方差时,通过样本的频数分布计算方差,削减了方差公式计算法所 需的与样本量相当的乘法运算量,提升了运算效率;
[0化引 3)提出的方法易于数字电路实现,适用于RO-based TRNG的真随机性评估。
【附图说明】
[0059] 图1是RO-based TRNG结构示意图;
[0060]图2是RO-based TRNG义样信号对振荡信号义样不意图;
[0061 ]图3是累积抖动估计方法步骤;
[0062] 图4是样本方差计算方法步骤;
[0063] 图5是累积抖动估计系统电路图;
[0064] 图6中(a)-(e)是累积抖动估计电路系统各个模块电路图;
[0065] 图7中(a)、(b)是本方法与已有的无修正方法对累积抖动的估计结果及估计误差 水平的对比图;
[0066] 图8中(a)、(b)是分别W
巧计累积抖动Jc时,误差Ei、&的大小关系 示意图,其中(a)图的横坐标是Jc/0.001,左边的纵坐标是估计Jc时的绝对误差值,右边的纵 坐标是样本方差S2的值;(b)图的横坐标是Jc/0.001,纵坐标是估计Jc时的绝对误差值。
【具体实施方式】
[0067] 下面结合附图及本方法和电路的实施例,说明本发明对RO-Based TRNG累积抖动 估计的一种实施方法和电路实现方式,但不限于此。
[0068] 在实施例中,为详细的说明本方法的实施过程及有益效果,通过X的样本对一系列 累积抖动做估计,也就是分布参数不同的T的理想标准差做估计。运一系列T的分布为:{N (192.6,0.2647^),N(385.2,0.3744^),N(577.8,0.4585^),N(770.4,0.5294^),N(963, 0.59192),N(1155.6,0.64842),N(1155.6,0.64842),N(1540.8,0.74882),N(1733.4, 0.79422),N( 1926,0.83712),N(2118.6,0.87802),N(231 1.2,0.91702)},对应的理想累积抖 动为:
[0069] {0.2647,0.3744,0.4585,0.5294,0.5919,0.6484,0.7004,0.7488,0.7942, 0.8371,0.8780,0.9170},如图7(a)中折线 1所示。
[0070] 每个分布都产生10000个T的量化样本Xi,…,Xi日日日日,按照图3及图4的步骤对累积抖 动做出估计,由Xi,…,Χιοοοο首先计算对应的一系列样本均值: 「007" Γ : {192. 0516,384, 7186,577. 2941,769.9078 ,962. 5004,1155. 1015,1347. 7102, LUU/I」 1540. 3063,1 巧2. 9020,1925.4948,2118. 0920,2310.脚48} 由样本均值生成一系列样本空间:
[0072]
[0073] 样本在样本空间上的一系列频数分布为:
[0074] {{〇,〇,〇,104,9266,630,0,0,0,0},{0,0,8,2944,6902,146,0,0,0,0},{0,0,0, 390.6317.3255.38.0. 0.0},
[0075] {0,0,36,2180,6465,1308,11,0,0,0},{0,5,458,4556,4492,487,2,0,0,0},0,2, 74.1684.5548.2523.167.2.0. 0},
[0076] {0,3,435,3405,4825,1278,54,0,0,0},{0,1,67,1349,4604, :3424,540,15,0,0},
[0077] {0,15,387,2667,4653,2058,212,8,0,0},{0,2,90,1079,3842,3851,1046,90,0, 〇},
[007引(0,16,319,2149,4296,2713,479,28,0,0},{2,84,905,3141,3948,1692,217,11, 0,0}},由(13)式计算得到一系列样本方差为:
[0079] {0.0706,0.2330,0.2932,0.3591,0.4432,0.5102,0.5826,0.6407,0.7232, 0.7854,0.8365,0.9277 },根据(8)式,取分位点d = 1/6,得到本方法对运一系列累积抖动的 估计值为:
[0080] {0.2657,0.3869,0.4580,0.5252,0.5999,0.6534,0.7066,0.7466,0.7999, 0.8379,0.8679,0.9189},如图7(a)中折线2所示。对应的一系列估计相对误差为:
[0081 ] {0.3%,3.3%,0.1%,0.8%,1.4%,0.8%,0.9%,0.3%,0.7%,0.1%,1.1%, 0.2%},如图7(b)折线1所示。
[0082]若按已有的无误差修正估计方法,将X的样本标准差直接作为累积抖动的估计值, 得到的一系列累积抖动估计为:
[0083] {0.2657,0.4827,0.5415,0.5992,0.6657,0.7143,0.7633,0.8004,0.8504, 0.8862,0.9146,0.9632},如图7(a)折线3所示。对应的一系列估计相对误差为:
[0084] {0.3%, 28.9%, 18.1%, 13.2%,12.5%, 10.2,9.0%,6.9%,7.1%,5.9%,, 4.2% ,5.0%},如图7(b)折线2所示。
[0085] 无论从数值还是图7的(a)图、(b)图上,都可W看到本方法对累积抖动估计的高准 确性。
[0086] 另一方面,在本实施例的样本方差计算中,通过样本频数分布计算方差,仅用到20 次乘法运算,而公式直接计算方差则需要样本量相当的10000次乘法,本方法的高效性特点 尤为显著。
[0087] 通过图5和图6给出了本发明中累积抖动估计电路系统各个模块的一种实现方式, 其中:
[0088] 图6中(a)图所示的边沿计数模块采用边沿计数器(edge_counter)实现,输入振荡 信号和采样信号,受使能信号(en)控制,对采样间隔内振荡信号边沿计数后输出计数样本 Xi,…,Xn,完成10000次计数得到10000个样本;
[0089] 图6中(b)图所示的均值估计模块,连接边沿计数模块,ΚΧι,···,Χν为输入,由时钟 信号(dk)、使能信号(en)控制,每个时钟周期内对输入的样本做累加,完成10000次累加后 将累加结果除W样本量N= 10000,得到样本均值缓存到buffed,buffer 1存储上一次 估计的样本均值且保持输出状态,直到本次估计结束后释放bufferl,buffer2内存 储的样本均值转移到bufferl;
[0090] 图6中(C)图所示的样本空间生成模块,连接均值估计模块,W 为输入,由时 钟信号、使能信号控制,对馬进行图6(C)中所示的一系列操作,得到并输出包含10个样 本点的样本空间没:{片細。W+裤」-5;牛Φ.=1,...,1巧;
[0091] 图6中(d)图所示的样本频数统计模块由计数器实现,连接边沿计数模块和样本空 间生成模块,ΚΧι,···,Χν和S为输入,由时钟信号、使能信号控制,对输入的样本在每个样本 点上做频数统计,得到并输出频数Yi,…,Yio;
[0092] 图6中(e)图所示的累积抖动估计模块,连接均值估计模块、样本空间模块、样本频 数统计模块,^1^。,,,,^、5、¥1,一,¥1〇为输入,由时钟和使能信号控制,依次进行图6(6)中所 示的一系列操作,得到样本方差S2,接着判断S2是否大于1/6,若大于1/6,输出s 2-1/12作为 累积抖动平方的估计值,否则输出S2作为累积抖动平方的估计值。W上电路即可准确高效 的完成对RO-based TRNG累积抖动的估计。
[0093] 本发明W边沿计数X的样本方差S2估计累积抖动Jc时,在其他实施例中可用其他属 于[1/12,0.209引的数值替代1/6作为分位点;WX的样本频数分布计算S2时,样本空间S包 含的样本点并不限于10个,可增加 S包含的样本点;样本量N可比10000更多或更少。
[0094] W上实施例仅用W说明本发明的技术方案而非对其进行限制,本领域的普通技术 人员可W对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本 发明的保护范围应W权利要求书所述为准。
【主权项】
1. 一种基于环形振荡器的真随机数发生器累积抖动估计方法,其步骤包括: 1) 以采样间隔内振荡信号边沿计数的样本为统计样本,通过边沿计数器获得一系列样 本; 2) 通过样本频数分布计算样本方差s2,作为累积抖动估计的统计量; 3) 选取分位点de [1/12,0.2098],判断s2是否大于d,若大于d,则累积抖动的估计值为 - 1/12 ;若s2小于或者等于d,则累积抖动的估计值为^7。2. 如权利要求1所述的方法,其特征在于,步骤2)通过样本频数分布计算样本方差s2的 方法是:设样本均值为T 样本空间是:S1:丨[f」-足+小二1,."2尺;5S昃《ΛΠ·, i=l / 其中N为样本量,在样本空间中的每个样本点上对样本进行计数,得到2K个样本点对应的样 本频数为Υι,…Y2K,由Y!,…Y2K、S、J计算X的样本方差为: ?,2=Σ·? ^ * (Lf J ~κ+! ^ /¥ 〇 =ΣΖγπ[^+ι/2\-κ+?-^2/Ν3. 如权利要求1所述的方法,其特征在于,步骤3)基于量化误差概率分布,将累积抖动 估计值修正为:4. 一种采用权利要求1所述方法的基于环形振荡器的真随机数发生器累积抖动估计电 路,其特征在于,包括: 边沿计数模块:输入振荡信号、采样信号,输出采样间隔内振荡信号边沿计数样本 Χι,.·_,Χν; 均值估计模块:输入端连接边沿计数模块的输出端,以样本Xi,…,Χν为输入,以缓存的 上一次估计均值^^#为输出,提供给本次估计的其他模块使用,本次估计得到样本均值 ,缓存并留待下一次估计使用; 样本空间生成模块:输入端连接均值估计模块输出端,以为输入,输出样本空间 s; 样本频数统计模块:包含两个输入端,第一个输入端连接边沿计数模块的输出端,第二 个输入端连接样本空间生成模块的输出端,以Χι,…,Xn、S为输入,对Χι,…,XN在样本点上计 数,得到样本频数作为输出; 累积抖动估计模块:包含三个输入端,第一个输入端连接均值估计模块的输出端,第二 个输入端连接样本空间生成模块的输出端,第三个输入端连接样本频数统计模块的输出 端,以:、样本频数为输入,计算累积抖动平方的估计值/1.,并将其作为整个电路系 统的输出。5. 如权利要求4所述的电路,其特征在于,所述样本空间生成模块输出的样本空间为: 5 : {[xf0m, +1/2 J ~K + i\i = \,-,2K;5<K?N\a6. 如权利要求5所述的电路,其特征在于,所述累积抖动估计模块根据下式计算样本方 差: ,:[5调-【+卜 ^)2/v . = ΣΖΥ^([^^/2\-Κ + ?-Χ)/ν 然后根据下式计算累积抖动平方的估计值 j:J s\ifs2<d ,c ~\sz -\j\2Jf s2 >d'
【文档编号】G06F7/58GK106066785SQ201610371562
【公开日】2016年11月2日
【申请日】2016年5月30日 公开号201610371562.6, CN 106066785 A, CN 106066785A, CN 201610371562, CN-A-106066785, CN106066785 A, CN106066785A, CN201610371562, CN201610371562.6
【发明人】朱少峰, 陈华, 范丽敏, 高思, 冯婧怡, 曹伟琼, 陈美会
【申请人】中国科学院软件研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1