APP下载

基于迭代函数的伪随机序列生成算法

2018-04-18杨涛瑞

数字通信世界 2018年1期
关键词:密码学随机性二进制

杨涛瑞

(重庆育才中学,重庆 400050)

1 引言

伪随机序列是一种具有类似白噪声性质的序列,在信息安全领域和扩频通信领域中都起着非常重要的作用。从某种意义上讲,伪随机序列的安全性确定了整个密码体系的安全性。因此如何得到高质量的伪随机序列成为信息安全热点研究问题[1,2,4]。

如果一个序列是伪随机的,它至少应具有如下性质[1,2,4]:

(1)看起来是随机的,即能通过已知的所有正确的随机性检验。

(2)是不可预测的,也就是说,即使给出产生序列的算法或者硬件设计和以前产生序列的所有知识,也不可能通过计算来预测下一个随机位是什么值。

在本文,一种新的基于混沌迭代映射的伪随机序列生成算法被提出来了。在该方法中,通过对迭代函数输出值和该输出值所在的区间下标进行异或运算,从而得到一个长度为n比特的伪随机序列。

本文其余部分是按如下方式组织的:第2节描述了伪随机序列的生成算法,第3节利用NIST提供的随机性检验方法对生成的伪随机序列进行了随机性检验;最后在第4节对算法进行了总结。

2 伪随机序列的生成

2.1 混沌迭代函数的选择

分段线性混沌迭代函数具有良好随机统计特性,其定义如下:

p是控制参数,且p∈(0,1/2)。该混沌映射在区间[0,1]上具有较好的统计特性:输出值满足遍历各态性、混和性和确定性。

2.2 定义新运算“异和”

2.3 伪随机序列的生成

本文设计一种伪随机序列生成算法,其原理框图如图1所示。

步骤1:将区间[0,1]划分为等距的256个子区间,记为Δi,i=0,1 255。每个区间的取值范围是 [i·2-8,(i+1)·2-8]。

步骤2:根据给定的初始值x0,控制参数p和初始迭代次数N0,迭代映射F(x0,p),得到输出xi。

步骤3:比较xi与步骤1的各个子区间,记下xi落入子区间 Δi的下标 i。

图1 伪随机序列生成框图

步骤4:将十进制数xi转化为二进制形式,取其小数点后8位并将其倒排;将步骤3得到的i也表示为8位的二进制形式。然后将这两个二进制形式的8位进行按位异或运算,得到一个8位的输出比特流,记为φi。

步骤5:将φi除以128得到的余数赋给N0(如果余数为0,则将128赋给N0),作为计算下一个8位输出比特流时函数的迭代次数。

重复步骤2~步骤5若干次,一个期望的伪随机序列(φ1,φ2, φn)就得到了。

3 伪随机序列的随机性测试

建立在假设检验基础上的随机性测试是一种重要的测试方法,假设检验是一类重要的统计推断问题,它依据小概率原理,即如果一个事件在现有假设下发生的概率很小,那么一旦这一事件发生,则认为该假设成立,则我们接受这种假设。

美国国家技术与标准局(NIST)推出的STS(Statistical Test Suite)是当前伪随机性测试中最具权威的工具,其中给出了16种随机序列测试的方法,其显著性水平a∈[0.001,0.01]。当每组随机性检测的概率值(p-value)大于a,即p-value> a则接收该假设,反之则拒绝。根据NIST的建议,当通过率大于等于98.056%时则认为通过了该项随机性检验。

实验过程中,我们生成了1000组长度为1,000,000比特的位序列。用STS工具软件检测,实验结果如下(表1)。表中的实验数据每一测试项的通过率均大于98.056%,表明算法产生的伪随机序列通过了所有的随机性测试,即可以认为算法所产生的伪随机序列有较好的随机性。

表1 随机性测试

重叠块匹配测试 0.98789 98.57 通过全局通用统计测试 0.67624 98.84 通过线性复杂度测试 0.49344 99.17 通过串行测试 0.68725 99.20 通过近似熵测试 0.02507 99.09 通过累积和测试 0.80439 99.27 通过随机游程测试 0.46983 99.13 通过随机游程变体测试 0.38332 98.46 通过

4 结束语

本文提出了一种新的伪随机序列生成方法,并用NIST提供的STS软件包对所产生的伪随机序列进行了随机性测试,实验表明该方法产生的伪随机序列具有较好的随机性。由于在将十进制小数转化为二进制时采用了 乘二取整 的经典算法,导致其时间效率很低,今后我们将继续探究如何提高生成序列的时间效率问题。

[1] 金晨辉,郑浩然,张少武等.密码学[M].北京:高等教育出版社,2010.

[2] 廖晓峰,肖迪,陈勇等著.漏冲密码学原理及其应用[M].北京:科学出版社,2009.

[3] NIST Special Publication 800-22rev1a,http://csrc.nist.gov/groups/ST/toolkit/rng/index.html.

[4] Douglas R.Stinson 著.冯登国译.密码学原理与实践[M].北京:电子工业出版社,2003.

猜你喜欢

密码学随机性二进制
用二进制解一道高中数学联赛数论题
有趣的进度
图灵奖获得者、美国国家工程院院士马丁·爱德华·海尔曼:我们正处于密钥学革命前夕
二进制在竞赛题中的应用
密码学课程教学中的“破”与“立”
浅析电网规划中的模糊可靠性评估方法
考虑负荷与分布式电源随机性的配电网无功优化
适用于随机性电源即插即用的模块化储能电池柜设计
应用型本科高校密码学课程教学方法探究
二进制宽带毫米波合成器设计与分析