舒适噪声发生器matlab,【学术论文】基于热噪声的自适应匹配真随机数发生器设计...

本文主要是介绍舒适噪声发生器matlab,【学术论文】基于热噪声的自适应匹配真随机数发生器设计...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

摘要: 通过对热噪声模型和灵敏放大器匹配机理的研究,提出一种可自适应匹配的真随机数发生器(True Random Number Generator,TRNG)设计方案。该方案首先在灵敏放大器中嵌入可配置NMOS阵列,通过调整阵列的等效宽长比实现灵敏放大器工作电流的平衡;然后在输出端增设负载隔离单元实现互补输出负载的匹配,提高序列随机性;最后通过动态补偿算法实现TRNG自适应校准,提高其适用范围。电路采用TSMC 65 nm CMOS工艺实现,实验结果表明TRNG在0.8 V~1.4 V电压和-40 ℃~120 ℃的环境下能正常工作,最大输出速率可达1 GHz,平均能效为0.165 pJ/bit。输出的随机序列通过了NIST-SP 800-22测试。

随着电子技术和通信技术的发展,对信息安全性的要求越来越高,真随机数发生器(True Random Number Generator,TRNG)已成为安全系统中不可或缺的一部分[1]。相较伪随机数发生器(Random Number Generator,RNG),TRNG的输出序列具有不可预测性且满足严格的统计测试要求,所以通常选取热噪声、核衰变、宇宙辐射等物理现象作为熵源[2],其中应用最广泛的是热噪声。热噪声由导体中载流子的热振动引起,它会造成沟道电流微小波动从而在电阻两端产生电压[3]。基于热噪声的TRNG电路设计方法主要包括:热噪声直接放大、环振抖动采样和亚稳态三种方法。热噪声直接放大法通过高增益高带宽差分运算放大器将大电阻上的热噪声直接放大,再由比较器将放大信号进行数模转换后输出。但随着工艺的更新,放大器本身存在的输出失调、衬底噪声耦合、有限带宽等非理想因素都将明显影响系统输出的随机性[4];环振抖动采样是将热噪声转换为相位抖动,用低频信号采样获得随机输出[5]。但因为相位抖动幅度小,所以需要多个周期对相位幅度进行累加才能产生随机输出,导致电路吞吐率极低;亚稳态则是先让双稳态电路进入亚稳态区间,在释放瞬间由热噪声决定输出状态。其优点是可以采用全数字化设计[3,6],但由于亚稳态工作区间小,因此微小的器件和负载失配都会使电路偏离亚稳态工作区间。为了使电路工作在亚稳态,文献[6]引入了负反馈调节,但由于未考虑负载失配的情况,反馈调节难度大,且状态机在启动时完成反馈调节后即停止工作,无法根据环境变化进行二次调节,降低了其应用范围。鉴此,本文将结合热噪声放大和亚稳态设计方法的优点提出相应的设计方案,有效提高输出序列的随机性,并通过仿真验证。

1 热噪声模型与灵敏放大器

影响TRNG输出序列随机性的关键是热噪声的有效放大,所以先分析热噪声模型和灵敏放大器工作机理。

1.1 热噪声模型

热噪声由导体中载流子的热振动引起,它使沟道电流产生微小波动,从而在在电阻两端产生波动电压。在频域中,其频谱密度如式(1)所示[7]:

baa240d3b35a7b2fc0e3508077c17291.png

其中,η(t,Δt)是呈高斯概率分布的随机数,每隔Δt更新一次,σ是噪声信号的幅值。可知热噪声频谱为一恒定常数,在时域中幅值呈高斯分布,是理想的熵源。但因幅值较小(实际电路中约为1.5 mV[3]),微小的工艺偏差和环境影响都会掩盖噪声的作用,因此需要精度高、匹配性好的放大器将其快速放大到数字电路能识别的电平值。

1.2 灵敏放大器

灵敏放大器具有灵敏度高、运行速度快、结构简单等优点,是放大热燥声的理想器件。其基本电路结构如图1所示。

85d65b821e325356e6f11e709e9f559e.png

当时钟信号CLK=0时,电路进入预充电阶段,互补输出端Q和QN被预充电至高电平;当时钟信号CLK=1时,电路进入求值阶段,求值原理如式(3)所示:

f2bd5daa454418e5f5614b9b52a8a840.png

若灵敏放大器工作电流完全平衡,互补输出Q和QN在求值阶段最终会稳定在中间电平。实际电路中,在热噪声的影响下,I1、I2大小会随机波动,从而在求值阶段产生随机输出。

2 自适应匹配

