真随机数乱源产生电路制造技术

技术编号:33542429 阅读:14 留言:0更新日期:2022-05-21 09:53
本发明专利技术揭示了一种真随机数乱源产生电路,包括若干环震荡器及若干乱源接收器,各环震荡器连接对应的乱源接收器;各环震荡器包括环选择器和若干反向器;环选择器的输出端连接一反相器,各反相器依次串接;设定反相器的输出端还连接所述环选择器的输入端;各乱源接收器包括逻辑混合器、至少两个D触发器、比较器及不稳态计数器;逻辑混合器的输出端分别连接各D触发器的输入端,各D触发器的输出端连接对应比较器的输入端,比较器的输出端连接不稳态计数器的输入端。本发明专利技术可以减少流片前后端设计环震荡器的时间,并且在流片后可以藉由调整震荡器频率来达到最佳的随机性;同时,本发明专利技术芯片可以在不同的工作环境下都达到最佳的随机性。可以在不同的工作环境下都达到最佳的随机性。可以在不同的工作环境下都达到最佳的随机性。

【技术实现步骤摘要】
真随机数乱源产生电路


[0001]本专利技术属于电子电路
,涉及一种乱源产生电路,尤其涉及一种真随机数乱源产生电路。

技术介绍

[0002]由于物联网的蓬勃发展,越来越多装置都能连上网络.传统不上网的装置安全性往往要求较低,因为除非实体连接入侵装置,否则一般不太容易泄漏用户资料,反观物联网装置不需要实体接触即可连接,藉由空气当介质传输资料时很容易被窃取资料,为了保护用户的资料安全,资料加密传输是物联网装置必要的功能.加密安全性是基于金钥的强度.而高强度的金钥是由真随机数产生器来生成.
[0003]常见的真随机数产生器架构是由一个乱源产生器搭配随机数产生器来构成,因为随机数产生器已经有公开的协议标准(NIST 800

90A),因此只要按照协议来设计即可,而乱源产生器在协议标准(NIST 800

90B)中只有定义测试性能的方法,却没有规范设计方法,只要设计出足够乱的乱源产生器通过协议测试即可.
[0004]在公开文献中有讨论采用静态随机存取存储器(SRAM),类比数位转换器(ADC),或者双倍数据率同步动态随机存取存储器(DDR)来当作乱源,以上这些方法的乱源质量很好,可是面积成本都很高,很少在实际量产的产品中看到,量产产品中常见的作法使用Ring

Oscillator(环振荡器)当作乱源产生器如图1所示。
[0005]由奇数个反向器组成环,环的端点接到D触发器,D触发器的输出就当作乱源产生器输出,而D触发器的D端和CK端时序如图2、图3所示。
[0006]因为D触发器的时钟(CK)频率和环震荡器的频率不同,当时钟在t1,t5,t9时刻不满足D触发器setup time时敲的资料会产生不稳态,利用这个不稳态的特性,每次取得的资料有随机性,因此可以当作随机数产生器的乱源。
[0007]为了增加随机性,可以使用n个环震荡器(chain_0~n),再把D触发器的输出用XOR闸接到一起当作乱源产生器的输出,如图4所示。
[0008]以n=2为例子,D触发器时钟在t1,t2,t5,t9,t10时刻会敲到不稳态,和原本只有一条环震荡器相比,增加了敲到不稳定态的机率,如图5所示。
[0009]这个方法有以下的缺点:
[0010](1)由图5中可见t0~t10时间内,虽然时钟在t1,t2,t5,t9,t10时刻会敲到不稳定资料,可是在大多数时刻t0,t3,t4,t6,t7,t8都敲到稳定的资料,不具有随机性,因此环震荡器的整体随机性不好;
[0011](2)由于环震荡器只有一个比特输出,每个时钟只能取到一个比特乱源,吞吐量很低,使得产生金钥的时间拉长;
[0012](3)若要达到高随机性和吞吐量,势必要加入更多环震荡器,这些环震荡器会产生额外的面积和功耗,不符合物联网产品需要低功耗的特性;
[0013](4)乱源产生器的随机性要等到流片后才能测试,而环震荡器中的反向器数目一
旦流片即无法更改,流片后若测试乱源不够乱也没有改善的方式。
[0014]有鉴于此,如今迫切需要设计一种新的随机数乱源产生方式,以便克服现有随机数乱源产生方式存在的上述至少部分缺陷。

技术实现思路

