System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于FPGA的随机数产生方法、系统及发生器技术方案_技高网

一种基于FPGA的随机数产生方法、系统及发生器技术方案

技术编号:41554677 阅读:9 留言:0更新日期:2024-06-06 23:40
本发明专利技术涉及随机数产生技术领域,公开了一种基于FPGA的随机数产生方法、系统及发生器,该方法,包括以下步骤:S1,熵源获取:利用FPGA器件的RO_PUF阵列输出的特征数据,作为噪声的来源;S2,特征数据提取:提取RO_PUF阵列输出的特征数据存储到一个特征值池中;S3,压缩:将特征值池中的特征数据进行压缩,输出随机数序列。本发明专利技术解决了现有技术存在的以下问题:周期性可预测的弱点,增加硬件的体积、功耗和成本。

【技术实现步骤摘要】

本专利技术涉及随机数产生,具体是一种基于fpga的随机数产生方法、系统及发生器。


技术介绍

1、随机数是一种无规律的数字序列,具有不可预测性和唯一性,被广泛应用于密码、安全等领域。

2、但传统的随机数产生技术存在一些问题,例如:伪随机数生成器存在周期性可预测的弱点,无法满足一些场景的需求;采用专用的随机数产生芯片则会增加硬件的体积、功耗和成本。


技术实现思路

1、为克服现有技术的不足,本专利技术提供了一种基于fpga的随机数产生方法、系统及发生器,解决现有技术存在的以下问题:周期性可预测的弱点,增加硬件的体积、功耗和成本。

2、本专利技术解决上述问题所采用的技术方案是:

3、一种基于fpga的随机数产生方法,包括以下步骤:

4、s1,熵源获取:利用fpga器件的ro_puf阵列输出的特征数据,作为噪声的来源;

5、s2,特征数据提取:提取ro_puf阵列输出的特征数据存储到一个特征值池中;

6、s3,压缩:将特征值池中的特征数据进行压缩,输出随机数序列。

7、作为一种优选的技术方案,步骤s1中,利用每个ro_puf单元输出频率的差异作为噪声源的提取来源。

8、作为一种优选的技术方案,步骤s3中,采用sha256哈希算法对特征值数据进行压缩。

9、作为一种优选的技术方案,步骤s3包括以下步骤:

10、s31,将特征值从特征值池中取出;

11、s32,将取出的特征值数据进行拼接;

12、s33,将拼接好的数据输入到sha256哈希算法模块中;

13、s34,sha256哈希算法模块输出计算结果;

14、s35,将计算结果输出为随机数序列。

15、作为一种优选的技术方案,执行步骤s2时,当特征池存储的特征数据容量达到设定阈值时,执行步骤s3对数据进行压缩。

16、一种基于fpga的随机数产生系统,用于实现所述的一种基于fpga的随机数产生方法,包括依次连接的以下模块:

17、熵源获取模块:用以,利用基于fpga器件的ro_puf阵列每次输出的特征数据存在不稳定的特性,作为噪声的来源;

18、特征数据提取模块:用以,重复提取ro_puf阵列输出的特征数据存储到一个特征值池中;

19、压缩模块:用以,将特征值池中的特征数据进行压缩,输出随机数序列。

20、一种基于fpga的随机数发生器,用于实现所述的一种基于fpga的随机数产生方法,包括ro_puf阵列、计数器组、比较器组、特征值池模块、数据压缩模块、通讯模块、控制模块,ro_puf阵列、计数器组、比较器组、特征值池模块、数据压缩模块、通讯模块依次通信连接,控制模块与ro_puf阵列、计数器组、比较器组连接。

21、作为一种优选的技术方案,计数器组中计数器的个数与ro_puf阵列中ro_puf单元的个数相等。

22、作为一种优选的技术方案,计数器组中计数器的个数是比较器组中比较器的个数的两倍。

23、作为一种优选的技术方案,还包括定时器,定时器与控制模块、比较器组分别通信连接。

24、本专利技术相比于现有技术,具有以下有益效果:

25、本专利技术基于通用器件fpga进行研究实现的puf产生随机数方法,具有很高的灵活性;fpga作为通用器件大量存在于各种硬件平台中,对于具有该器件的硬件平台可以在不用单独引入专用的噪声源的情况下,在fpga中集成该随机数产生模块提供比传统伪随机数序列更强的随机性,节约资源和成本。

本文档来自技高网...

【技术保护点】

1.一种基于FPGA的随机数产生方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于FPGA的随机数产生方法,其特征在于,步骤S1中,利用每个RO_PUF单元输出频率的差异作为噪声源的提取来源。

3.根据权利要求1所述的一种基于FPGA的随机数产生方法,其特征在于,步骤S3中,采用SHA256哈希算法对特征值数据进行压缩。

4.根据权利要求3所述的一种基于FPGA的随机数产生方法,其特征在于,步骤S3包括以下步骤:

5.根据权利要求1至4任一项所述的一种基于FPGA的随机数产生方法,其特征在于,执行步骤S2时,当特征池存储的特征数据容量达到设定阈值时,执行步骤S3对数据进行压缩。

6.一种基于FPGA的随机数产生系统,其特征在于,用于实现权利要求1至5任一项所述的一种基于FPGA的随机数产生方法,包括依次连接的以下模块:

7.一种基于FPGA的随机数发生器,其特征在于,用于实现权利要求1至5任一项所述的一种基于FPGA的随机数产生方法,包括RO_PUF阵列、计数器组、比较器组、特征值池模块、数据压缩模块、通讯模块、控制模块,RO_PUF阵列、计数器组、比较器组、特征值池模块、数据压缩模块、通讯模块依次通信连接,控制模块与RO_PUF阵列、计数器组、比较器组连接。

8.根据权利要求7所述的一种基于FPGA的随机数发生器,其特征在于,计数器组中计数器的个数与RO_PUF阵列中RO_PUF单元的个数相等。

9.根据权利要求7所述的一种基于FPGA的随机数发生器,其特征在于,计数器组中计数器的个数是比较器组中比较器的个数的两倍。

10.根据权利要求7至9任一项所述的一种基于FPGA的随机数发生器,其特征在于,还包括定时器,定时器与控制模块、比较器组分别通信连接。

...

【技术特征摘要】

1.一种基于fpga的随机数产生方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于fpga的随机数产生方法,其特征在于,步骤s1中,利用每个ro_puf单元输出频率的差异作为噪声源的提取来源。

3.根据权利要求1所述的一种基于fpga的随机数产生方法,其特征在于,步骤s3中,采用sha256哈希算法对特征值数据进行压缩。

4.根据权利要求3所述的一种基于fpga的随机数产生方法,其特征在于,步骤s3包括以下步骤:

5.根据权利要求1至4任一项所述的一种基于fpga的随机数产生方法,其特征在于,执行步骤s2时,当特征池存储的特征数据容量达到设定阈值时,执行步骤s3对数据进行压缩。

6.一种基于fpga的随机数产生系统,其特征在于,用于实现权利要求1至5任一项所述的一种基于fpga的随机数产生方法,包括依次连接的以下模...

【专利技术属性】
技术研发人员:李赛野唐六华王瑛孙夏声咸凛
申请(专利权)人:中国电子科技集团公司第三十研究所
类型:发明
国别省市:

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

1