基于细胞神经网络的伪随机数生成方法与流程

文档序号:11949451阅读:来源:国知局

技术特征:

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,对其进行第一次更新:

<mrow> <msup> <mi>r</mi> <mo>&prime;</mo> </msup> <mo>&lsqb;</mo> <mi>i</mi> <mo>&rsqb;</mo> <mo>&lsqb;</mo> <mi>j</mi> <mo>&rsqb;</mo> <mo>=</mo> <mi>p</mi> <mo>&lsqb;</mo> <mi>i</mi> <mo>&rsqb;</mo> <mo>&lsqb;</mo> <mi>j</mi> <mo>&rsqb;</mo> <mo>&CirclePlus;</mo> <mi>x</mi> <mo>&lsqb;</mo> <mi>i</mi> <mo>&rsqb;</mo> <mo>&lsqb;</mo> <mi>j</mi> <mo>&rsqb;</mo> <mo>&CirclePlus;</mo> <mi>K</mi> <mo>&CirclePlus;</mo> <mi>r</mi> <mo>&lsqb;</mo> <mi>i</mi> <mo>&rsqb;</mo> <mo>&lsqb;</mo> <mi>j</mi> <mo>&rsqb;</mo> <mo>,</mo> </mrow>

其中代表异或运算;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)中的六维细胞神经网络,其公式表示如下:

<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msubsup> <mi>x</mi> <mn>1</mn> <mo>&prime;</mo> </msubsup> <mo>=</mo> <mo>-</mo> <msub> <mi>x</mi> <mn>3</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>4</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>x</mi> <mn>2</mn> <mo>&prime;</mo> </msubsup> <mo>=</mo> <mn>2</mn> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>+</mo> <msub> <mi>x</mi> <mn>3</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>x</mi> <mn>3</mn> <mo>&prime;</mo> </msubsup> <mo>=</mo> <mn>14</mn> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>x</mi> <mn>4</mn> <mo>&prime;</mo> </msubsup> <mo>=</mo> <mn>100</mn> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>-</mo> <mn>100</mn> <msub> <mi>x</mi> <mn>4</mn> </msub> <mo>+</mo> <mn>100</mn> <mrow> <mo>(</mo> <mo>|</mo> <msub> <mi>x</mi> <mn>4</mn> </msub> <mo>+</mo> <mn>1</mn> <mo>|</mo> <mo>-</mo> <mo>|</mo> <msub> <mi>x</mi> <mn>4</mn> </msub> <mo>-</mo> <mn>1</mn> <mo>|</mo> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>x</mi> <mn>5</mn> <mo>&prime;</mo> </msubsup> <mo>=</mo> <mn>18</mn> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>+</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>5</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>x</mi> <mn>6</mn> <mo>&prime;</mo> </msubsup> <mo>=</mo> <mn>4</mn> <msub> <mi>x</mi> <mn>5</mn> </msub> <mo>-</mo> <mn>4</mn> <msub> <mi>x</mi> <mn>6</mn> </msub> <mo>+</mo> <mn>100</mn> <msub> <mi>x</mi> <mn>2</mn> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced>

其中,数据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)。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1