论文部分内容阅读
随机数发生器的功能是提供具有随机分布特性的数列。目前,大部分“随机”信号源使用的是伪随机发生器(PRNG),即采用数学递推公式来产生随机数。PRNG能保证随机数有良好的统计特性,但不可预测性较差。故在某些特定的应用中,如加密通信中密钥的生成等,必须使用真随机数发生器。基于硬件的真随机数发生器(TRNG)是利用一些具有不可预测性的自然界物理现象来产生真随机数,一般采用模拟信号源来实现。
本文的核心内容即为根据高性能网络安全密码芯片的设计要求,实现一个真随机数生成器IC子单元的设计。经过研究分析,设计了两种实现方案:振荡采样、时间离散混沌。
振荡采样方案的基本思路是:通过一个高电平触发的D触发器把两个独立的方波进行数字混合,用低速波来采样高速波,来产生随机数列,并且用“异或链”来使输出平稳。设计分模拟和数字两部分进行,前者主要是振荡器的设计,分别设计了RC振荡器、环形振荡器和压控振荡器三种电路;后者则是通过逻辑综合得到。在设计中,通过异或电路及扰频电路的增加,进一步确保了输出的随机性和不相关性。该方案使用0.6μm CMOS工艺实现,已完成流片,并通过了相关测试。
时间离散混沌方案,是利用了混沌系统不可预测的特性并结合使用了振荡器采样设计来产生真随机数。该方案对电源噪音,时钟串扰等外界或内部的干扰不敏感。其设计随机数发生率为1MHz,产生的随机数序列通过了比特分布、游程分布、随机碰撞和状态分布检验。该方案亦使用0.6μm CMOS工艺实现,