基于FPGA的真随机数发生器及发生方法技术

技术编号:20221433 阅读:75 留言:0更新日期:2019-01-28 20:03
本发明专利技术提供了一种基于FPGA的真随机数发生器及发生方法,包括:n级自定时振荡环:产生抖动信号作为熵源,每一级输出的抖动信号分别连接熵提取模块,n为大于等于3的正整数;熵提取模块:由FPGA中的延迟链和触发器单元组成,延迟链分别采集抖动信号,触发器在一个相同时钟的控制下对延迟链中的抖动信号进行采样,再将每个延迟链中同一级的抖动信号进行异或得到数据数列;边缘检测器:检测数据序列中的边缘跳变数据位,输出一位随机数;后处理模块:将随机数进行纠偏,得到随机数序列。本发明专利技术不仅可以产生高质量的随机数,而且可以以很高的速率产生随机数。且占用FPGA的资源较少,可以很方便地集成到应用系统中。

【技术实现步骤摘要】
基于FPGA的真随机数发生器及发生方法
本专利技术涉及电子电路领域,具体地,涉及基于FPGA的真随机数发生器及发生方法。
技术介绍
随机数被用来产生安全系统需要的安全密钥、操作系统协议、移动设备ID和数字签名验证等。随机数发生器在模拟仿真、数据加密、系统安全和统计分析等方面的应用十分广泛,这些系统对随机数的质量和产生速度的有一定的要求。随机数分为伪随机数和真随机数,其中真随机数的质量高,包含真随机数发生器的系统安全性也更高。由于现场可编程门阵列(FPGA)在当前的电子系统中应用非常普遍,基于FPGA的真随机数发生电路具有重要的应用前景。FPGA中的真随机数发生电路包括:熵源,采样量化和后处理三部分组成。FPGA中的熵源主要来源于振荡器的抖动,亚稳态电路等,当前基于以上熵源的发生电路主要问题是数据产生率低,对工作环境、电压和工艺变化敏感,可靠性不高。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种基于FPGA的真随机数发生器及发生方法。根据本专利技术提供的一种基于FPGA的真随机数发生器,包括:n级自定时振荡环:产生抖动信号作为熵源,所述n级自定时振荡环的每一级输出的抖动信本文档来自技高网...

【技术保护点】
1.一种基于FPGA的真随机数发生器,其特征在于,包括:n级自定时振荡环:产生抖动信号作为熵源,所述n级自定时振荡环的每一级输出的抖动信号分别连接熵提取模块,n为大于等于3的正整数;熵提取模块:由FPGA中的延迟链和触发器单元组成,所述延迟链分别采集所述抖动信号,所述触发器在一个相同时钟的控制下对所述延迟链中的抖动信号进行采样,再将每个延迟链中同一级的抖动信号进行异或,将异或后得到的数据数列输入边缘检测器;边缘检测器:检测数据序列中的边缘跳变数据位,输出一位随机数,并将得到的随机数送入后处理模块;后处理模块:将输入的随机数进行纠偏,得到随机数序列。

【技术特征摘要】
1.一种基于FPGA的真随机数发生器,其特征在于,包括:n级自定时振荡环:产生抖动信号作为熵源,所述n级自定时振荡环的每一级输出的抖动信号分别连接熵提取模块,n为大于等于3的正整数;熵提取模块:由FPGA中的延迟链和触发器单元组成,所述延迟链分别采集所述抖动信号,所述触发器在一个相同时钟的控制下对所述延迟链中的抖动信号进行采样,再将每个延迟链中同一级的抖动信号进行异或,将异或后得到的数据数列输入边缘检测器;边缘检测器:检测数据序列中的边缘跳变数据位,输出一位随机数,并将得到的随机数送入后处理模块;后处理模块:将输入的随机数进行纠偏,得到随机数序列。2.根据权利要求1所述的基于FPGA的真随机数发生器,其特征在于,所述n级自定时振荡环采用均匀间隔传播模式。3.根据权利要求1所述的基于FPGA的真随机数发生器,其特征在于,所述n级自定时振荡环的每一级由一个密勒单元和一个反相器构成,所述密勒单元由FPGA中的LUT实现,将所述n级自定时振荡环的每一级固定位一个LUT。4.根据权利要求1所述的基于FPGA的真随机数发生器,其特征在于,所述延迟链由FPGA中的超前进位单元级联形成。5.根据权利要求1所述的基于FPGA的真随机数发生器,其特征在于,所述...

【专利技术属性】
技术研发人员:蒋剑飞张异凡王琴
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海,31

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

1