灵敏放大器工作电流平衡是获得理想随机序列的关键。但负载失配、工艺偏差等非理想因素都会影响电流大小,使输出序列产生明显的偏向性。因此,需要灵敏放大器在工作中能够自适应匹配。

2.1 可配置NMOS阵列

灵敏放大器中各MOS管宽长比的工艺偏差可等效为图1中晶体管N3和N4的偏差[4],造成工作电流失衡。为补偿工艺偏差,可将图1中的晶体管N3和N4替换为可配置NMOS阵列NF1和NF2,其内部结构如图2所示。

f25a3690f37cb12ff4ced3da033bb08f.png

以ncf0为例,ncf0高电平时,晶体管开关N1导通,N2并联在N0两端,可配置NMOS阵列的等效宽长比升高,相应支路工作电流增大;反之电流减小,从而有效补偿工艺偏差提高序列随机性。

2.2 动态补偿算法

为使灵敏放大器可根据输出序列的偏向性调整可配置NMOS阵列来补偿偏差,提出动态补偿算法。算法采用单级等距调节,复杂性低易于实现。其状态转移图如图3所示。

0873a8e915ee4425998711512137a0c3.png

有限状态机拥有动态配置和动态监控两种模式。TRNG在上电启动后经初始化进入动态配置模式。动态配置模式下每4个时钟周期,状态机对TRNG输出的4位数据进行一次读取检测。若4位数据中“1”的个数多于“0”,令flag=1。反之令flag=0。状态机根据flag的值令可配置NMOS阵列NF1、NF2自加或自减。当中“1”和“0”个数相等时,若输出为“1100”或“0011”,则令flag=2,配置状态维持不变。若输出为“1010”或“0101”,则判定TRNG在当前配置下,受热噪声影响可以等概率输出“1”或“0”,令flag=3,配置完成,状态机进入动态监控模式。动态监控模式下,若检测到输出序列连续出现12个“1”或“0”,判定输出序列失去随机性,令flag=4,状态机返回动态配置模式。否则,状态机维持在动态监控模式,可配置NMOS阵列配置不变。

2.3 TRNG电路整体结构

可自适应匹配的TRNG整体结构如图4所示。灵敏放大器在热噪声的影响下每个时钟周期随机输出低电平“0”或高电平“1”,输出数据存储在移位寄存器中。动态补偿模块根据移位寄存器中的数据偏向性调节可配置NMOS阵列,使电路工作在高熵值区域。负载匹配模块用以降低负载失配对输出序列随机性的影响。

b5495e25f0f6d2bd2701130c66b88459.png

3 实验结果和分析

整体电路采用Cadence的Verilog/Spectre混合仿真器对模拟电路和Verilog模块进行联合仿真。在1.2 V电源电压下,令时钟频率为1 GHz并手动引入10%的工艺偏差,输出序列如图5所示。可知当0 μs时,输出偏向1,经过约0.4 μs的动态配置,TRNG输出序列随机并进入动态监控模式。在1.5 μs时刻,再次引入工艺偏差,输出序列偏向1。TRNG重新进入动态配置模式,并在约1.92 μs完成动态配置进入动态监控模式。仿真结果表明电路实现自适应匹配功能,具有良好的抗工艺偏差特性。

7d58503542624a5f1addc04e6bb9f9dc.png

将仿真获得的100 000位原始序列经过冯诺依曼后处理后得到约26 000位数据,分成10组,输入到NIST测试套件[8]中进行检测。测试结果如表1所示。从测试结果可以看出,各项P值都处在较高水平,随机性优异。

4d2b428c0fe99c513bc56b3be88ee3f0.png

将所得序列输入到MATLAB测试自相关特性,结果如图6所示。由图可知,在95%的自信区间内2 000位连续数据间的自相关性近似为0。

e85b5887b411fb44e5da4eb67fd77459.png

为了验证电路的鲁棒性,TRNG在0.8 V~1.4 V电源电压,-40 ℃、40 ℃和120 ℃的环境下进行仿真,将输出序列送入NIST套件进行测试。测试结果如图7所示。P值大于0.1则通过随机测试。可知TRNG在各温度及电压下均有良好的随机性,且P值随着电源电压的升高呈上升趋势。

7192229a787659c77a4a8b93499aea67.png

本设计首先采用灵敏放大器代替高增益高带宽差分运算放大器,既避免运放设计的困难,同时又通过灵敏放大器中交叉耦合的正反馈结构提高TRNG吞吐率。其次,在输出端用D触发器进行负载隔离,降低灵敏放大器差分输出端负载失衡对输出序列随机性的影响,使得TRNG在工作阶段负载平衡。最后,提出具有动态配置和动态监控两种模式的补偿算法,使TRNG在工作环境剧烈变化时能自适应调节,增加输出序列的随机性和TRNG适用范围。所设计TRNG电路采用TSMC 65 nm CMOS 工艺实现,经NIST套件测试,具有较高的随机性,可广泛应用于密钥生成和信号加密等领域。

