CN106201435B - 基于细胞神经网络的伪随机数生成方法 - Google Patents

基于细胞神经网络的伪随机数生成方法 Download PDF

Info

Publication number
CN106201435B
CN106201435B CN201610561676.7A CN201610561676A CN106201435B CN 106201435 B CN106201435 B CN 106201435B CN 201610561676 A CN201610561676 A CN 201610561676A CN 106201435 B CN106201435 B CN 106201435B
Authority
CN
China
Prior art keywords
data
random number
pseudo
neural network
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610561676.7A
Other languages
English (en)
Other versions
CN106201435A (zh
Inventor
董丽华
药国莉
曾勇
胡予濮
张鑫
杨会
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201610561676.7A priority Critical patent/CN106201435B/zh
Publication of CN106201435A publication Critical patent/CN106201435A/zh
Application granted granted Critical
Publication of CN106201435B publication Critical patent/CN106201435B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Neurology (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开了一种基于细胞神经网络的伪随机数生成方法,主要解决现有技术中伪随机数的生成效率低和统计性能不够好的问题,其实现方案是:1)用六维细胞神经网络生成随机序列P,用逻辑映射生成随机序列X,以增强随机序列的随机性;2)将生成的随机序列P、X分别存入两个不同矩阵中,并对其数据做整数化处理,以提取其小数部位的随机性;3)用处理后的两个不同矩阵得到一个新矩阵,每次用新矩阵中的数据生成64bits的伪随机数。本发明提高了伪随机数的生成效率,且生成的伪随机数满足国际随机数检测标准NIST SP800‑22的要求,可用于保密通信。

Description

