CN104133658A - 一种片内真随机数生成器 - Google Patents
一种片内真随机数生成器 Download PDFInfo
- Publication number
- CN104133658A CN104133658A CN201410363819.4A CN201410363819A CN104133658A CN 104133658 A CN104133658 A CN 104133658A CN 201410363819 A CN201410363819 A CN 201410363819A CN 104133658 A CN104133658 A CN 104133658A
- Authority
- CN
- China
- Prior art keywords
- random number
- true random
- noise
- bit
- maker
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000005070 sampling Methods 0.000 claims abstract description 18
- 238000006243 chemical reaction Methods 0.000 claims abstract description 5
- 238000000034 method Methods 0.000 claims description 13
- 239000000284 extract Substances 0.000 claims description 5
- 230000009466 transformation Effects 0.000 claims description 2
- 238000013461 design Methods 0.000 abstract description 5
- 238000012545 processing Methods 0.000 abstract description 5
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000001360 synchronised effect Effects 0.000 abstract description 4
- 238000000605 extraction Methods 0.000 abstract description 2
- 238000004519 manufacturing process Methods 0.000 abstract 1
- 238000009827 uniform distribution Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000010219 correlation analysis Methods 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Analogue/Digital Conversion (AREA)
Abstract
本发明涉及片内真随机数生成器,包括随机噪声生成器,AD(模拟到数字)采样器,噪声转化器和序列发生器。本发明的特点是利用片内温度传感器,作为真随机数生成器的噪声源,通过AD采样将温度值转换成数字信号,对采样得到的数字信号进行噪声提取转化,得到一组真随机序列,最后通过序列发生器对多组随机序列组装,产生任意比特的真随机数。由于采用片内的噪声信号作为真随机数的信号源,具有随机和不可预测等特性,产生的随机数分布均匀,符合不相关等特性,是一种高质量的真随机数。本发明是利用集成电路实现的片内真随机数生成器,利用了芯片设计的流水线,同步处理和资源复用等技术,具有成本低,稳定性好,速率快,易于实现等优点。
Description
技术领域
一种片内真随机数生成器,属于安全领域,通信领域及集成电路设计领域,特别涉及在芯片内部实现真随机数生成器的设计。
背景技术
在安全领域和通信领域中,对高质量真随机数的需求与日俱增。对于大部分加密系统而言,随机数的性能决定了所使用密钥和协议参数的安全性。
使用软件算法实现的伪随机数,不可避免地具有周期性和可预测性等特征,存在可被攻击的安全隐患,因此使用伪随机数的安全系统必然存在性能瓶颈。
为了获取真随机数,现有的一种方式是芯片外接真随机数发生装置,虽然解决了伪随机数问题,但存在成本高,速率慢,电路复杂等问题。
为了获取不可预测的真随机数,就需要使用自然界存在的物理噪声,如电路的热噪声。本发明旨在芯片内部实现一种低成本、高质量的真随机数发生器。
发明内容
本发明要解决的技术问题是:本发明公开了一种片内真随机数生成器,利用片内温度传感器,作为真随机数生成器的噪声源,通过AD采样将温度值转换成数字信号,对采样得到的数字信号进行噪声提取转化,得到一组随机序列,最后通过序列发生器对多组随机序列进行排列组合,产生任意比特的真随机数。
本发明解决其技术问题所采用的技术方案是:一种片内真随机数生成器,包括:
随机噪声生成器,用于产生带随机噪声的模拟信号;
AD采样器,用于对带随机噪声的模拟量进行采样,转换成数字量;
噪声转化器,用于对采样得到的数字信号进行噪声提取转化,得到一组原始真随机序列;
序列发生器,用于对多组原始真随机数序列进行排列组合,生成任意比特的真随机数序列。
进一步地,所述随机噪声生成器为片内温度传感器,在芯片内部自带温度传感器,无需连接额外模拟器件,很大程度上节省了真随机数生成器的成本;所述的AD采样器的比特位宽为W,温度传感器噪声分量相对于实际温度值来说,幅值较小,因此要求AD采样器有较高的比特位宽(通常大于等于8比特);所述噪声转化器完成对X次采样后得到的数字信号进行噪声提取转化,其中X为大于等于2的任意整数。本发明采用的转化方法为:提取原始数字信号的直流分量,通过直流分量和原始数字信号作比较,将噪声信号转化成一组X比特的真随机数序列;可重复运行Y次上述过程,得到X×Y比特真随机序列,其中Y为大于等于1的任意整数;所述的序列发生器对X×Y比特真随机序列进行排列组合,生成任意比特的真随机数。
本发明的有益效果是:由于采用真实物理过程作为真随机数的信号源,具有随机和不可预测等特性,因此消除了伪随机数的周期性和相关性等问题,产生的随机数分布均匀,符合不相关等特性,是一种高质量的真随机数。本发明是利用集成电路实现的片内真随机数生成器,利用了芯片设计的流水线,同步处理和资源复用等技术,具有成本低,稳定性好,速率快,易于实现等优点。
附图说明
图1是本发明的片内真随机数生成器的总体框图;
图2是本发明实施例的硬件电路结构图;
图3是本发明实施例的电路时序图;
图4是本发明实施例的电路工作流程图;
图5是本发明实施例的实测数据分析图;
具体实施方式
为了更加清晰地描述本发明的原理,结构和优点,以下结合附图,从方法原理,硬件电路,实现流程和实测数据分析等方面,对本发明做进一步详细说明。此处所描述的具体实施内容仅仅用以解释本发明,并不用于限定本发明。
本发明公开了一种片内真随机数生成器,利用片内温度传感器,作为真随机数生成器的噪声源,通过AD采样将温度值转换成数字信号,并将原始数字信号中的噪声分量转化成一组真随机序列,最后通过序列发生器,产生任意比特的真随机数。
图1给出了本发明的片内真随机数生成器的总体框图,详述如下:
片内真随机数生成器包括:
随机噪声生成器100,包含片内温度传感器,用于产生带随机噪声的模拟信号;
AD采样器200,用于对随机噪声生成器100输出的模拟信号进行采样,转换成数字信号;
噪声转化器300,用于对AD采样器200输出的数字信号进行处理,提取出直流分量,再通过原始数字信号和直流分量作比较,得到一组原始真随机序列;
序列发生器400,重复利用装置100~300,得到多组原始真随机序列,并完成对序列的组合排列,生成任意比特的真随机数。
在噪声转化器300中提取直流分量时,本实施例中采用对多个AD采样值进行统计求平均的方式实现。
对片内温度传感器的X次采样结果Tadc可以看作实际温度值Treal和随机噪声Tnoise的耦合,即Tadc(n)=Treal+Tnoise(n),n=0,1,2,3,…,(X-1)。
对X次采样结果进行统计求平均,可以算出采样值的直流分量:
为了方便实现,本实施例中采用如下设置:X=2N,Y=M。
图2给出了本发明实施例的硬件电路结构图,针对部分内容详述如下:
本实施例中各模块的工作时钟,统一由时钟管理模块500提供,所有数字逻辑采用同步处理,保证了信号处理的稳定性。
噪声转化器300包含:
模2N计数器301,加法器302,数据缓存寄存器组303,寄存器304,平均值锁存器305,右移逻辑306和数字比较器307。
加法器302和寄存器304组成数据累加器;AD采样器200的输出数据在输入到累加器同时,写入数据缓存寄存器组303;模2N计数器301循环计数,具有以下功能:产生数据缓存寄存器组303的写入地址,数据缓存寄存器组303输出到数字比较器400的读取地址,平均值锁存器305的锁存条件(计数值达到2N-1);平均值锁存器305和右移逻辑306完成对累加结果求出平均值,得到2N次采样的直流分量;数字比较器307,用于比较数据缓存寄存器组303输出和平均值锁存器305输出,生成原始真随机序列,本实施例采用的比较算法如下:大于直流分量为“1”,小于直流分量为“0”,等于直流分量做特殊处理(第奇数次等于为“1”,第偶数次等于为“0”)。
序列发生器400包含:
模M计数器401,移位寄存器402,数据锁存器403和序列组装器404。
移位寄存器402完成对噪声转化器300输出随机比特的移位寄存;当完成2N比特移位寄存后,数据存储到数据锁存器403中;同时,序列组装器404完成对2N比特数据的排列组合;模M计数器401完成重复利用本实施例电路完成M次数据获取组装过程,最终获得任意比特的真随机数。
图3给出了本发明实施例的电路工作时序图,可以看到本实施例采用了流水线技术,并充分利用了同一套硬件资源,具有很好的稳定性高,成本低等优点。
图4所示为本发明实施例的电路工作流程图,给出了利用本发明产生M×2N比特真随机序列的工作流程,详述如下:
步骤1:初始化,计数器301清零,计数器401清零,启动片内真随机数发生器;
步骤2:计数器301循环计数,若计数到2N-1,进入步骤3;
步骤3:数据存储到数据锁存器403,并完成数据组装,进入步骤4;
步骤4:若计数器401计数到M-1,进入步骤5;否则,计数器401计数加1,进入步骤2;
步骤5:获取任意比特真随机数,关闭片内真随机数发生器。
图5给出了实际测试得到连续2000个温度信号后,按照实施例中方法处理所得到的噪声信号的幅值图,频谱图及相关性分析图,可以看出,实测噪声的互相关程度很低,具有良好的随机性。
本发明采用真实物理过程作为真随机数的信号源,具有随机和不可预测等特性,因此消除了伪随机数的周期性和相关性等问题,产生的随机数分布均匀,符合不相关等特性,是一种高质量的真随机数。本发明是利用集成电路实现的片内真随机数生成器,利用了芯片设计的流水线,同步处理和资源复用等技术,具有成本低,稳定性好,速率快,易于实现等优点。
以上实施例仅用具体实施说明本发明的实现过程和结构,在此基础上可以有多种变化,这种基于本发明结构的变化均包含在本发明的保护范围之内。
Claims (7)
1.一种片内真随机数生成器,其特征在于,包括:
随机噪声生成器,用于产生带随机噪声的模拟信号;
AD采样器,用于对带随机噪声的模拟量进行采样,转换成数字量;
噪声转化器,用于对采样得到的数字信号进行噪声提取转化,得到一组原始随机序列;
序列发生器,用于对多组原始真随机数序列进行组合排列,生成任意比特的真随机数。
2.如权利要求1所述的一种片内真随机数生成器,其特征在于,所述的随机噪声生成器包含:片内温度传感器,无需连接额外模拟器件,很大程度上节省了真随机数生成器的成本。
3.如权利要求1所述的一种片内真随机数生成器,其特征在于,所采用的AD采样器的比特位宽为W,温度传感器噪声分量相对于实际温度值来说,幅值较小,因此要求AD采样器有一定的比特位宽。
4.如权利要求1所述的一种片内真随机数生成器,其特征在于,所述的噪声转化器:从X次采样温度值得到的数字信号中,利用特定的方法将噪声信号转化成X比特的随机序列,其中X可为大于等于2的任意整数。
5.如权利要求1-4任一项所述的一种片内真随机数生成器,其特征在于,可重复运行Y次片内真随机数生成器,得到X×Y比特真随机数,其中Y为大于等于1的任意整数。
6.如权利要求1所述的一种片内真随机数生成器,其特征在于,所述的序列发生器:对X×Y比特真随机数进行序列组合,生成任意比特的随机数序列。
7.如权利要求4所述的一种片内真随机数生成器,其特征在于,所述的噪声转化器所采用的噪声转化方法为:提取原始数字信号的直流分量,通过原始数字信号和直流分量作比较,得到一组真随机序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410363819.4A CN104133658A (zh) | 2014-07-29 | 2014-07-29 | 一种片内真随机数生成器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410363819.4A CN104133658A (zh) | 2014-07-29 | 2014-07-29 | 一种片内真随机数生成器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104133658A true CN104133658A (zh) | 2014-11-05 |
Family
ID=51806347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410363819.4A Pending CN104133658A (zh) | 2014-07-29 | 2014-07-29 | 一种片内真随机数生成器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104133658A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461457A (zh) * | 2014-12-30 | 2015-03-25 | 成都三零嘉微电子有限公司 | 一种真随机数发生器及其失调补偿控制方法 |
CN105389544A (zh) * | 2015-10-21 | 2016-03-09 | 深圳市汇顶科技股份有限公司 | 输出转换电路及指纹识别系统 |
CN106528048A (zh) * | 2016-11-02 | 2017-03-22 | 北京旷视科技有限公司 | 评估随机数生成器质量的方法及装置 |
CN108736965A (zh) * | 2018-06-27 | 2018-11-02 | 钦州学院 | 一种无线通信方法及系统 |
CN109271135A (zh) * | 2017-07-18 | 2019-01-25 | 展达通讯(苏州)有限公司 | 真随机数生成系统及其真随机数生成的方法 |
CN110321103A (zh) * | 2019-06-27 | 2019-10-11 | 北京信息科技大学 | 一种基于物理设备的真随机数生成方法及设备 |
CN117472327A (zh) * | 2023-10-23 | 2024-01-30 | 上海合芯数字科技有限公司 | 一种真随机数生成方法及电路 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1199892A (zh) * | 1997-05-20 | 1998-11-25 | 安尼株式会社 | 根据通信双方的开始信息产生口令的加密通信系统 |
CN1879079A (zh) * | 2003-11-18 | 2006-12-13 | Atmel格勒诺布尔公司 | 随机二进制序列发生器 |
US20110066669A1 (en) * | 2009-09-14 | 2011-03-17 | Hitachi, Ltd | Physical random number generation device |
CN102375722A (zh) * | 2010-08-09 | 2012-03-14 | 中国科学技术大学 | 一种真随机数生成方法及发生器 |
CN102637122A (zh) * | 2011-09-14 | 2012-08-15 | 中国科学院空间科学与应用研究中心 | 基于物理噪声的奇偶性生成真随机数的方法及其系统 |
CN103049243A (zh) * | 2012-12-17 | 2013-04-17 | 深圳国微技术有限公司 | 真随机数产生方法及其装置 |
-
2014
- 2014-07-29 CN CN201410363819.4A patent/CN104133658A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1199892A (zh) * | 1997-05-20 | 1998-11-25 | 安尼株式会社 | 根据通信双方的开始信息产生口令的加密通信系统 |
CN1879079A (zh) * | 2003-11-18 | 2006-12-13 | Atmel格勒诺布尔公司 | 随机二进制序列发生器 |
US20110066669A1 (en) * | 2009-09-14 | 2011-03-17 | Hitachi, Ltd | Physical random number generation device |
CN102375722A (zh) * | 2010-08-09 | 2012-03-14 | 中国科学技术大学 | 一种真随机数生成方法及发生器 |
CN102637122A (zh) * | 2011-09-14 | 2012-08-15 | 中国科学院空间科学与应用研究中心 | 基于物理噪声的奇偶性生成真随机数的方法及其系统 |
CN103049243A (zh) * | 2012-12-17 | 2013-04-17 | 深圳国微技术有限公司 | 真随机数产生方法及其装置 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461457A (zh) * | 2014-12-30 | 2015-03-25 | 成都三零嘉微电子有限公司 | 一种真随机数发生器及其失调补偿控制方法 |
CN104461457B (zh) * | 2014-12-30 | 2017-04-19 | 成都三零嘉微电子有限公司 | 一种真随机数发生器及其失调补偿控制方法 |
CN105389544A (zh) * | 2015-10-21 | 2016-03-09 | 深圳市汇顶科技股份有限公司 | 输出转换电路及指纹识别系统 |
CN105389544B (zh) * | 2015-10-21 | 2018-04-17 | 深圳市汇顶科技股份有限公司 | 输出转换电路及指纹识别系统 |
US10204258B2 (en) | 2015-10-21 | 2019-02-12 | Shenzhen GOODIX Technology Co., Ltd. | Output conversion circuit and fingerprint identification system |
CN106528048A (zh) * | 2016-11-02 | 2017-03-22 | 北京旷视科技有限公司 | 评估随机数生成器质量的方法及装置 |
CN109271135A (zh) * | 2017-07-18 | 2019-01-25 | 展达通讯(苏州)有限公司 | 真随机数生成系统及其真随机数生成的方法 |
CN108736965A (zh) * | 2018-06-27 | 2018-11-02 | 钦州学院 | 一种无线通信方法及系统 |
CN108736965B (zh) * | 2018-06-27 | 2021-06-01 | 钦州学院 | 一种无线通信方法及系统 |
CN110321103A (zh) * | 2019-06-27 | 2019-10-11 | 北京信息科技大学 | 一种基于物理设备的真随机数生成方法及设备 |
CN117472327A (zh) * | 2023-10-23 | 2024-01-30 | 上海合芯数字科技有限公司 | 一种真随机数生成方法及电路 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104133658A (zh) | 一种片内真随机数生成器 | |
CN102375722B (zh) | 一种真随机数生成方法及发生器 | |
CN102637122B (zh) | 基于物理噪声的奇偶性生成真随机数的方法及其系统 | |
CN101364171B (zh) | 动态真随机数发生器 | |
CN103399726B (zh) | 一种流水线化的组合式伪随机数发生器 | |
Zhang et al. | FPGA implementation of Toeplitz hashing extractor for real time post-processing of raw random numbers | |
CN108776582A (zh) | 一种基于量子隧穿效应的真随机数序列产生方法 | |
CN106293616A (zh) | 基于时延反馈振荡器的真随机数生成器 | |
Ding et al. | Designing of chaotic system output sequence circuit based on FPGA and its applications in network encryption card | |
CN105227259B (zh) | 一种m序列并行产生方法和装置 | |
CN105354008A (zh) | 一种随机数生成器的输出电路及输出方法 | |
CN109117118A (zh) | 基于环形振荡器结构真随机数发生器的随机数提取方法 | |
CN105867878A (zh) | 一种高速并行真随机数发生器 | |
JP2013064898A (ja) | 擬似乱数生成装置、および、擬似乱数生成方法 | |
CN103034473B (zh) | 一种伪随机数生成器 | |
Siswanto et al. | Designing of quantum random number generator (QRNG) for security application | |
CN104994042B (zh) | 基于自相关函数的自同步扰码生成多项式的盲识别方法 | |
Tupparwar et al. | A hybrid true random number generator using ring oscillator and digital clock manager | |
CN106201436B (zh) | 基于双耦合斐波那契振荡环的真随机数生成器 | |
CN111078191A (zh) | 一种基于fpga硬件实现的伪随机数的生成方法 | |
CN104461452A (zh) | 片上系统中生成真随机数的方法及装置 | |
Guo et al. | Parallel and real-time post-processing for quantum random number generators | |
CN106325814B (zh) | 基于双环耦合振荡电路的真随机数生成器 | |
Devi et al. | Design of Hybrid True Random Number Generator for Cryptographic Applications. | |
CN114968176B (zh) | 一种超晶格物理熵源的瑞丽熵估计方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141105 |