CN102707923A - 一种伪随机数生成电路及伪随机数产生方法 - Google Patents

一种伪随机数生成电路及伪随机数产生方法 Download PDF

Info

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
Application number
CN2012101189473A
Other languages
English (en)
Inventor
马强
郭二辉
宋何娟
钟小艳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 38 Research Institute
Original Assignee
CETC 38 Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CETC 38 Research Institute filed Critical CETC 38 Research Institute
Priority to CN2012101189473A priority Critical patent/CN102707923A/zh
Publication of CN102707923A publication Critical patent/CN102707923A/zh
Pending legal-status Critical Current

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时,伪随机数就会重复。
CN2012101189473A 2011-04-25 2012-04-21 一种伪随机数生成电路及伪随机数产生方法 Pending CN102707923A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 北京同方微电子有限公司 一种射频识别标签芯片的伪随机数产生电路及其产生方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
束礼宝,宋克柱,王砚方: "伪随机数发生器的FPGA实现与研究", 《电路与系统学报》 *

Cited By (9)

* Cited by examiner, † Cited by third party
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