- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于循环替换原理的高性能伪随机序列
郭凤娇
摘 要
在通信和密码方面, 伪随机序列有着广泛的应用, 针对现有随机序列生成方法的速度慢、效率低, 无法满足信息安全系统需求等问题,本文在介绍了随机序列的应用及现有随机序列的优缺点和分析随机序列主要产生方法的基础上,提出了一种基于循环替换原理的伪随机序列产生方法,该方法产生的伪随机序列完全符合FIPS140-2标准,并具有周期长、线性复杂度高、相关性好以及产生时间短的特性,能广泛应用于信息安全等系统中。
关键词
循环;替换;相关性;线性复杂度
引 言
随着信息化和数字化社会的发展,因此,对于关系到个人利益的信息必须经过加密之后才可以在网上传送,这将离不开现代密码技术。, 即具有如 下特征:
① 一定的长度: 为满足信息安全体系的基本安全需求, 所生成的随机序列必须 具有足够的长度和周期, 使搜索空间足够大。
② 高度的随机性: 随机序列中每个随机字符出现的频率应该大致相同。
③ 独立性: 随机序列中任意随机字符都不能从随机序列中的其它随机字符位推断得出。
④ 不可预测性: 随机序列中任一随机字符都在统计上独立于其它随机字符, 是不可预测的。
目前已经出现了多种随机序列生成方法, 按其工作原理,可以分成以下三类 [2] :
基于纯计算机算法的随机序列产生方法:
该方法是目前最常用随机序列产生方法,它基于事先确定的序列生成方法,依赖“种子”来产生随机序列,该方法对于给定的输入,具有确定的输出,因此从理论上讲这样的随机序列都是可以预测的,这就为信息安全系统带来了重大隐患。因而, 这类随机序列产生方法被称为“伪随机序列产生方法”, 它只能用在对安全性要求不高的场合;
基于人工的方法:
这类方法通过掷硬币、扔股子等随机方式获得随机序列,是目前人工的最安全的随机序列产生方法之一,但这种方法使用起来非常繁琐,效率极低,不实用,因此, 除了在极少数非常重要的场合, 一般不用这种方法来获得安全的随机序列;
③基于随机噪声发生检测方法:
这类随机序列产生方法通过产生、测量自然界的具有高度随机性的噪声信号,但这种产生方法需要信号发生装置,而这些装置结构复杂、操作繁琐、价格高,而且这些装置本身就具有一定的危险性,产生的随机序列效率低、速度慢,不方便也不实用。
二、循环替换的伪随机序列
考虑到现在存在的一些高性能随机序列生成方法速度慢、效率低,无法满足信息安全系统需求等的问题,以及上面分析的后两种方法中存在的局限,我们的方法不再采用上面分析的后两种方法,我们采用第一种方法,同时加入一些改进方法,使它产生的序列具备周期足够长,复杂度高、相关性好以及产生时间短的特性,以符合现代信息安全系统的要求。我们采用不可分解多相式(1)来构造二进制伪随机序列,同时在输出过程中,对固定的输出元素进行替换,采用替换在硬件上实现比较简单:
Sn= - (Sn-1+2Sn-6) mod 5 (1)
当Sn=000,输出Cn=00;
当Sn=001,输出Cn=01;
当Sn=010,输出Cn=10;
当Sn=011,输出Cn=11;
当Sn=100,输出Cn=00、01、10、11;
(当Sn=100时,Cn循环取00、01、10、11四个值之一)。
式子(1)是基于有限域GF(2)上的,所以有:
当 -(Sn-1+2Sn-6) mod 5=0时,Sn=0;
当 -(Sn-1+2Sn-6) mod 5=-1时,Sn=4;
当 -(Sn-1+2Sn-6) mod 5=-2时,Sn=3;
当 -(Sn-1+2Sn-6) mod 5=-3时,Sn=2;
当 -(Sn-1+2Sn-6) mod 5=-4时,Sn=1;
上面的替换原理其实在以前已经有人做了研究,文献[3]中就对序列中有k个符号替换、插入或删除的情况进行分析过,也有人对单符号替换、插入和删除的情况进行研究,研究表明线性复杂度会有变化(增加或减少),这就提供了一种提高线性复杂度的可能方法。但如果只对一个周期为N的序列进行替换、插入或删除等变换,线性复杂度的提高是很有限的,并且不能保证线性复杂度一定会提高,我们还需要加入循环的原理,才可能极大的提高序列的周期和线性复杂度。因为00、01、10、11总共有4x3x2=24种组合方法,所以如果每个周期N的序列用一种组合来替代其中相应的位,那同一个“种
您可能关注的文档
- Javascript Transformer【DOC精选】.doc
- javascript_课堂笔记【DOC精选】.doc
- Javascript类型检测【DOC精选】.docx
- JavaScript 开发规范要求【DOC精选】.docx
- JavaScript编码规范【DOC精选】.doc
- javascript试题【DOC精选】.doc
- javaScript基础【DOC精选】.doc
- Java_design_topic【DOC精选】.doc
- JavaScript html js图片切割系统【DOC精选】.doc
- JavaEE总结【DOC精选】.doc
- 第18讲 第17课 西晋的短暂统一和北方各族的内迁.docx
- 第15讲 第14课 沟通中外文明的“丝绸之路”.docx
- 第13课时 中东 欧洲西部.doc
- 第17讲 第16 课三国鼎立.docx
- 第17讲 第16课 三国鼎立 带解析.docx
- 2024_2025年新教材高中历史课时检测9近代西方的法律与教化含解析新人教版选择性必修1.doc
- 2024_2025学年高二数学下学期期末备考试卷文含解析.docx
- 山西版2024高考政治一轮复习第二单元生产劳动与经营第5课时企业与劳动者教案.docx
- 第16讲 第15课 两汉的科技和文化 带解析.docx
- 第13课 宋元时期的科技与中外交通.docx
文档评论(0)