[0015]本专利技术提供一种真随机数乱源产生电路,可减少流片前后端设计环震荡器的时间,并且在流片后可以藉由调整震荡器频率来达到最佳的随机性;从而可以在不同的工作环境下都达到最佳的随机性。
[0016]为解决上述技术问题,根据本专利技术的一个方面,采用如下技术方案:
[0017]一种真随机数乱源产生电路,所述真随机数乱源产生电路包括:若干环震荡器及若干乱源接收器,各环震荡器连接对应的乱源接收器;
[0018]各环震荡器包括环选择器和若干反向器;所述环选择器的输出端连接一反相器,各反相器依次串接;设定反相器的输出端还连接所述环选择器的输入端;
[0019]各乱源接收器包括逻辑混合器、至少两个D触发器、比较器及不稳态计数器;所述逻辑混合器的输出端分别连接各D触发器的输入端,各D触发器的输出端连接对应比较器的输入端,所述比较器的输出端连接不稳态计数器的输入端。
[0020]作为本专利技术的一种实施方式,所述真随机数乱源产生电路包括n+1个环震荡器,各环震荡器包括m+1个反向器;其中,n为正整数,m为偶数;
[0021]环震荡器i中,第j个反向器的输出定义为cij,所述环选择器作为环震荡器的输入端;其中,0≤i≤n,0≤j≤m;j为偶数时,第j个反向器的输出端连接对应环选择器的输入端。
[0022]作为本专利技术的一种实施方式,所述真随机数乱源产生电路包括n+1个乱源接收器;前级环震荡器的反向器输出cij作为对应乱源接收器的输入;
[0023]所述逻辑混和器把cij中任意挑选数个出来用逻辑闸汇集到1比特,逻辑混和器输出同时接到至少两个D触发器输入;
[0024]各乱源接收器包括两个D触发器,分别为第一D触发器及第二D触发器;第一D触发器的输出为乱源产生器输出,可提供随机数产生器乱源,因为总共有n+1个乱源接收器,因此每个时脉周期可以提供n+1个乱源比特;第二D触发器用于检测乱源是否处于不稳态;
[0025]两个D触发器的输出利用比较器接在一起,并把比较器的输出结果输送至不稳态计数器,每当两个D触发器输出结果不同时比较器输出1,不稳态计数器则加1;所述不稳态计数器在配置的单位时间内计数,计数的结果是单位时间内发生不稳态的次数,用于评估此乱源的性能。
[0026]作为本专利技术的一种实施方式,在芯片设计阶段按照上述架构设计乱源产生器,当芯片流片归来后,初次开机按照下列步骤调整乱源:
[0027](1)初始化n,wn,u都为0,而s为2;
[0028](2)配置环n选择器为s;
[0029](3)读取环n不稳态计数器值到u;
[0030](4)若当前u大于上一轮的u

,则wn等于s,反之不更新wn,接着更新s等于s

加2并重复步骤(1)~步骤(3)直到s等于m;
[0031](5)记录wn值,n等于n

加1,重复步骤(1)~步骤(4)得到所有w0~wn的值,并把把wn值存储到非挥发性存储器中;
[0032](6)后续开机把wn的值从非挥发性存储器读出并配置到chain_n_select后即可正常使用乱源产生器,不再重复步骤(1)~步骤(5)。
[0033]本专利技术的有益效果在于:本专利技术提出的真随机数乱源产生电路,含有环选择器,可以透过配置更改环震荡器的频率,因此不需要在流片前决定环震荡器的频率;和常见做法相比,本专利技术可以减少流片前后端设计环震荡器的时间,并且在流片后可以藉由调整震荡器频率来达到最佳的随机性,同时因为此特性,本专利技术芯片可以在不同的工作环境(温度,电压,湿度,制成)下都达到最佳的随机性。
[0034]本专利技术使用逻辑混和器把环震荡器的反向器本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种真随机数乱源产生电路,其特征在于,所述真随机数乱源产生电路包括:若干环震荡器及若干乱源接收器,各环震荡器连接对应的乱源接收器;各环震荡器包括环选择器和若干反向器;所述环选择器的输出端连接一反相器,各反相器依次串接;设定反相器的输出端还连接所述环选择器的输入端;各乱源接收器包括逻辑混合器、至少两个D触发器、比较器及不稳态计数器;所述逻辑混合器的输出端分别连接各D触发器的输入端,各D触发器的输出端连接对应比较器的输入端,所述比较器的输出端连接不稳态计数器的输入端。2.根据权利要求1所述的真随机数乱源产生电路,其特征在于:所述真随机数乱源产生电路包括n+1个环震荡器,各环震荡器包括m+1个反向器;其中,n为正整数,m为偶数;环震荡器i中,第j个反向器的输出定义为cij,所述环选择器作为环震荡器的输入端;其中,0≤i≤n,0≤j≤m;j为偶数时,第j个反向器的输出端连接对应环选择器的输入端。3.根据权利要求2所述的真随机数乱源产生电路,其特征在于:所述真随机数乱源产生电路包括n+1个乱源接收器;前级环震荡器的反向器输出cij作为对应乱源接收器的输入;所述逻辑混和器把cij中任意挑选数个出来用逻辑闸汇集到1比特,逻辑混和器输出同时接到至少两个D触发器输入;各乱源接收器包括两个D触发器,分别为第一D触发器及第二D触发器;第一D...

【专利技术属性】
技术研发人员:蔡尚达
申请(专利权)人:博流智能科技南京有限公司
类型:发明
国别省市:

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

1