1.一种基于细胞神经网络的伪随机数生成方法,其特征在于,采用混沌映射方法进行,该混沌映射包括六维细胞神经网络和逻辑斯蒂映射,其实现步骤包括如下:
(1)用六维细胞神经网络生成随机序列P,并将序列P中的数据按照从左到右、从上到下的顺序依次存入大小为6×6的第一矩阵p[i][j],其中i和j的取值范围均为[0,5];
(2)用逻辑斯蒂映射生成随机序列X,并将序列X中的数据按照从上到下、从左到右的顺序依次存入大小为6×6的第二矩阵x[i][j];
(3)对第一矩阵p[i][j]和第二矩阵x[i][j]中的数据进行整数化处理;
(4)用处理后的第一矩阵p[i][j]和第二矩阵x[i][j]生成大小为6×6的二维数组r[i][j];
(5)用二维数组r[i][j]生成64bits的伪随机数;
(6)重复步骤(1)到(5),每次循环生成64bits的伪随机数,直到生成所需大小的伪随机数。
2.根据权利要求1所述的基于细胞神经网络的伪随机数生成方法,其中步骤(1)用六维细胞神经网络生成随机序列P,按如下步骤进行:
(1a)给定六维细胞神经网络的六个初始值,对其迭代得到新的六个初始值;
(1b)用新的六个初始值迭代六维细胞神经网络,每次迭代生成六个数据,将迭代多次生成的数据设为随机序列P,其中,每次迭代前对上次迭代得到的六个数据作如下处理:
将第一个数据更新为其与第二个数据的小数部位求和的平均值,
将第二个数据更新为其与第三个数据的小数部位求和的平均值,
将第三个数据更新为其与第四个数据的小数部位求和的平均值,
将第四个数据更新为其与第五个数据的小数部位求和的平均值,
将第五个数据更新为其与第六个数据的小数部位求和的平均值,
将第六个数据更新为其与第一个数据的小数部位求和的平均值。
3.根据权利要求1所述的基于细胞神经网络的伪随机数生成方法,其中步骤(2)用逻辑斯蒂映射生成随机序列X,按如下步骤进行:
(2a)给定逻辑斯蒂映射一个初始值,对其迭代得到新的初始值;
(2b)用新的初始值迭代逻辑斯蒂映射,每次迭代生成一个数据,将迭代多次生成的数据设为随机序列X。
4.根据权利要求1所述的基于细胞神经网络的伪随机数生成方法,其中步骤(3)对第一矩阵p[i][j]和第二矩阵x[i][j]中的数据进行整数化处理,按如下步骤进行:
(3a)将第一矩阵p[i][j]中的数据更新为:p'[i][j]=|p[i][j]|×215mod N;
(3b)将第二矩阵x[i][j]中的数据更新为:x'[i][j]=x[i][j]×215mod N,
其中N是一个正整数,|P[i][j]|代表对P[i][j]取绝对值。
5.根据权利要求1所述的基于细胞神经网络的伪随机数生成方法,其中步骤(4)中用处理后的第一矩阵p[i][j]和第二矩阵x[i][j]生成大小为6×6的二维数组r[i][j],按如下步骤进行:
(4a)设置二维数组r[i][j]中的初始值均为0,对其进行第一次更新:
其中代表异或运算;K是可变参数,其更新公式为:K'=(αK2+β)modN,α为第一更新参数,β为第二更新参数,这两个更新参数的初始值由密钥设置,每次循环后,将更新参数α更新为与二维数组r[i][j]中所有值的异或和,将更新参数β更新为与二维数组r[i][j]中所有值的异或和;
(4b)重复(4a)共L次,即对二维数组r[i][j]进行L次更新,得到生成的二维数组r[i][j],其中1≤L≤4。
6.根据权利要求1所述的基于细胞神经网络的伪随机数生成方法,其中步骤(5)中用二维数组r[i][j]生成64bits的伪随机数,按如下步骤进行:
(5a)用二维数组r[i][j]生成八个8bits的数据,每个数据均为二维数组r[i][j]中若干数据的异或和,即:
第一个8bits数据为:
第二个8bits数据为:
第三个8bits数据为:
第四个8bits数据为:
第五个8bits数据为:
第六个8bits数据为:
第七个8bits数据为:
第八个8bits数据为:
(5b)将生成的八个8bits数据依次输出,得到64bits的伪随机数。
7.根据权利要求1所述的基于细胞神经网络的伪随机数生成方法,其特征在于:步骤(1)中的六维细胞神经网络,其公式表示如下:
其中,数据x1、x2、x3、x4、x5、x6是当前时刻值,x1'、x2'、x3'、x4'、x5'、x6'分别是x1、x2、x3、x4、x5、x6的下一时刻值。
8.根据权利要求1所述的基于细胞神经网络的伪随机数生成方法,其特征在于:步骤(2)中的逻辑斯蒂映射,是将当前状态值xn迭代更新为下一状态值xn+1:
xn+1=λxn(1-xn),
其中λ是控制参数,λ∈(0,4),xn∈(0,1)。