【技术实现步骤摘要】
基于FPGA的高速伪随机数生成方法及高速伪随机数生成器
[0001]本专利技术属于通信信息安全
,尤其涉及一种基于FPGA的高速伪随机数生成方法及高速伪随机数生成器。
技术介绍
[0002]在当今的信息化时代背景下,随机数在许多领域都得到了广泛的应用。例如:在密码学中,随机数可用于密码的传输、存储、计算等;在雷达监测中,随机数可用于雷达波形的产生,利用随机数产生的噪声波形,具有抗干扰、低截获等优点;随机数用于机械振动中,可利用蒙特卡洛方法对机械振动的随机性做出预测。因此,研究能够产生随机性高、复杂度高的随机数具有重要的应用价值。
[0003]产生随机数的方法主要有算法产生伪随机数、物理熵源产生真随机数和混沌电路产生随机数等方法,其中,算法产生伪随机数和物理熵源产生真随机数的方法具有可行性,但存在着平台局限、易受环境干扰、成本较高等致命缺点,因此,本专利技术采用混沌电路产生随机数的方法。混沌电路既可以产生伪随机数也可以产生真随机数,但由于真随机数产生速率较低且难度较大、成本较高,因此本专利技术选择具有更高性能的伪 ...
【技术保护点】
【技术特征摘要】
1.一种基于FPGA的高速伪随机数生成方法,其特征在于,包括以下步骤:首先,建立如下混沌模型算法:其中α,β,γ1,γ2均为二维逻辑斯蒂映射的参数,a为一维帐篷模型的控制参数;其次,在FPGA中对所述混沌模型算法进行实现,在FPGA电路中的整体运算采用128bit定点数设计,运算过程中,对混沌模型算法进行分块处理,将模型中占用大量时间的运算分成小部分进行并行完成。2.如权利要求1所述的基于FPGA的高速伪随机数生成方法,其特征在于,所述混沌模型算法进行分块处理方式如下,其中省略了mod运算:其中,上标1、2、3、4分别代表P1、P2、P3、P4,为FPAG运算模块中的4部分运算;参数选择为(α,β,γ1,γ2,a)=(4,4,2,2,0.5);对于P2和P4运算中,采用如下公式将128bit的乘法拆分为三个64bit进行运算:X2={A,B}
×
{A,B}={(A2),(2AB),(B2)}。3.如权利要求2所述的基于FPGA的高速伪随机数生成方法,其特征在于,所述分块处理方式下,运算过程如下:S0:输入128bit的x
n
,y
n
初始值;S1:对于P1:进行1
‑
x
n
的操作;对于P2,P4:进行A2,B2,2AB的计算操作;对于P3,首先利用y
n
的MSB来判断y
n
是否大于0.5,即a的值,从而决定是采用y
n
(当0≤y
n
<0.5时)还是(1...
【专利技术属性】
技术研发人员:任丰原,吴玉其,刘胤哲,李守亮,杨臻,
申请(专利权)人:兰州大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。