CN102707923A - 一种伪随机数生成电路及伪随机数产生方法 - Google Patents
一种伪随机数生成电路及伪随机数产生方法 Download PDFInfo
- Publication number
- CN102707923A CN102707923A CN2012101189473A CN201210118947A CN102707923A CN 102707923 A CN102707923 A CN 102707923A CN 2012101189473 A CN2012101189473 A CN 2012101189473A CN 201210118947 A CN201210118947 A CN 201210118947A CN 102707923 A CN102707923 A CN 102707923A
- Authority
- CN
- China
- Prior art keywords
- random number
- register
- shift register
- source
- xor
- 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
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
Abstract
本发明公开了一种伪随机数生成电路及伪随机数产生方法,其伪随机数生成电路包括分别由移位寄存器和异或模块构成的多路移位反馈电路;第一路移位反馈电路中的第一移位寄存器的输入端与源寄存器Rm的输出端连接,第一异或模块的第一、第二输入端分别与源寄存器Rm和源寄存器Rn的输出端连接,其输出端接入第一移位寄存器;第二-k路移位反馈电路中的移位寄存器和异或模块的第一输入端依次与其前一路移位反馈电路中的移位寄存器输出端连接,第二-k路移位反馈电路中异或模块的第二输入端分别与源寄存器Rn的输出端并联连接。一直生成所需的伪随机数,可以满足数字处理器运算部件所需伪随机数的要求。
Description
技术领域
本发明涉及一种伪随机数生成电路及伪随机数产生方法,属计算机数据领域。
背景技术
在通常情况下,随机数在传统上被用于加密算法,对随机数的统计随机性的要求并不是很高,但是要求所产生的随机数是不可预测的。真正的随机数很少使用,比随机数更容易产生的伪随机数往往会被更频繁的应用,因为它们容易操作和处理。
真正的随机数,具有分布一致性和独立性,序列中的随机数分布是一致的,即出现的频率大致相等,不能有其它数导出。一般情况下,经过密码算法得到的这种近乎随机的数称为伪随机数。
发明内容
本发明的目的在于提供一种能够满足BWDSP100处理器运算部件性能要求的伪随机数生成电路及产生方法,要求简单实用,在一定范围伪随机数不重复,而且可以随时改变伪随机数产生的初始值和算法重新计算。
其技术方案是:一种伪随机数生成电路,其特征在于:包括分别由移位寄存器和异或模块构成的多路移位反馈电路;第一路移位反馈电路中的第一移位寄存器的输入端与源寄存器Rm的输出端连接,第一异或模块的第一、第二输入端分别与源寄存器Rm和源寄存器Rn的输出端连接,其输出端接入第一移位寄存器;第二-k路移位反馈电路中的移位寄存器和异或模块的第一输入端依次与其前一路移位反馈电路中的移位寄存器输出端连接,第二-k路移位反馈电路中异或模块的第二输入端分别与源寄存器Rn的输出端并联连接。
伪随机数产生方法,包含以下步骤:
1)在源寄存器Rm中存入32位随机数的初始值m0;
2)在源寄存器Rn中存入32位随机数初始值n;
3)第一路移位反馈电路中的第一移位寄存器将输入的源寄存器Rm中32位随机数初始值m0左移一位,第一异或模块是对Rm中初始值m0本身进行 异或运算,参与异或运算的数据由源寄存器Rn中32位随机数初始值n确定,选择n中是‘1’的那些位来屏蔽m0的相应位,选出m0中被屏蔽的那些位进行异或,得到1位运算结果,并将其反馈补入随机数初始值m0左移一位后空出的最低位,第一移位寄存器输出伪随机数m1;
4)第二-k路移位反馈电路中的第二--k移位寄存器和异或模块依次将其前一路移位反馈电路中移位寄存器输出的m1、m2...伪随机数,作为其初始值输入,该路的移位寄存器左移一位,相应的异或模块是对m1、m2...本身进行异或运算,参与异或运算的数据由源寄存器Rn中32位随机数初始值n确定,选择n中是‘1’的那些位来屏蔽m1、m2...的相应位,选出m1、m2...中被屏蔽的那些位进行异或,得到1位运算结果,并将其反馈补入随机数m1、m2...左移一位后空出的最低位,从而得到第二--k移位寄存器输出的伪随机数m2-mk。
其技术效果:本发明应用于BWDSP100处理器的运算部件,可以满足处理器性能的要求,程序员可以在通过调用产生伪随机数的指令产生一个伪随机序列。在一定范围伪随机数不重复,而且可以随时改变伪随机数产生的初始值和算法重新计算。
附图说明
图1是本发明的伪随机数生成电路结构示意图;
图2是移位器2左移位示意图;
图3是第二异或模块2结构示意图;
图4是移位器2右移位示意图。
具体实施方式
如图1所示,一种伪随机数生成电路,其特征在于:包括分别由移位寄存器和异或模块构成的多路移位反馈电路;第一路移位反馈电路中的第一移位寄存器的输入端与源寄存器Rm的输出端连接,第一异或模块的第一、第二输入端分别与源寄存器Rm和源寄存器Rn的输出端连接,其输出端接入第一移位寄存器;第二-k路移位反馈电路中的移位寄存器和异或模块的第一输入端依次与其前一路移位反馈电路中的移位寄存器输出端连接,第二-k路移位反馈电路中异或模块的第二输入端分别与源寄存器Rn的输出端并联连接。
伪随机数产生方法,包含以下步骤(见图2):
1)在源寄存器Rm中存入32位随机数的初始值m0;
2)在源寄存器Rn中存入32位随机数初始值n;
3)第一路移位反馈电路中的第一移位寄存器将输入的源寄存器Rm中32位随机数初始值m0左移一位,第一异或模块是对Rm中初始值m0本身进行异或运算,参与异或运算的数据由源寄存器Rn中32位随机数初始值n确定,选择n中是‘1’的那些位来屏蔽m0的相应位,选出m0中被屏蔽的那些位进行异或,得到1位运算结果x1,并将其反馈补入随机数初始值m0左移一位后空出的最低位,第一移位寄存器输出伪随机数m1;
4)第二-k路移位反馈电路中的第二--k移位寄存器和异或模块依次将其前一路移位反馈电路中移位寄存器输出的m1、m2...伪随机数,作为其初始值输入,该路的移位寄存器左移一位,相应的异或模块是对m1、m2...本身进行异或运算,参与异或运算的数据由源寄存器Rn中32位随机数初始值n确定,选择n中是‘1’的那些位来屏蔽m1、m2...的相应位,选出m1、m2...中被屏蔽的那些位进行异或,得到1位运算结果x2...xk,并将其反馈补入随机数m1、m2...左移一位后空出的最低位,从而得到第二--k移位寄存器输出的伪随机数m2-mk。
上述生成的伪随机数m1-mk,在小于0Xffffffff范围内伪随机数不重复,当重复次数大于0Xffffffff时,伪随机数则会重复。
将上述步骤中所有移位器左移位改为右移位,其步骤与左移位相同(移位结构图见图4),则可得到另一种伪随机数数值,在此不再赘述。
Claims (3)
1.一种伪随机数生成电路,其特征在于:包括分别由移位寄存器和异或模块构成的多路移位反馈电路;第一路移位反馈电路中的第一移位寄存器的输入端与源寄存器Rm的输出端连接,第一异或模块的第一、第二输入端分别与源寄存器Rm和源寄存器Rn的输出端连接,其输出端接入第一移位寄存器;第二-k路移位反馈电路中的移位寄存器和异或模块的第一输入端依次与其前一路移位反馈电路中的移位寄存器输出端连接,第二-k路移位反馈电路中异或模块的第二输入端分别与源寄存器Rn的输出端并联连接。
2.根据权利要求1所述的一种伪随机数生成电路,其特征在于伪随机数产生方法:
1)在源寄存器Rm中存入32位随机数的初始值m0;
2)在源寄存器Rn中存入32位随机数初始值n;
3)第一路移位反馈电路中的第一移位寄存器将输入的源寄存器Rm中32位随机数初始值m0左移一位,第一异或模块是对Rm中初始值m0本身进行异或运算,参与异或运算的数据由源寄存器Rn中32位随机数初始值n确定,选择n中是‘1’的那些位来屏蔽m0的相应位,选出m0中被屏蔽的那些位进行异或,得到1位运算结果,并将其反馈补入随机数初始值m0左移一位后空出的最低位,第一移位寄存器输出伪随机数m1;
4)第二-k路移位反馈电路中的第二--k移位寄存器和异或模块依次将其前一路移位反馈电路中移位寄存器输出的m1、m2...伪随机数,作为其初始值输入,该路的移位寄存器左移一位,相应的异或模块是对m1、m2...本身进行异或运算,参与异或运算的数据由源寄存器Rn中32位随机数初始值n确定,选择n中是‘1’的那些位来屏蔽m1、m2...的相应位,选出m1、m2...中被屏蔽的那些位进行异或,得到1位运算结果,并将其反馈补入随机数m1、m2...左移一位后空出的最低位,第二--k移位寄存器输出伪随机数m2-mk。
3.根据权利要求2所述的一种伪随机数生成电路,其特征在于:所述生成的伪随机数m1-mk,在小于0Xffffffff范围内伪随机数不重复,当重复次数大于0Xffffffff时,伪随机数就会重复。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101189473A CN102707923A (zh) | 2011-04-25 | 2012-04-21 | 一种伪随机数生成电路及伪随机数产生方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110102680.4 | 2011-04-25 | ||
CN201110102680 | 2011-04-25 | ||
CN2012101189473A CN102707923A (zh) | 2011-04-25 | 2012-04-21 | 一种伪随机数生成电路及伪随机数产生方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102707923A true CN102707923A (zh) | 2012-10-03 |
Family
ID=46900755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012101189473A Pending CN102707923A (zh) | 2011-04-25 | 2012-04-21 | 一种伪随机数生成电路及伪随机数产生方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102707923A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103838545A (zh) * | 2012-11-22 | 2014-06-04 | 西安元朔科技有限公司 | 一种随机数生成方法 |
CN105159653A (zh) * | 2015-08-18 | 2015-12-16 | 珠海市一微半导体有限公司 | 随机数后处理电路及方法 |
US10007488B2 (en) | 2016-10-10 | 2018-06-26 | International Business Machines Corporation | Secured pseudo-random number generator |
CN110569161A (zh) * | 2019-09-16 | 2019-12-13 | 河海大学常州校区 | 一种基于反馈移位寄存器的电路故障注入系统 |
CN116382634A (zh) * | 2023-05-29 | 2023-07-04 | 牛芯半导体(深圳)有限公司 | 伪随机码生成电路、方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030204541A1 (en) * | 2002-04-24 | 2003-10-30 | Hewlett Packard Company | Seedable pseudo-random number generator |
CN1914590A (zh) * | 2004-01-30 | 2007-02-14 | 日本胜利株式会社 | 伪随机数生成装置以及伪随机数生成程序 |
CN101019099A (zh) * | 2004-09-22 | 2007-08-15 | 诺基亚公司 | 用于生成伪随机数的方法和装置 |
CN101673351A (zh) * | 2008-09-11 | 2010-03-17 | 北京同方微电子有限公司 | 一种射频识别标签芯片的伪随机数产生电路及其产生方法 |
-
2012
- 2012-04-21 CN CN2012101189473A patent/CN102707923A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030204541A1 (en) * | 2002-04-24 | 2003-10-30 | Hewlett Packard Company | Seedable pseudo-random number generator |
CN1914590A (zh) * | 2004-01-30 | 2007-02-14 | 日本胜利株式会社 | 伪随机数生成装置以及伪随机数生成程序 |
CN101019099A (zh) * | 2004-09-22 | 2007-08-15 | 诺基亚公司 | 用于生成伪随机数的方法和装置 |
CN101673351A (zh) * | 2008-09-11 | 2010-03-17 | 北京同方微电子有限公司 | 一种射频识别标签芯片的伪随机数产生电路及其产生方法 |
Non-Patent Citations (1)
Title |
---|
束礼宝,宋克柱,王砚方: "伪随机数发生器的FPGA实现与研究", 《电路与系统学报》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103838545A (zh) * | 2012-11-22 | 2014-06-04 | 西安元朔科技有限公司 | 一种随机数生成方法 |
CN105159653A (zh) * | 2015-08-18 | 2015-12-16 | 珠海市一微半导体有限公司 | 随机数后处理电路及方法 |
CN105159653B (zh) * | 2015-08-18 | 2018-03-20 | 珠海市一微半导体有限公司 | 随机数后处理电路及方法 |
US10007488B2 (en) | 2016-10-10 | 2018-06-26 | International Business Machines Corporation | Secured pseudo-random number generator |
US10078493B2 (en) | 2016-10-10 | 2018-09-18 | International Business Machines Corporation | Secured pseudo-random number generator |
CN110569161A (zh) * | 2019-09-16 | 2019-12-13 | 河海大学常州校区 | 一种基于反馈移位寄存器的电路故障注入系统 |
CN110569161B (zh) * | 2019-09-16 | 2022-09-09 | 河海大学常州校区 | 一种基于反馈移位寄存器的电路故障注入系统 |
CN116382634A (zh) * | 2023-05-29 | 2023-07-04 | 牛芯半导体(深圳)有限公司 | 伪随机码生成电路、方法 |
CN116382634B (zh) * | 2023-05-29 | 2023-08-08 | 牛芯半导体(深圳)有限公司 | 伪随机码生成电路、方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5141910B2 (ja) | Sms4暗号アルゴリズムを実現する暗号化および復号化処理方法とそのシステム | |
CN102707923A (zh) | 一种伪随机数生成电路及伪随机数产生方法 | |
JP2020119313A (ja) | 乱数生成器、半導体装置、及びプログラム | |
US8880574B2 (en) | State machine and generator for generating a description of a state machine feedback function | |
WO2012016588A1 (en) | Bit sequence generator | |
CN103812596B (zh) | 伪随机序列的生成方法和装置 | |
Kaps et al. | Energy scalable universal hashing | |
CN101431405B (zh) | Des加密方法及其硬件电路实现方法 | |
KR20120070873A (ko) | 부채널 방지 마스킹 덧셈 연산 장치 | |
CN101295237B (zh) | 求商和余数的高速除法器 | |
Chen et al. | FPGA realization of low register systolic all-one-polynomial multipliers over $ GF (2^{m}) $ and their applications in trinomial multipliers | |
US9619206B2 (en) | Pseudo-random bit sequence generator | |
JP2006072891A (ja) | セルオートマトンに基づく、制御可能な周期を有する擬似乱数シーケンスの生成方法および装置 | |
JP2009124499A (ja) | ランダムエラー発生装置、m系列発生回路及びその設計方法 | |
TWI387921B (zh) | 利用中央極限定理之常態分佈亂數產生器及其亂數產生方法 | |
Shao et al. | Low-complexity digit-level systolic Gaussian normal basis multiplier | |
CN102904715A (zh) | 基于耦合混沌映射系统的并行伪随机比特发生器 | |
Abed et al. | FPGA implementation of a modified advanced encryption standard algorithm | |
CN104462023A (zh) | 基于mapreduce框架的超大规模稀疏矩阵乘法运算的方法 | |
Guo et al. | Parallel and real-time post-processing for quantum random number generators | |
Li et al. | Low complexity bit-parallel $ GF (2^ m) $ multiplier for all-one polynomials | |
CN115113847B (zh) | 基于fcsr级联反馈的伪随机数生成器及生成方法 | |
US11750369B2 (en) | Circuit module of single round advanced encryption standard | |
Sriram et al. | A high throughput area time efficient pseudo uniform random number generator based on the TT800 algorithm | |
JP2022103663A (ja) | 画像処理装置、画像処理装置の画像処理方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C05 | Deemed withdrawal (patent law before 1993) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121003 |