参考文献

[1] BHARGAVA M,SHEIKH K,MAI K.Robust true random number generator using hot-carrier injection balanced metastable sense amplifiers[C].IEEE International Symposium on Hardware Oriented Security and Trust.IEEE,2015:7-13.

[2] WIECZOREK P Z.Lightweight TRNG based on multiphase timing of bistables[J].IEEE Transactions on Circuits & Systems I Regular Papers,2016,63(7):1043-1054.

[3] SRINIVASAN S,MATHEW S,ERRAGUNTLA V,et al.A 4 Gb/s 0.57 pJ/bit process-voltage-temperature variation tolerant all-digital true random number generator in 45 nm CMOS[C].International Conference on Vlsi Design.IEEE Computer Society,2009:301-306.

[4] 金杰,罗敏,宫月红.一种基于热噪声的真随机数发生器的设计与实现[J].微电子学与计算机,2015(10):7-11.

[5] LIU Y,CHEUNG R C C,WONG H.A bias-bounded digital true random number generator architecture[J].IEEE Transactions on Circuits & Systems I Regular Papers,2017,64(1):133-144.

[6] MATHEW S K,SRINIVASAN S,ANDERS M A,et al.2.4 Gbps, 7 mW all-digital PVT-variation tolerant true random number generator for 45 nm CMOS high-performance microprocessors[J].IEEE Journal of Solid-State Circuits,2012,47(11):2807-2821.

[7] SUNG J J,KANG G S,KIM S.A transient noise model for frequency-dependent noise sources[J].IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,2003,22(8):1097-1104.

[8] RUKHIN A L,SOTO J,NECHVATAL J R,et al.SP 800-22 Rev.1a. A statistical test suite for random and pseudorandom number generators for cryptographic applications[R].Nist Special Publication,2010.

作者信息:

李  桢1,汪鹏君1,程  旭2,李  刚1

(1.宁波大学 电路与系统研究所,浙江 宁波;2.复旦大学 专用集成电路与系统国家重点实验室,上海201203)

这篇关于舒适噪声发生器matlab,【学术论文】基于热噪声的自适应匹配真随机数发生器设计...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/172146

相关文章

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

怎么让1台电脑共享给7人同时流畅设计

在当今的创意设计与数字内容生产领域,图形工作站以其强大的计算能力、专业的图形处理能力和稳定的系统性能,成为了众多设计师、动画师、视频编辑师等创意工作者的必备工具。 设计团队面临资源有限,比如只有一台高性能电脑时,如何高效地让七人同时流畅地进行设计工作,便成为了一个亟待解决的问题。 一、硬件升级与配置 1.高性能处理器(CPU):选择多核、高线程的处理器,例如Intel的至强系列或AMD的Ry

hdu 3065 AC自动机 匹配串编号以及出现次数

题意: 仍旧是天朝语题。 Input 第一行,一个整数N(1<=N<=1000),表示病毒特征码的个数。 接下来N行,每行表示一个病毒特征码,特征码字符串长度在1—50之间,并且只包含“英文大写字符”。任意两个病毒特征码,不会完全相同。 在这之后一行,表示“万恶之源”网站源码,源码字符串长度在2000000之内。字符串中字符都是ASCII码可见字符(不包括回车)。

二分最大匹配总结

HDU 2444  黑白染色 ,二分图判定 const int maxn = 208 ;vector<int> g[maxn] ;int n ;bool vis[maxn] ;int match[maxn] ;;int color[maxn] ;int setcolor(int u , int c){color[u] = c ;for(vector<int>::iter

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

POJ 3057 最大二分匹配+bfs + 二分

SampleInput35 5XXDXXX...XD...XX...DXXXXX5 12XXXXXXXXXXXXX..........DX.XXXXXXXXXXX..........XXXXXXXXXXXXX5 5XDXXXX.X.DXX.XXD.X.XXXXDXSampleOutput321impossible

SprinBoot+Vue网络商城海鲜市场的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质创作者,全网30w+

matlab读取NC文件(含group)

matlab读取NC文件(含group): NC文件数据结构: 代码: % 打开 NetCDF 文件filename = 'your_file.nc'; % 替换为你的文件名% 使用 netcdf.open 函数打开文件ncid = netcdf.open(filename, 'NC_NOWRITE');% 查看文件中的组% 假设我们想读取名为 "group1" 的组groupName

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87