CN103593161B - 基于真随机数发生器的全随机任意分数分频器及方法 - Google Patents
基于真随机数发生器的全随机任意分数分频器及方法 Download PDFInfo
- Publication number
- CN103593161B CN103593161B CN201310583857.6A CN201310583857A CN103593161B CN 103593161 B CN103593161 B CN 103593161B CN 201310583857 A CN201310583857 A CN 201310583857A CN 103593161 B CN103593161 B CN 103593161B
- Authority
- CN
- China
- Prior art keywords
- value
- interval
- frequency division
- random number
- division
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000004044 response Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 11
- 230000001186 cumulative effect Effects 0.000 abstract description 2
- 230000007246 mechanism Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000053 physical method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Landscapes
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
Abstract
本发明涉及一种基于真随机数发生器的全随机任意分数分频器及方法,将随机数取值范围分为能够对分频模值进行整除的整除区间和剩余区间。如果取到的随机数在整除区间,则按照数值大小比例进行分频,如果取到的随机数在剩余区间,则利用累加取模算法将不同分频值随机均匀地插入到输出分频序列中。由于整个过程基于随机数机制进行分频,整个分频过程输出的脉冲分布是全随机的,具有很好的安全性。
Description
技术领域
本发明涉及一种分频器及其方法,特别涉及一种基于HRNG(物理真随机数发生器)的全随机任意分数分频器及方法。
背景技术
随着计算机技术、通信技术、网络技术的迅速发展,信息在存储、传送、接收和处理过程中的安全问题已受到人们的广泛关注。随机数在信息安全系统中扮演着重要的角色,在基于计算机或internet的通信和交易中有着广泛的应用。比如数据加密、密钥管理、公钥和私钥的产生、电子商务、数字签名、身份鉴定以及蒙特卡罗仿真等都要用到随机数。
HRNG全称为物理真随机数发生器(Hardware Random NumeralGenerator),是指利用物理方法实现的随机数发生器。它是自然界随机的物理过程(所产物理现象的不确定性)的反映,即使算法等HRNG的所有信息都被暴露,都无法猜测其结果,即高质量的真随机数发生器产生的随机数永远不具备周期性。
真随机数发生器所产生的随机数来源于真实的随机物理过程,因而彻底地消除了伪随机数的周期性问题,只有真随机数发生器才能提供真正的、永不重复的随机数序列。这对于某些对随机数质量有特殊要求的应用有重要意义。此外,真随机数发生器产生的随机数与计算机的CPU无关,可用于某些要求独立地产生随机数的场合。
在数字逻辑电路设计中,分频器是一种基本电路。通常用来对某个给定频率进行分频,以得到所需的频率。整数分频器的实现非常简单,一般的整数分频器可以很容易地通过D触发器或者模N计数器来实现。但在某些场合下,时钟源与所需的频率不成整数倍关系,此时可采用小数分频器或者分数分频器进行分频。
分数分频的基本原理是采用脉冲吞吐计数器和锁相环技术先设计两个不同分频比的整数分频器,然后通过控制单位时间内两种分频比出现的不同次数来获得所需要的分数分频值。图1给出了一个常见的分数分频器结构,包括输出控制器、一个N分频分频器、一个(N+1)分频分频器。当控制器输出0时,系统输出N分频脉冲,当控制器输出1时,系统输出(N+1)分频脉冲。给定分频比例Q/P后,通过控制控制器输出0和1的比例即可实现Q/P分数分频输出。如设计一个分频系数为5/2的分频器时,可以将分频器设计成1次2分频,1次3分频,这样总的分频值=(1×2+1×3)/(2)=5/2。但是,图1中所示的普通分数分频器,不管采用什么输出算法,其输出的脉冲序列总是相对固定的,容易破解,安全性较差。
发明内容
本发明的目的是提供一种基于真随机数发生器的全随机任意分数分频器及方法,使得分频后脉冲的输出分布在整个分频过程中具有完全的随机性,大大提高了产品的安全性。
为了达到上述目的,本发明的一个技术方案是提供一种基于真随机数发生器的全随机任意分数分频方法,其包含以下步骤:
步骤1、对设定的分频比例Q/P进行分析,从中提取组合脉冲分频值N,N+1及组合脉冲输出比例(P-M)/M;
其中,(P-M)为一个输出周期内N分频脉冲个数,M为一个输出周期内(N+1)分频脉冲个数;
步骤2、根据步骤1提取的组合脉冲输出比例,将随机数取值范围进行划分,能够整除N的数值区间为整除区间,剩下的数值区间为剩余区间;
步骤3、如果随机数取值落在整除区间的,进一步有:
步骤3.1、如果随机数取值整除区间中的N分频比例区间,输出N分频;
步骤3.2、如果随机数取值整除区间中的(N+1)分频比例区间,输出(N+1)分频;
步骤4、如果随机数取值落在剩余区间的,进一步有:
步骤4.1、将累加值初始值设为0,并对累加值以步长M进行累加;
步骤4.2、判断累加后的累加值S是否大于模值P;
步骤4.3、累加值S小于模值P,输出N分频;
步骤4.4、累加值S大于等于模值P,将累加值进行模P操作,输出(N+1)分频。
优选地,所述的步骤1中,设定分数分频器的分频比例,即输入脉冲个数/输出脉冲个数=Q/P,其中Q,P∈(0,255],Q>P;
将分频比例进行变换Q/P=N*P+M=(P-M)*N+M*(N+1)。
优选地,所述的步骤2中,将随机数取值区间根据步骤1中计算得到的分频比例划分为整除区间[0,A*P-1]和剩余区间[A*P,255],A为整除倍数。
优选地,所述的步骤3.1中,进一步确定取得的随机数是否属于N分频比例范围[0,A*(P-M)],如果取得的随机数属于此范围,输出N分频。
优选地,所述的步骤3.2中,进一步确定取得的随机数是否属于(N+1)分频比例范围[A*(P-M),A*P-1],如果取得的随机数属于此范围,输出(N+1)分频。
本发明的另一个技术方案是提供一种基于真随机数发生器的全随机任意分数分频器,用于实现上述的全随机任意分数分频方法,所述全随机任意分数分频器中,包含:
随机数发生器模块,生成随机数;
控制器,根据设定的分频比例Q/P,以随机数取值的不同来输出相应的分频命令;该命令为0值或1值;
一个N分频分频器,根据所述控制器输出的0值的命令来输出N分频;
一个(N+1)分频分频器,根据所述控制器输出的1值的命令来输出N+1分频;
所述全随机任意分数分频器,根据随机数取值控制所述控制器输出0值和1值的比例来实现全随机的Q/P分数分频输出;其中,
所述控制器根据Q/P=N*P+M=(P-M)*N+M*(N+1)对分频比例进行变换,来提取组合脉冲分频值N,N+1及组合脉冲输出比例(P-M)/M;Q,P∈(0,255],Q>P;
所述控制器将所述随机数中能够整除N的数值区间划分为整除区间[0,A*P-1],剩下的数值区间划分为剩余区间[A*P,255],A为整除倍数;
所述控制器对于随机数取值落在整除区间中N分频比例区间[0,A*(P-M)]的情况会输出0值的命令,对于取值落在整除区间中(N+1)分频比例区间的情况会输出1值的命令;
所述控制器对于随机数取值落在剩余区间的情况,会在初始值0上以步长M进行累加,当判断累加后的累加值S小于模值P时会输出0值的命令;而当判断累加后的累加值S大于等于模值P时,对累加值S执行模P操作S=S mod P,并输出1值的命令,从而保证随机数取值落在剩余区间时,输出脉冲具有相应的Q/P分频比。
与现有技术相比,本发明所述基于真随机数发生器的全随机任意分数分频器及方法,能够克服现有分频器脉冲序列相对固定的问题。本发明的分频方案中对于整除区间和剩余区间划分的方法,充分利用随机数取值区间将整除区间尽量最大化。本发明由于在整除区间和剩余区间都基于随机数模块输出分频序列,在整个分频过程都继承了随机数模块的随机性,并且对整除区间和剩余区间都由相应的脉冲输出算法保证了输出脉冲的Q/P分频比,既实现了任意分数分频算法,又保证了输出脉冲了随机性,大大提高了产品的安全性。
附图说明
图1是基本分频器的原理框图;
图2是本方案所述基于HRNG的全随机任意分数分频器的原理框图;
图3是本发明所述基于HRNG的全随机任意分数分频方法的原理图。
具体实施方式
以下根据图2-图3,具体说明本发明的较佳实施实例。
图2为本方案的全随机任意分数分频器结构,包括随机数发生器HRNG模块、根据随机数取值输出不同分频命令的控制器模块、一个N分频分频器、一个(N+1)分频分频器。给定分频比例Q/P后,通过随机数取值控制控制器输出0和1的比例即可实现全随机的Q/P分数分频输出。
如图3所示,本文提出的基于HRNG的全随机任意分数分频方案,主要包含以下步骤:
步骤1、对设定分频比例Q/P进行分析,提取组合脉冲分频值N,N+1及组合脉冲输出比例(P-M)/M;
设Q/P=P*N+M;其中商为N,余数为M,由于余数M<除数P,(P-M)>0,则上式可以变换为Q/P=P*N+M=(P-M)*N+M*(N+1);则Q/P分频可以看成(P-M)个N分频和M个(N+1)分频,其中分频值N和(N+1)来自除式中的商,而P-M和M来自除式中的余数。
这样,在P个节拍内,有(P-M)个节拍输出N分频,M个节拍输出(N+1)分频,从而在平均意义上获得指定的分频比Q/P。
步骤2、根据步骤1提取的组合脉冲输出比例,将随机数取值范围划分为整除区间及剩余区间,且为了充分利用随机数取值区间和简化算法,将整除区间尽量最大化;
采用随机数方式划分输出分频脉冲比例最简单的情况,就是N分频与(N+1)分频比例与随机数取值范围成比例关系,如希望输出的N分频与(N+1)分频比例为5/3,对应的随机数取值范围为[0-7],则随机数取值在[0-4]时输出N分频,随机数取值在[5-7]时输出(N+1)分频。而对于大多数情况这种巧合并不会经常出现。本文所用HRNG模块的取值范围为[0-255],对于给定任意分数分频要求,将整数映射区间最大化,则存在与输出N分频(N+1)分频值之和P成比例的整除区间[0,A*P-1](A为整除倍数),和剩余的无法实现比例对应的剩余区间[A*P,255]。
步骤3、如果随机数取值落在整除区间,则需进一步确定随机数取值按比例落在N分频输出区间还是(N+1)分频区间。
步骤3.1、如果随机数取值整除区间中的N分频比例区间,输出N分频。根据步骤1的推导,N分频与N分频脉冲输出个数比例为(P-M)/M当随机数取值∈[0,A*(P-M)-1],输出N分频。
步骤3.2、如果随机数取值整除区间中的(N+1)分频比例区间,输出(N+1)分频。根据步骤1的推导,N分频与N分频脉冲输出个数比例为(P-M)/M当随机数取值∈[A*(P-M),A*P-1],输出(N+1)分频。
步骤4、如果随机数取值落在剩余区间,则不能再简单地采用前面比例输出的方式,而需要采用一定算法将落在此区间的节拍按照Q/P分频比例输出。这里采用的是根据步骤1分析得出的模和步长的累加取模算法。
步骤4.1、将累加值以步长M进行累加;
步骤4.2、判断累加后的累加值S是否大于模值P;
步骤4.3、累加值S小于模值P,输出N分频;
步骤4.4、累加值S大于等于模值P,输出(N+1)分频。
一个具体的示例如下:
设定分频比例为23/9分频,则23/9=(2*9+5)/9=(4*2+5*3)/9,即P=9,M=5,P-M=4则23/9分频在一个节拍周期中由4个2分频和5个3分频构成。因此,确定分频基值N=2,模P=9,步长D=5。
随机数取值范围[0-255],将整数映射区间最大化,256=28*9+4,则[0-251]为整数映射区间,[252-255]为剩余空间。随机数取值范围在[0-111]时输出2分频,在[112-251]时输出3分频;而在[252-255]时将分频值采用累加取模算法后均匀插入。
本例中剩余空间分频值累加取模算法方法为:
设置累加值初始值S=0;累加步长D=5;累加模值P=9;
每次随机数取值进入剩余空间,判断累加值是否小于模值9,如果是,输出2分频,否则执行模9运算,输出3分频。
剩余区间分频过程如下:
节拍 | 累加值 | 分频值 |
1 | 5 | 2 |
2 | 10mod9=1 | 3 |
3 | 6 | 2 |
4 | 11mod9=2 | 3 |
5 | 7 | 2 |
6 | 12mod9=3 | 3 |
7 | 8 | 2 |
8 | 13mod9=4 | 3 |
9 | 9mod9=0 | 3 |
上述示例为9次取值在剩余区间的分频情况分布,其中4次2分频,5次3分频。
由上述实施实例可以看出:
1.在整除区间上平均分频比=[(111+1)*2+(251-111)*3]/252=23/9;
2.在剩余空间上平均分频比=(4*2+5*3)/9=23/9;
3.在整个随机数取值区间平均分频比23/9。
由于整个分频过程基于HRNG模块取值进行运算,输出脉冲在整个随机数取值区间具有随机性。
综上所述,本发明的分频方案提供了一种基于HRNG对输入时钟进行任意分数分频的算法。将随机数取值范围分为能够对分频模值进行整除的整除区间和剩余区间。如果取到的随机数在整数映射区间,则按照数值大小比例进行分频,如果取到的随机数在剩余区间,则利用累加取模算法将不同分频值随机均匀地插入到输出分频序列中。由于整个过程基于随机数机制进行分频,整个分频过程输出的脉冲分布是全随机的,具有很好的安全性。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
Claims (6)
1.一种基于真随机数发生器的全随机任意分数分频方法,其特征在于,包含以下步骤:
步骤1、对设定的分频比例Q/P进行分析,从中提取组合脉冲分频值N,N+1及组合脉冲输出比例(P-M)/M;
其中,(P-M)为一个输出周期内N分频脉冲个数,M为一个输出周期内(N+1)分频脉冲个数;
步骤2、根据步骤1提取的组合脉冲输出比例,将随机数取值范围进行划分,能够整除P的数值区间为整除区间,剩下的数值区间为剩余区间;
步骤3、如果随机数取值落在整除区间的,进一步有:
步骤3.1、如果随机数取值整除区间中的N分频比例区间,输出N分频;
步骤3.2、如果随机数取值整除区间中的(N+1)分频比例区间,输出(N+1)分频;
步骤4、如果随机数取值落在剩余区间的,进一步有:
步骤4.1、将累加值初始值设为0,并对累加值以步长M进行累加;
步骤4.2、判断累加后的累加值S是否大于模值P;
步骤4.3、累加值S小于模值P,输出N分频;
步骤4.4、累加值S大于等于模值P,将累加值进行模P操作,输出(N+1)分频。
2.如权利要求1所述的方法,其特征在于:
所述的步骤1中,设定分数分频器的分频比例,即输入脉冲个数/输出脉冲个数=Q/P,其中Q,P∈(0,255],Q>P;
将分频比例进行变换Q/P=N*P+M=(P-M)*N+M*(N+1)。
3.如权利要求2所述的方法,其特征在于:
所述的步骤2中,将随机数取值区间根据步骤1中计算得到的分频比例划分为整除区间[0,A*P-1]和剩余区间[A*P,255],A为整除倍数。
4.如权利要求3所述的方法,其特征在于:
所述的步骤3.1中,进一步确定取得的随机数是否属于N分频比例范围[0,A*(P-M)],如果取得的随机数属于此范围,输出N分频。
5.如权利要求4所述的方法,其特征在于:
所述的步骤3.2中,进一步确定取得的随机数是否属于(N+1)分频比例范围[A*(P-M),A*P-1],如果取得的随机数属于此范围,输出(N+1)分频。
6.一种基于真随机数发生器的全随机任意分数分频器,用于实现如权利要求1所述的全随机任意分数分频方法,其特征在于,所述全随机任意分数分频器中,包含:
随机数发生器模块,生成随机数;
控制器,根据设定的分频比例Q/P,以随机数取值的不同来输出相应的分频命令;该命令为0值或1值;
一个N分频分频器,根据所述控制器输出的0值的命令来输出N分频;
一个(N+1)分频分频器,根据所述控制器输出的1值的命令来输出N+1分频;
所述全随机任意分数分频器,根据随机数取值控制所述控制器输出0值和1值的比例来实现全随机的Q/P分数分频输出;其中,
所述控制器根据Q/P=N*P+M=(P-M)*N+M*(N+1)对分频比例进行变换,来提取组合脉冲分频值N,N+1及组合脉冲输出比例(P-M)/M;Q,P∈(0,255],Q>P;
所述控制器将所述随机数中能够整除N的数值区间划分为整除区间[0,A*P-1],剩下的数值区间划分为剩余区间[A*P,255],A为整除倍数;
所述控制器对于随机数取值落在整除区间中N分频比例区间[0,A*(P-M)]的情况会输出0值的命令,对于取值落在整除区间中(N+1)分频比例区间的情况会输出1值的命令;
所述控制器对于随机数取值落在剩余区间的情况,会在初始值0上以步长M进行累加,当判断累加后的累加值S小于模值P时会输出0值的命令;而当判断累加后的累加值S大于等于模值P时,对累加值S执行模P操作S=S mod P,并输出1值的命令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310583857.6A CN103593161B (zh) | 2013-11-20 | 2013-11-20 | 基于真随机数发生器的全随机任意分数分频器及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310583857.6A CN103593161B (zh) | 2013-11-20 | 2013-11-20 | 基于真随机数发生器的全随机任意分数分频器及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103593161A CN103593161A (zh) | 2014-02-19 |
CN103593161B true CN103593161B (zh) | 2016-08-17 |
Family
ID=50083331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310583857.6A Active CN103593161B (zh) | 2013-11-20 | 2013-11-20 | 基于真随机数发生器的全随机任意分数分频器及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103593161B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106549667B (zh) * | 2015-09-22 | 2019-11-15 | 大唐半导体设计有限公司 | 数字小数分频器及其分频方法 |
CN106775584B (zh) * | 2016-12-08 | 2019-06-04 | 上海爱信诺航芯电子科技有限公司 | 一种抵抗侵入式攻击的真随机数发生器 |
CN116225372B (zh) * | 2023-02-28 | 2024-09-13 | 成都电科星拓科技有限公司 | 一种均匀分布的抖动伪随机数生成方法、设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3132810B2 (ja) * | 1997-02-21 | 2001-02-05 | 松下電器産業株式会社 | 拡散型分数分周器 |
US6600378B1 (en) * | 2002-01-18 | 2003-07-29 | Nokia Corporation | Fractional-N frequency synthesizer with sine wave generator |
JP4827764B2 (ja) * | 2007-02-20 | 2011-11-30 | 富士通セミコンダクター株式会社 | 分数分周pll装置、およびその制御方法 |
CN101789781A (zh) * | 2010-01-08 | 2010-07-28 | 盐城师范学院 | 基于fpga的任意数值分频器实现方法 |
-
2013
- 2013-11-20 CN CN201310583857.6A patent/CN103593161B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN103593161A (zh) | 2014-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | Delay-introducing method to improve the dynamical degradation of a digital chaotic map | |
Güneysu et al. | Cryptanalysis with COPACOBANA | |
KR101987141B1 (ko) | 난수 발생기 | |
AU2021200063B2 (en) | Systems and computer-implemented methods for generating pseudo random numbers | |
US9772819B2 (en) | Apparatus and method for generating physical random numbers | |
Katti et al. | Pseudorandom bit generation using coupled congruential generators | |
JP2013131867A (ja) | 個体別情報生成装置及び個体別情報生成方法 | |
US11451387B2 (en) | Cryptographic key generation and storage | |
Veljković et al. | Low-cost implementations of on-the-fly tests for random number generators | |
Balasch et al. | Design and testing methodologies for true random number generators towards industry certification | |
CN103593161B (zh) | 基于真随机数发生器的全随机任意分数分频器及方法 | |
US9384682B2 (en) | Electronic circuit, electronic apparatus, and authentication system | |
Stefanov et al. | FastPRP: Fast pseudo-random permutations for small domains | |
Garipcan et al. | Design, FPGA implementation and statistical analysis of a high-speed and low-area TRNG based on an AES s-box post-processing technique | |
US11411726B2 (en) | Cryptographic key generation using multiple random sources | |
CN103701591A (zh) | 一种序列密码实现方法和密钥流生成方法及装置 | |
Nikolic et al. | Advancement of true random number generators based on sound cards through utilization of a new post-processing method | |
CN105607687B (zh) | 一种抗旁路攻击的时钟串扰实现方法 | |
US11171949B2 (en) | Generating authentication information utilizing linear feedback shift registers | |
CN106330425A (zh) | 基于一维移位相乘混沌序列的产生方法 | |
CN106470108B (zh) | 一种生成目标事件的口令的方法及装置 | |
Fischer et al. | True random number generators in configurable logic devices | |
CN110224840B (zh) | 基于区块链的打包方法及装置 | |
Wang et al. | Chaotic pseudorandom bit generator using n-dimensional nonlinear digital filter | |
Öztürk et al. | A Dual Entropy-Based Digital Random Number Generator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 200233 Room 704, Building 2, No. 2570 Hechuan Road, Minhang District, Shanghai Patentee after: Shanghai Hangxin Electronic Technology Co.,Ltd. Address before: 200241, building 6, building 555, No. 8, Dongchuan Road, Shanghai, Minhang District Patentee before: SHANGHAI AISINOCHIP ELECTRONIC TECHNOLOGY Co.,Ltd. |