基于细胞神经网络的伪随机数生成方法
技术领域
本发明属于信息安全领域,尤其涉及一种伪随机数生成方法,可用于网络信息加密。
背景技术
随机数在密码学的应用中随处可见,如密钥、数字签名和身份认证。常见的随机数生成方法主要有两大类:真随机数生成器TRNG和伪随机数生成器PRNG。真随机数生成器TRNG具有很好的不可预测性,已有很多研究利用噪声作为外部随机源来构造发生器,如吴晓勇、王新亚的专利(专利公开号:CN103049243A)真随机数产生方法及装置,通过将模数转换和数模转换过程中的量化误差的放大过程,再与引入的热噪声求和放大来产生随机数;周昕杰、于宗光、罗静、王栋、田海燕的专利(专利公开号:CN203909778U)多源输入真随机数发生器电路架构,公开了一种通过中间变量对不同类型噪声产生电路进行选择作为噪声源,再用采样校正电路和随机数计数器对其处理得到真随机数的方法。但噪声具有不稳定性,易受到攻击者对外部噪声源的攻击,且真随机数生成器TRNG的生成方法大多数需要基于硬件来实现,生成速率相对较慢。
伪随机数生成器PRNG生成随机数的速率快,易于在软硬件中实现,虽然不是真正的随机,但若周期足够大,其特性也足以在很多科学领域得到应用,如随机过程的仿真和电脑算法中的统计采样与性能评估。孙云刚、孙才、陈曦的专利(专利公开号:CN102314332B)伪随机数生成装置和方法,利用位移方向相反的两个线性反馈移位寄存器产生随机比特数;周旭、张飞的专利(专利公开号:CN103034473B)一种伪随机数生成器,通过m序列在数字逻辑电路中生成数字信号,再用数模转换将其转化为模拟信号来作为随机数源;金银军、李晓龙、宁振虎、周端阳、王博、喻贤成的专利(专利公开号:CN102520908B)一种伪随机数生成器及伪随机数生成方法,利用高曲平方算法高效的生成高质量的伪随机数。但这些方法生成的伪随机数序列的统计性能并不十分好,不能很好的应用到信息加密中。
发明内容
本发明的目的在于针对上述已有技术的不足,提出一种基于细胞神经网络的伪随机数生成方法,以避免随机数生成器的生成效率低和统计性能不够好的缺陷,提高信息加密的安全性。
为实现上述目的,本发明包括:
(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的伪随机数,直到生成所需大小的伪随机数。
本发明的优点在于:
1.本发明通过用六维细胞神经网络和逻辑斯蒂映射生成伪随机数,提高了伪随机序列的统计性能;
2.本发明通过每次循环可生成64bits的伪随机数,提高了伪随机数的生成效率;
3.本发明通过提高伪随机数的统计性能和生成效率,增强了信息加密的安全性。
附图说明
图1为本发明的实现流程图。
具体实施方式
以下参照附图,对本发明的技术方案和效果作进一步详细说明。
参照图1,本发明的实现步骤如下:
步骤1:用六维细胞神经网络生成随机序列P。
六维细胞神经网络属于连续混沌系统,具有复杂的动力学特性和快速并行处理能力,当时间t趋于无穷时,该系统有两个大于零的李雅普诺夫指数,是一种超混沌系统,基于该系统生成的序列具有更好的随机性和安全性,可以很好地应用于随机数的生成方法中。
本实例用六维细胞神经网络生成随机序列P的步骤如下:
(1a)迭代六维细胞神经网络1000次消除瞬时效应,使其进入混沌状态,得到新的六个六维细胞神经网络的初始值:
该公式中状态值x1、x2、x3、x4、x5、x6表示当前时刻六个不同状态的取值,即状态值x1表示当前时刻状态x1的取值、状态值x2表示当前时刻状态x2的取值、状态值x3表示当前时刻状态x3的取值、状态值x4表示当前时刻状态x4的取值、状态值x5表示当前时刻状态x5的取值、状态值x6表示当前时刻状态x6的取值,其状态初始值均由密钥设置;状态值x1'、x2'、x3'、x4'、x5'、x6'表示下一时刻六个不同状态的取值,即状态值x1'是状态值x1下一时刻的取值、状态值x2'是状态值x2下一时刻的取值、状态值x3'是状态值x3下一时刻的取值、状态值x4'是状态值x4下一时刻的取值、状态值x5'是状态值x5下一时刻的取值、状态值x6'是状态值x6下一时刻的取值;
(1b)用新的六个初始值继续迭代六维细胞神经网络,每次迭代生成六个数据,将迭代多次生成的数据设为随机序列P,每次迭代前对上次迭代得到的六个数据作如下处理:
将第一个数据更新为其与第二个数据的小数部位求和的平均值,
将第二个数据更新为其与第三个数据的小数部位求和的平均值,
将第三个数据更新为其与第四个数据的小数部位求和的平均值,
将第四个数据更新为其与第五个数据的小数部位求和的平均值,
将第五个数据更新为其与第六个数据的小数部位求和的平均值,
将第六个数据更新为其与第一个数据的小数部位求和的平均值。
步骤2:用逻辑斯蒂映射生成随机序列X。
逻辑斯蒂映射是一种离散混沌系统,该系统对初始值的选取非常敏感,即当初始值的选取有微小差异时,该系统经过一段时间的演化后会发生非常大的改变;调整该映射的控制参数λ,系统可出现周期分叉的现象,进入混沌状态。由于逻辑斯蒂映射具有的初值敏感性、随机不确定性和遍历性,使其在随机数生成方法中得到了广泛的应用。
本实例用逻辑斯蒂映射生成随机序列X的步骤如下:
(2a)迭代逻辑斯蒂映射1000次,消除瞬时效应,使其进入混沌状态:
逻辑斯蒂映射的公式如下:
xn+1=λxn(1-xn),λ∈(0,4),xn∈(0,1)
其中xn表示当前状态,其初始值由密钥设置,xn+1是xn迭代得到的下一状态;λ是控制参数,其取值为3.9999;
(2b)继续迭代逻辑斯蒂映射,每次迭代生成一个数据,将迭代多次生成的数据设为随机序列X。
步骤3:对数据进行整数化处理。
由于六维细胞神经网络生成的随机序列P和逻辑斯蒂映射生成的随机序列X中的数据均是小数形式,需对其进行整数化处理,以提取其小数部位的随机性,进一步得到随机性能更好的序列。
本实例对数据进行整数化处理的步骤如下:
(3a)将(1b)随机序列P中的数据按照从左到右、从上到下的顺序依次存入大小为6×6的第一矩阵p[i][j],将p[i][j]中的数据更新为:p'[i][j]=|p[i][j]|×215mod N;
(3b)将(2b)随机序列X中的数据按照从上到下、从左到右的顺序依次存入大小为6×6的第二矩阵x[i][j],将x[i][j]中的数据更新为:x'[i][j]=x[i][j]×215mod N,
其中i和j的取值范围均为[0,5];N是一个正整数;|P[i][j]|代表对P[i][j]取绝对值。
步骤4:用处理后的数据生成二维数组r[i][j]。
对更新后的第一矩阵p[i][j]和更新后的第二矩阵x[i][j]进行简单数学运算,以进一步优化其数据的随机性能,其步骤如下:
(4a)设置大小为6×6的二维数组r[i][j]中的初始值均为0;
(4b)对二维数组r[i][j]中的数据进行更新,得到更新后的二维数组r'[i][j]:
其中代表异或运算;K是可变参数,其更新公式为:K'=(αK2+β)modN,α为第一更新参数,β为第二更新参数,这两个更新参数的初始值均由密钥设置;
(4c)重复(4b)共L次,即对二维数组r[i][j]进行L次更新,得到生成的二维数组r[i][j],1≤L≤4;每次更新前,用步骤1、步骤2、步骤3重新生成第一矩阵p[i][j]和第二矩阵x[i][j]中的数据。
步骤5:用二维数组r[i][j]生成64bits的伪随机数。
(5a)用(4b)二维数组r[i][j]生成八个8bits的数据,每个数据均为二维数组r[i][j]中若干数据的异或和,即:
第一个8bits数据为:
第二个8bits数据为:
第三个8bits数据为:
第四个8bits数据为:
第五个8bits数据为:
第六个8bits数据为:
第七个8bits数据为:
第八个8bits数据为:
(5b)将生成的八个8bits数据依次输出,得到64bits的伪随机数。
步骤6:重复步骤(1)到(5),每次循环生成64bits的伪随机数,直到生成所需大小的伪随机数;每次循环后,将(4b)第一更新参数α更新为与二维数组r[i][j]中所有值的异或和,将(4b)第二更新参数β更新为与二维数组r[i][j]中所有值的异或和。
本发明的效果可通过以下检测结果进一步说明:
1.检测方法:
采用美国国家标准与技术研究所NIST提供的随机性测试SP800-22对上述生成的随机序列的随机性进行检测,该测试包含15个测试项,其中每一项的测试结果均包含P值P-value和通过率Propotion。
2.检测结果:
用美国国家标准与技术研究所NIST提供的随机性测试SP800-22对用本发明生成的1000组1M的随机序列进行检测,检测结果如表1:
表1检测结果
Statistical Test P-value Propotion Result
Frequence 0.693581 0.9907 Pass
BlockFrequence 0.832273 0.9842 Pass
CumulativeSums 0.251036 0.9870 Pass
Runs 0.509353 0.9870 Pass
LongestRun 0.509906 0.9814 Pass
Rank 0.582379 0.9860 Pass
FFT 0.251349 0.9860 Pass
OverlappingTemplate 0.149171 0.9851 Pass
Universal 0.703826 0.9879 Pass
LinearComplexity 0.122987 0.9888 Pass
ApproximateEntropy 0.150973 0.9870 Pass
Serial 0.376366 0.9842 Pass
NonOverlappingTemplate 0.214120 0.9832 Pass
RandomExcursions 0.301571 0.9852 Pass
RandomExcursionsVariant 0.811644 0.9867 Pass
由表1可知,每一项测试结果中的P值P-value不低于0.001且通过率Propotion不低于0.9806,即15个测试项全部通过,被测序列是随机的。

Claims (7)

1.一种基于细胞神经网络的伪随机数生成方法,其特征在于,采用混沌映射方法进行,该混沌映射包括六维细胞神经网络和逻辑斯蒂映射,其实现步骤包括如下:
(1)用六维细胞神经网络生成随机序列P,并将序列P中的数据按照从左到右、从上到下的顺序依次存入大小为6×6的第一矩阵p[i][j],其中i和j的取值范围均为[0,5];
所述的用六维细胞神经网络生成随机序列P,按如下步骤进行:
(1a)给定六维细胞神经网络的六个初始值,对其迭代得到新的六个初始值;
(1b)用新的六个初始值迭代六维细胞神经网络,每次迭代生成六个数据,将迭代多次生成的数据设为随机序列P,其中,每次迭代前对上次迭代得到的六个数据作如下处理:
将第一个数据更新为其与第二个数据的小数部位求和的平均值,
将第二个数据更新为其与第三个数据的小数部位求和的平均值,
将第三个数据更新为其与第四个数据的小数部位求和的平均值,
将第四个数据更新为其与第五个数据的小数部位求和的平均值,
将第五个数据更新为其与第六个数据的小数部位求和的平均值,
将第六个数据更新为其与第一个数据的小数部位求和的平均值;
(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所述的基于细胞神经网络的伪随机数生成方法,其中步骤(2)用逻辑斯蒂映射生成随机序列X,按如下步骤进行:
(2a)给定逻辑斯蒂映射一个初始值,对其迭代得到新的初始值;
(2b)用新的初始值迭代逻辑斯蒂映射,每次迭代生成一个数据,将迭代多次生成的数据设为随机序列X。
3.根据权利要求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]取绝对值。
4.根据权利要求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。
5.根据权利要求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的伪随机数。
6.根据权利要求1所述的基于细胞神经网络的伪随机数生成方法,其特征在于:步骤(1)中的六维细胞神经网络,其公式表示如下:
其中,数据x1、x2、x3、x4、x5、x6是当前时刻值,x1'、x2'、x3'、x4'、x5'、x6'分别是x1、x2、x3、x4、x5、x6的下一时刻值。
7.根据权利要求1所述的基于细胞神经网络的伪随机数生成方法,其特征在于:步骤(2)中的逻辑斯蒂映射,是将当前状态值xn迭代更新为下一状态值xn+1
xn+1=λxn(1-xn),
其中λ是控制参数,λ∈(0,4),xn∈(0,1)。
CN201610561676.7A 2016-07-17 2016-07-17 基于细胞神经网络的伪随机数生成方法 Active CN106201435B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610561676.7A CN106201435B (zh) 2016-07-17 2016-07-17 基于细胞神经网络的伪随机数生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610561676.7A CN106201435B (zh) 2016-07-17 2016-07-17 基于细胞神经网络的伪随机数生成方法

Publications (2)

Publication Number Publication Date
CN106201435A CN106201435A (zh) 2016-12-07
CN106201435B true CN106201435B (zh) 2018-11-16

Family

ID=57475432

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610561676.7A Active CN106201435B (zh) 2016-07-17 2016-07-17 基于细胞神经网络的伪随机数生成方法

Country Status (1)

Country Link
CN (1) CN106201435B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111221577B (zh) * 2020-01-17 2020-12-29 中国人民解放军32802部队 一种非合作线性反馈移位寄存器功能重建方法
CN111427541B (zh) * 2020-03-30 2022-03-04 太原理工大学 一种基于机器学习的随机数在线检测系统及方法
CN111884792B (zh) * 2020-06-30 2021-07-09 深圳市永达电子信息股份有限公司 基于忆阻器混沌序列的本征态网络电路信号制备系统和方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101702117A (zh) * 2009-11-09 2010-05-05 东南大学 一种基于离散渐进确定性随机的伪随机序列发生方法
CN105005462A (zh) * 2015-09-06 2015-10-28 电子科技大学 一种混合式随机数发生器及其产生随机数的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101702117A (zh) * 2009-11-09 2010-05-05 东南大学 一种基于离散渐进确定性随机的伪随机序列发生方法
CN105005462A (zh) * 2015-09-06 2015-10-28 电子科技大学 一种混合式随机数发生器及其产生随机数的方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
初始值对细胞神经网络混沌特性的影响;朱艳平;《赤峰学院学报(自然科学版)》;20160131;第32卷(第1期);第38-40页 *
基于细胞神经网络混沌特性的分组加密算法;王阳 等;《计算机应用与软件》;20131130;第30卷(第11期);第191-194页 *
随机数生成;杨振海 等;《数理统计与管理》;20060331;第25卷(第2期);第244-252页 *

Also Published As

Publication number Publication date
CN106201435A (zh) 2016-12-07

Similar Documents

Publication Publication Date Title
Hua et al. Color image encryption using orthogonal Latin squares and a new 2D chaotic system
ElBeltagy et al. Image Encryption Through Rössler System, PRNG S-Box and Recamán's Sequence
Zhang et al. An efficient image encryption scheme based on S-boxes and fractional-order differential logistic map
Li et al. Novel image encryption algorithm based on improved logistic map
Liu et al. Image block encryption algorithm based on chaotic maps
Alexan et al. Image encryption through lucas sequence, s-box and chaos theory
CN106778304B (zh) 一种具有明文相关置乱机制的快速混沌图像加密方法
Fouda et al. A fast chaotic block cipher for image encryption
Alexan et al. Lightweight image encryption: Cellular automata and the lorenz system
Huang et al. Implementation of gray image encryption with pixel shuffling and gray-level encryption by single chaotic system
Li et al. Colour image encryption based on advanced encryption standard algorithm with two‐dimensional chaotic map
Tang et al. A delay coupling method to reduce the dynamical degradation of digital chaotic maps and its application for image encryption
Wang et al. A novel block cryptosystem based on the coupled chaotic map lattice
CN106375079A (zh) 一种语音信息的混沌加密方法
Hua et al. Image encryption using 2D Logistic-Sine chaotic map
CN106201435B (zh) 基于细胞神经网络的伪随机数生成方法
Kumar et al. Intertwining logistic map and Cellular Automata based color image encryption model
CN108833733B (zh) 一种基于混沌s盒的图像加密算法的解密方法
Zhang et al. A novel chaotic image encryption algorithm based on latin square and random shift
CN114157408A (zh) 基于混沌系统的数字图像加密方法、解密方法及系统
Li et al. Synchronization of a memristor chaotic system and image encryption
Awad et al. New chaotic permutation methods for image encryption
Korayem et al. Color image encryption using a sine variation of the logistic map for s-box and key generation
Li et al. Cryptanalyzing an image encryption algorithm underpinned by 2D lag-complex logistic map
Babu et al. Higher dimensional chaos for Audio encryption

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant