一种伪随机数生成电路及伪随机数产生方法技术

技术编号:7865332 阅读:306 留言:0更新日期:2012-10-15 00:31
本发明专利技术公开了一种伪随机数生成电路及伪随机数产生方法,其伪随机数生成电路包括分别由移位寄存器和异或模块构成的多路移位反馈电路;第一路移位反馈电路中的第一移位寄存器的输入端与源寄存器Rm的输出端连接,第一异或模块的第一、第二输入端分别与源寄存器Rm和源寄存器Rn的输出端连接,其输出端接入第一移位寄存器;第二-k路移位反馈电路中的移位寄存器和异或模块的第一输入端依次与其前一路移位反馈电路中的移位寄存器输出端连接,第二-k路移位反馈电路中异或模块的第二输入端分别与源寄存器Rn的输出端并联连接。一直生成所需的伪随机数,可以满足数字处理器运算部件所需伪随机数的要求。

【技术实现步骤摘要】

本专利技术涉及,属计算机数据领域。
技术介绍
在通常情况下,随机数在传统上被用于加密算法,对随机数的统计随机性的要求并不是很高,但是要求所产生的随机数是不可预测的。真正的随机数很少使用,比随机数更容易产生的伪随机数往往会被更频繁的应用,因为它们容易操作和处理。真正的随机数,具有分布一致性和独立性,序列中的随机数分布是一致的,即出现的频率大致相等,不能有其它数导出。一般情况下,经过密码算法得到的这种近乎随机的数 称为伪随机数。
技术实现思路
本专利技术的目的在于提供一种能够满足BWDSP100处理器运算部件性能要求的伪随机数生成电路及产生方法,要求简单实用,在一定范围伪随机数不重复,而且可以随时改变伪随机数产生的初始值和算法重新计算。其技术方案是一种伪随机数生成电路,其特征在于包括分别由移位寄存器和异或模块构成的多路移位反馈电路;第一路移位反馈电路中的第一移位寄存器的输入端与源寄存器Rm的输出端连接,第一异或模块的第一、第二输入端分别与源寄存器Rm和源寄存器Rn的输出端连接,其输出端接入第一移位寄存器;第二-k路移位反馈电路中的移位寄存器和异或模块的第一输入端依次与其前一路移位反馈电路中的移位寄存器输出端连接,第二 _k路移位反馈电路中异或模块的第二输入端分别与源寄存器Rn的输出端并联连接。伪随机数产生方法,包含以下步骤I)在源寄存器Rm中存入32位随机数的初始值m0 ;2)在源寄存器Rn中存入32位随机数初始值n ;3)第一路移位反馈电路中的第一移位寄存器将输入的源寄存器Rm中32位随机数初始值m0左移一位,第一异或模块是对Rm中初始值m0本身进行异或运算,参与异或运算的数据由源寄存器Rn中32位随机数初始值n确定,选择n中是‘I’的那些位来屏蔽m0的相应位,选出m0中被屏蔽的那些位进行异或,得到I位运算结果,并将其反馈补入随机数初始值m0左移一位后空出的最低位,第一移位寄存器输出伪随机数ml ;4)第二 _k路移位反馈电路中的第二一k移位寄存器和异或模块依次将其前一路移位反馈电路中移位寄存器输出的ml、m2...伪随机数,作为其初始值输入,该路的移位寄存器左移一位,相应的异或模块是对ml、m2...本身进行异或运算,参与异或运算的数据由源寄存器Rn中32位随机数初始值n确定,选择n中是‘I’的那些位来屏蔽ml、m2...的相应位,选出ml、m2...中被屏蔽的那些位进行异或,得到I位运算结果,并将其反馈补入随机数ml、m2...左移一位后空出的最低位,从而得到第二一k移位寄存器输出的伪随机数m2_mk0其技术效果本专利技术应用于BWDSP100处理器的运算部件,可以满足处理器性能的要求,程序员可以在通过调用产生伪随机数的指令产生一个伪随机序列。在一定范围伪随机数不重复,而且可以随时改变伪随机数产生的初始值和算法重新计算。附图说明图I是本专利技术的伪随机数生成电路结构示意图;图2是移位器2左移位示意图;图3是第二异或模块2结构示意图;图4是移位器2右移位示意图。具体实施例方式如图I所示,一种伪随机数生成电路,其特征在于包括分别由移位寄存器和异或模块构成的多路移位反馈电路;第一路移位反馈电路中的第一移位寄存器的输入端与源寄存器Rm的输出端连接,第一异或模块的第一、第二输入端分别与源寄存器Rm和源寄存器Rn的输出端连接,其输出端接入第一移位寄存器;第二 _k路移位反馈电路中的移位寄存器和异或模块的第一输入端依次与其前一路移位反馈电路中的移位寄存器输出端连接,第二 _k路移位反馈电路中异或模块的第二输入端分别与源寄存器Rn的输出端并联连接。伪随机数产生方法,包含以下步骤(见图2):I)在源寄存器Rm中存入32位随机数的初始值m0 ;2)在源寄存器Rn中存入32位随机数初始值n ;3)第一路移位反馈电路中的第一移位寄存器将输入的源寄存器Rm中32位随机数初始值m0左移一位,第一异或模块是对Rm中初始值m0本身进行异或运算,参与异或运算的数据由源寄存器Rn中32位随机数初始值n确定,选择n中是‘I’的那些位来屏蔽m0的相应位,选出m0中被屏蔽的那些位进行异或,得到I位运算结果Xl,并将其反馈补入随机数初始值m0左移一位后空出的最低位,第一移位寄存器输出伪随机数ml ;4)第二 _k路移位反馈电路中的第二一k移位寄存器和异或模块依次将其前一路移位反馈电路中移位寄存器输出的ml、m2...伪随机数,作为其初始值输入,该路的移位寄存器左移一位,相应的异或模块是对ml、m2...本身进行异或运算,参与异或运算的数据由源寄存器Rn中32位随机数初始值n确定,选择n中是‘I’的那些位来屏蔽ml、m2...的相应位,选出ml、m2...中被屏蔽的那些位进行异或,得到I位运算结果x2. . . xk,并将其反馈补入随机数ml、m2...左移一位后空出的最低位,从而得到第二一k移位寄存器输出的伪随 机数m2_mk。上述生成的伪随机数ml-mk,在小于OXffffffff范围内伪随机数不重复,当重复次数大于OXfffTfTfT时,伪随机数则会重复。将上述步骤中所有移位器左移位改为右移位,其步骤与左移位相同(移位结构图见图4 ),则可得到另一种伪随机数数值,在此不再赘述。本文档来自技高网...

【技术保护点】

【技术特征摘要】
2011.04.25 CN 201110102680.41.一种伪随机数生成电路,其特征在于包括分别由移位寄存器和异或模块构成的多路移位反馈电路;第一路移位反馈电路中的第一移位寄存器的输入端与源寄存器Rm的输出端连接,第一异或模块的第一、第二输入端分别与源寄存器Rm和源寄存器Rn的输出端连接,其输出端接入第一移位寄存器;第二 _k路移位反馈电路中的移位寄存器和异或模块的第一输入端依次与其前一路移位反馈电路中的移位寄存器输出端连接,第二 _k路移位反馈电路中异或模块的第二输入端分别与源寄存器Rn的输出端并联连接。2.根据权利要求I所述的一种伪随机数生成电路,其特征在于伪随机数产生方法 1)在源寄存器Rm中存入32位随机数的初始值mO; 2)在源寄存器Rn中存入32位随机数初始值n; 3)第一路移位反馈电路中的第一移位寄存器将输入的源寄存器Rm中32位随机数初始值mO左移一位,第一异或模块是对Rm中初始值mO本身进行异或运算,参与异或运算的数据由源寄...

【专利技术属性】
技术研发人员:马强郭二辉宋何娟钟小艳
申请(专利权)人:中国电子科技集团公司第三十八研究所
类型:发明
国别省市:

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

1