[发明专利]基于FPGA的高速伪随机数生成方法及高速伪随机数生成器在审
申请号: | 202210583056.9 | 申请日: | 2022-05-26 |
公开(公告)号: | CN114911455A | 公开(公告)日: | 2022-08-16 |
发明(设计)人: | 任丰原;吴玉其;刘胤哲;李守亮;杨臻 | 申请(专利权)人: | 兰州大学 |
主分类号: | G06F7/58 | 分类号: | G06F7/58;G06N7/08 |
代理公司: | 青岛致嘉知识产权代理事务所(普通合伙) 37236 | 代理人: | 王巧丽 |
地址: | 730000 甘肃*** | 国省代码: | 甘肃;62 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 fpga 高速 随机数 生成 方法 生成器 | ||
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的xn,yn初始值;
S1:对于P1:进行1-xn的操作;
对于P2,P4:进行A2,B2,2AB的计算操作;
对于P3,首先利用yn的MSB来判断yn是否大于0.5,即a的值,从而决定是采用yn(当0≤yn<0.5时)还是(1-yn)(当0.5≤yn<1时),同时由于1-a以及a都等于0.5,除以1-a或者a等于乘2,即左移一位的操作,因此,将以上判断后的结果再进行F操作则形成模型算法中虚线右侧的计算结果,不进行F操作则形成模型算法中虚线左侧的结果;
S2:对于P1:进行1-xn与xn相乘的操作;
对于P2,P4:进行相加的操作,算出xn2,yn2;
对于P3:进行虚线左右两部分相乘的操作;
S3:将输出的256bit结果进行截取128MSB的操作,对截取的位置根据所乘响应的参数进行相应的改变,然后对P1,P2的剩余部分进行相加,对P3,P4的剩余部分进行相加,结果即为xn+1,yn+1,同时将两个通道的xn+1,yn+1进行输出,形成单次256bit位宽的输出。
4.一种基于FPGA的高速伪随机数生成器,其特征在于,应用了将一维帐篷混沌映射嵌入到二维逻辑斯蒂混沌映射中进行组合产生的嵌入式交叉耦合拓扑结构,包括:
一维帐篷映射模块:用于对y进行映射,
二维逻辑斯蒂映射模块:用于对x和y分别进行映射;
输入耦合模块:用于将两个维度的输出进行耦合后,分别送入两个输入通道;
输出耦合模块:用于生成伪随机数并输出。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于兰州大学,未经兰州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210583056.9/1.html,转载请声明来源钻瓜专利网。