一种简单的计算机通信加密方式研究.docx
- 文档编号:17969668
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:22
- 大小:578.54KB
一种简单的计算机通信加密方式研究.docx
《一种简单的计算机通信加密方式研究.docx》由会员分享,可在线阅读,更多相关《一种简单的计算机通信加密方式研究.docx(22页珍藏版)》请在冰点文库上搜索。
一种简单的计算机通信加密方式研究
*******************
实践教学
*******************
兰州理工大学
计算机与通信学院
2011年春季学期
计算机通信课程设计
题目:
一种简单的计算机通信加密方式研究
专业班级:
姓名:
学号:
指导教师:
成绩:
摘要
本文简单的介绍了加密技术的发展、原理、算法、意义及应用,并重点研究了利用伪随机序列实现计算机通信中的加密原理和方法。
运用MATLAB产生伪随机序列,分析了其性能,在此基础上,研究了一种简单的加密算法,实现伪随机序列的加密与解密,并对这一通信系统进行仿真分析。
关键词:
计算机通信;M序列;加密;仿真
前言
互联网的飞速发展极大地丰富了人们的生活,但是由于通信中采用的一般都是采用非屏蔽双绞线,随着技术的发展,入侵者完全可以在非接触的情况下通过双绞线的电磁辐射获得通信中的信息。
这致使网络操作系统的权限管理和安全管理制度都将失效。
对通信线路中的信息进行加密是解决这一问题的有效方法。
伪随机序列在信息加密中有重要作用。
M序列是伪随机序列的一种。
利用移位寄存器产生的M序列具有均衡性、游程分布、移位相加性、周期性和伪随机性,并且其自相关性好,容易复制和产生。
利用M序列对信息加密后使其在携带原始信息的同时具有为噪声的特点。
在运用产生M序列加密和解密偶运用MATLAB对序列进行相关性分析和仿真。
目录
第1章计算机加密技术1
1.1加密技术的发展1
1.2加密技术的原理2
1.3加密技术的算法3
1.4加密技术的意义及应用4
第2章伪随机序列5
2.1伪随机序列的概念5
2.2M序列的产生5
2.3M序列发生器7
第3章加密技术的实现及仿真9
3.1M序列实现加密9
3.2加密技术实现加密的程序9
3.3仿真结果及分析11
第4章设计总计16
致谢17
参考文献18
第1章计算机加密技术
1.1加密技术的发展
早期的加密方法非常简单。
据说凯撒大帝曾用一种初级的密码来弄乱他传达的消息。
对那些他认为能够分享秘密的人,便告诉他们如何重新组合回原来的消息。
这种密码便是著名的“凯撒密码(TheCaesarCipher)”。
它其实是一种简单的替换加密法:
字母表中的每个字母依次都被靠后的第三个字母取代。
换言之,字母A变成D,B变成E,X变成A,Y变成B,Z变成C,依此类推。
尽管这种加密术极易解码,但是“librxgrq’wnqrzkrzlw’vqrwreylrxv!
”—转换成明文便是“ifyoudon’tknowhowit’snotobvious!
”(如果不知道原理,可也没那么简单!
)。
这种加密术的一个变种是ROT-13密码,每个字母均循环移动13个位置。
简单的替换加密存在重大的缺陷,因为重复出现的某个字母总是会用相同的字母替代。
通过对某种语言的分析,便可知道字母被移位的大致距离—请注意上述密文中字母“r”的出现位置。
熟悉英语的人就知道,它可能是一个元音—这种信息随即便可用来判断移位的距离。
在古代,人和人之间的信任并不是唯一要关心的问题,身份验证也很重要。
如果只有少数人能读会写,那么签名或许足以证明一个人的身份。
但随着掌握读写知识的人越来越多,印章逐渐成为“签署人”一种独特的记号。
利用这种记号,便可证明信件、文档和法令签署人的身份确实无误。
但随着技术的发展,人们可轻松仿制出各式各样的印章,所以它也失却了原先的“独特”性。
事实上,伪造印章是件再容易不过的事情。
发展到近代,密码和与之对应的译码术在历史上占据了一个重要的地位。
在美国被硬扯进入二战之前,军队已有能力破解日本政府的密码。
所以,美国政府事实上能够事先知道日本攻击珍珠港的消息。
然而,这一能力并未得到很好的利用。
由于这次“奇袭”,美国遭受了惨重的损失。
在同一次战争中,德国政府使用一种名为Enigma的加密设备,对自己的通信进行加密。
这种设备使用了一系列转轮(Enigma机器共准备了5个,但每次通信的时候,均只使用其中的3个)。
这些转轮包含了字母表中的所有字母,每个都可以单独进行设置。
对正常输入的文字来说,其中每个字母都被转换成看似随机的输出字符。
之所以说它“看似”随机,是由于换位顺序的组合是一个天文数字。
对Enigma机器的破解首先由波兰发起,最后由英国完成。
对Enigma的解密产生了许多“可歌可泣”的故事,内容之丰富,完全可以写成另一本书,事实上,已有关于这个主题的多本书籍问世。
自凯撒大帝的年代开始,一直到当代,通信技术在稳步地发展着。
从纸张到电报、电传、电话、传真以及E-mail,人和人之间的通信变得如此方便和普遍。
与此同时,保障这些通信的安全也逐渐成为一项重要课题。
最开始的时候,只有少数人关心此事,而且通常都是政府和军队。
每种通信方法的安全取决于建立通信的那种媒体(或媒介)。
媒体越开放,消息落入外人之手就越有可能。
现代通信方法一般都是开放和公用的。
打一次电话,或者发一次传真,信号会穿越一个共享的、公共的“电路交换”电话网络。
而在发一次E-mail的时候,它也会穿越一个共享的、公共的、包交换的网络。
在网络中,位于通信双方两个端点之间的任何一个实体均可将消息(信号)轻易拦截下来。
如果要通过现代的通信技术来进行数据的保密传输,便必须采用某种形式的加密技术,防范那些“偷窥者”窃取秘密。
现代的基本加密技术要依赖于消息之目标接收者已知的一项秘密。
通常,解密方法(亦即“算法”)是任何人都知道的—就象所有人都知道怎样打开门一样。
然而,真正用来解开这一秘密的“密钥(Key)”却并非尽人皆知—就象钥匙一样,一扇门的钥匙并不是任何人都拿得到的。
当然,还有某些加密系统建立在一种保密的算法基础上—通常把它叫作“隐匿保密”。
但大多数人都讨厌使用这种加密方法,因为它未向公众开放。
人们无从得知它的加密能力到底有多强,是否存在缺陷等等(目前针对“加密芯片”展开的辩论便是这样的一个例子)。
那么,剩下的问题就是如何保障密钥的安全了密钥只应该由那些应该拥有的人持有现代的密码术为此提供了强有力的保证。
1.2加密技术的原理
密码学包括密码编码学和密码分析学,密码体制的设计是密码学研究的主要内容。
密码体制是指一个系统所采用的基本工作方式以及他的两个基本构成要素,即加密/解密算法和密钥。
人们常用算法和密钥来对信息编码进行隐蔽,密码分析学试图破译算法和密钥。
明文:
即需要隐藏的消息。
密文:
明文变换成另一种隐藏形式称为密文。
将明文转换成密文的过程叫做加密。
加密的逆过程叫解密。
对明文进行加密所采用的一组规则称为加密算法。
对明文解密时采用的一组规则叫解密算法。
密钥可以看做密码算法中的可变参数。
密码算法是相对稳定的,在这种在意义上,可以把密码算法视为常量,而密钥则是一个变量。
在设计加密系统时,加密算法是可以公开的,真正需要保密的是密钥。
对于同一种加密算法密钥的位数越长,破译的难度就越大,安全性也就越好。
1.3加密技术的算法
经典密码通信可分作两大类,一是非对称密码系统,另一个是对称密码系统。
非对称密码系统又称公开密钥系统,接收消息者先选择一组只有他自己知道的专用密钥,根据此专用密钥计算出相应的公开密钥,并将之公开传给准备向他发送消息的所有人。
消息发送者(简称A)利用公开密钥将消息加密后发给接收者(简称B),只知道公开密钥的人很难从密文反推原来消息,只有B既知道公开密钥又知道专用密钥,才能将密文解码变成明文。
这种系统的发送者和接受者拥有不同的密钥故称为非对称密码系统。
主要特点非对称加密通常以RSA(RivestShamirAd1eman)算法为代表。
RSA算法的加密密钥和加密算法分开,使得密钥分配更为方便。
它特别符合计算机网络环境。
对于网上的大量用户,可以将加密密钥用电话簿的方式印出。
如果某用户想与另一用户进行保密通信,只需从公钥簿上查出对方的加密密钥,用它对所传送的信息加密发出即可。
对方收到信息后,用仅为自己所知的解密密钥将信息解密,了解报文的内容。
由此可看出,RSA算法解决了大量网络用户密钥管理的难题。
对称密码系统又称专用密钥系统,A与B拥有相同的密钥。
A用该密码编码,B用该密码解码,即使二者的密码不同,也能够由其中的一个很容易地推导出另一个。
因此,在这种密码系统中,有加密能力就意味着有解密能力。
对称密码算法的优点是计算开销小,加密速度快,可以达到高的保密强度,是目前用于信息加密的主要算法。
对称加密系统中的加解密密钥相同,需要通信的双方必须选择和保存他们共同的密钥,各方必须信任对方不会吧密钥泄露,从而实现数据的机密性和完整性。
对于具有n个用户的网络,需要n(n-1)/2个密钥,在用户数不是很大的情况下,对称加密系统是有效的,但是对于大型网络,当用户数很大,用户分布很广时,密钥的分配和保存就成了问题,即密钥管理成为影响系统安全的关键因素。
按加密方式可将对称密码系统分为序列密码和分组密码。
分组密码是将明文消息编码表示后的数字序列,划分成固定大小的组,各组分别在密钥的控制下变换成等长的输出数字。
与之相反,序列密码是一次只对明文消息的单个字符进行加密变换的密码系统,通过明文序列和密钥序列的某种运算得到性能良好的输出序列。
典型的分组密码的算法有DES(DataEncryptionStandard数据加密标准)算法及其变形,DES是一种世界公认的较好的加密算法。
自它问世20多年来,成为密码界研究的重点,经受住了许多科学家的研究和破译,在民用密码领域得到了广泛的应用。
它曾为全球贸易、金融等非官方部门提供了可靠的通信安全保障。
但是任何加密算法都不可能是十全十美的。
它的缺点是密钥太短(56位),影响了它的保密强度。
此外,由于DES算法完全公开,其安全性完全依赖于对密钥的保护,必须有可靠的信道来分发密钥。
典型序列密码算法有A5,RC4等算法。
混沌密码加密和量子密码加密是密码研究的两个新方向。
混沌运动是一种不稳定的运动状态。
它与线性系统和其它非线性系统相比,混沌系统有着自己独有的特征:
有界性,遍历性,内随机性,统计特性,初值敏感性,轨道发散性等。
混沌的混合特性对应于传统加密系统的扩散特性,而混沌信号的类随机性和对系统参数的敏感性对应于传统加密系统的混乱特性。
这些特性保证了混沌加密器的扩散和混乱作用可以和传统加密算法一样好。
只要算法设计正确合理,就完全可能实现将混沌理论用于分组密码中。
量子密码正在发展,量子技术在密码学上的应用分为两类:
一是利用量子计算机传统密码体制进行分析,二是利用单光子的测不准原理在光纤一级实现密钥管理和信息加密,即量子密码学。
量子密码通信是一个多学科交汇的领域,它牵涉许多不同的学科,如量子力学、量子光学、信息论、光学技术、电子技术及通信技术等。
1.4加密技术的意义及应用
进入21世纪后,在信息化的现代社会的今天,信息技术的快速发展和信息交换的增加给整个社会的带来了新的驱动力和创新意识,伴随着科学技术的不断提高,现代通信技术飞速发展,信息安全成为了极度热门的话题。
众所周知,在军事领域,信息是否安全往往能够决定一场战役的成败,然而,信息的安全与保密问题不仅仅出于军事、政治和外交上的需要,科学技术的研究和发展及商业等方面,无一不与信息安全息息相关。
对于所传输的信息被非法截取,信用卡密码被盗,数据库资料被窃等等的事例经常发生,数据保密成为十分重要的问题。
加密技术作为网络安全技术的核心,其重要性不可忽略。
随着加密算法的公开化和解密技术的发展,各个国家正不断致力于开发和设计新的加密算法和加密机制。
所以我们应该不断发展和开发新的信息加密技术以适应纷繁变化的网络安全环境。
第2章伪随机序列
2.1伪随机序列的概念
Shannon编码定理指出:
只要信息速率Ra小雨信道容量C,则总可以找到某种编码方法,使在码字相当长的条件下,能够几乎无差错的从到高斯白噪声干扰的信号中复制出原发送信息。
若要复制出原发送信息,需要满足两个条件:
一是,Ra<=C;二是,编码字足够长。
Shannon在证明编码定理时提出,用具有白噪声统计特性的信号来编码。
白噪声是一种随机过程,它的瞬时值服从正态分布,功率谱在很宽的频带内都是均匀的,它有极其优良的相关特性。
现存在的问题是,至今无法实现对白噪声的放大、调制、检测、同步及控制等,所以,只能用具有类似于带限白噪声统计特性的伪随机码来逼近白噪声,也就是暂时代替白噪声。
伪随机序列是具有某种随即特性的确定的序列。
有移位寄存器产生,根据序列的产生来进行判断,具有随机特性和接近于白噪声的相关函数,可确定性和可重复性。
这些特性是得伪随机序列得到了广泛的应用,特别是CDMA系统中作为扩频吗已经成为该技术中的关键问题。
2.2M序列的产生
(1)M序列的产生原理
图2.1示出的是由n级移位寄存器构成的码序列发生器。
寄存器的状态决定于时钟控制下输入的信息(“0”或“1”),例如第i级移位寄存器状态决定于前一时钟脉冲后的第i-1级移位寄存器的状态。
图中C0,C1……Cn均为反馈线,其中C0=C1=1,表示反馈连接。
因为M序列是由循环序列发生器产生的,因此C0和Cn肯定为1,即参与反馈,而反馈系数C0,C1……Cn若为1,参与反馈;若为0,则表示断开反馈线,即开路,无反馈连线。
一个线性反馈移位寄存器能否产生M序列,决定于它的反馈Ci(C0,C1……Cn的总称)。
表示出了部分M序列的反馈系数。
最长线性寄存器序列可以由反馈逻辑的递推关系表示。
序列多项式是一个以二元有限域的元素an(n=0,1,……)为系数的多项式
(2.1)
称之为序列的生成多项式,简称序列多项式。
图2.1N级循环序列发生器模型
对于一个反馈移位寄存器来说,反馈逻辑一确定,产生的序列就确定了。
那么,序列与反馈逻辑之间有什么关系呢?
由2.1可以看出,移位寄存器第一位的下一时刻的状态是由此时的r个移位寄存器的状态反馈后共同确定的,即有
(2.2)
由此可见,序列满足线性递归关系。
把an移到等式的右边并考虑到C0=1,则式可变为
(2.3)
(2)M序列的基本性质
均衡性
在M序列的一个周期内,“1”的数目比“0”的数目多一个。
该性质可以减小调制后的载漏,使得信号更加隐蔽,更能满足系统要求。
游程分布
把一个序列中取值相同的那些相继元素合称一个游程。
在一个游程中,元素的个数称为游程长度。
移位相加性
序列中,经过m次延迟移位产生的另一不同序列,二者模2加,得到的仍然是原序列的某次迟延移位序列。
周期性
M序列的周期为反馈移位寄存器的级数。
伪随机性
对一正态分布白噪声取样,若取样值为正,记为“+”;若取样值为负,记为“-”,则将每次取样所得极性排成序列。
可以写为
… + +—+——+———+—+——+ + + —— …
这是一个随机序列,具有如下基本性质:
序列中“+”和“—”的出现概率相等。
序列中长度为1的游程约占
,长度为2的游程约占
。
长度为3的游程约占
。
一般来说,长度为k的游程越占
,在长度为k的游程中,“+”和“—”的游程约各占一半。
由于白噪声的功率谱为常数,自相关函数为以冲激函数。
2.3M序列发生器
产生M序列需要如下条件:
(1)r级移位寄存器产生的码,周期,其特征多项式必然是不可约的。
(2)所有的次数的不可约多项式
必然能除尽。
(3)如果
是一个素数,则所有r次不可约多项式产生的线性移位寄存器序列,一定是M序列,产生这个M序列的不可约多项式称为本源多项式。
(4)除了第r阶以外,如果还有偶数个抽头的反馈结构,则产生的序列就不是最长线性移位寄存器序列。
M序列发生器的结构一般有两种形式,简单型(SSRG)和模件抽头型(MSRG)。
SSRG
SSRG的结构如图2.2所示,这种结构的反馈逻辑由特征多项式确定,这种结构的缺点在于反馈支路中的器件时延是叠加的,即等于所有支路中所有的模2加法器时延的总和。
因此限制了伪随机序列的工作速度。
提高SSRG工作速率的办法之一是利用抽头数目少的M序列,这样,还可简化序列产生器的结构。
MSRG
提高伪随机序列工作效率的另一个办法,就是采用MSRG型结构,如图2.2示。
这种结构的特点是:
在它的每一级触发器和他相邻一级的触发器之间接入一个模2加法器,反馈路径上无任何延时部件。
这种类型的序列发生器已被模件化。
这种结构的反馈总延时,只是一个模2加法器的延时时间,故能提高发生器的工作速度,SSRG型序列产生器的最高工作频率为:
(2.4)
式中:
为一级移位寄存器的传输时延;
为反馈网络中模2加时延的总和。
MSRG型序列产生器的最高工作频率为
MSRG型序列产生器的最高工作频率为:
(2.5)
式中:
为一级模2加法器的传输时延
图2.2SSRG结构
图2-3MSRG结构
第3章加密技术的实现及仿真
3.1M序列实现加密
加密技术实现的原理框图如图3.1所示。
图3.1M序列加密原理框图
运用MATLAB实现时的程序流程图如图3.2所示
图3.2程序流程图
3.2加密技术实现加密的程序
该设计选r为11,查表得到其反馈系数为6211,6211表示的是八进制数,将其转化为二进制数,并与移位寄存器相对应,可得到:
C11C10C9C8C7C6C5C4C3C2C1C0(3.1)
110010001001(3.2)
即C11=C10=C7=C3=C0=1有反馈,C9=C8=C6=C5=C4=C2=C1=0无反馈。
同时可得到产生m序列的特征多项式:
实现程序如下:
(1)M序列相关性程序
ind1=find(m==0);
m(ind1)=-1;%把“0”映射成“-1”
R=xcorr(m)%计算m序列自相关性
N=length(m);
figure(5);
k=-N+1:
N-1;
plot(k,R);
Gridon
RR=xcorr(m,m)%计算m序列互相关性
figure(6);
k=-N+1:
N-1;
plot(k,RR);
Gridon
(2)产生M序列程序(取前一百个)
%文件名为mxu.m
function[m]=mxu(cn);%cn为移位寄存器
cn
(1)=1;
cn(11)=1;
len=11;%所需的移位寄存器的长度
l=2^len-1;%m序列的长度
an=[zeros(1,len-1),1];%初始寄存器内容
m
(1)=an
(1);%m序列的第一个输出码元
fori=2:
l
register(1:
len-1)=an(2:
len);
register(len)=mod(sum(an.*cn),2);%寄存器与反馈的模2和
an=register;%移位后的寄存器
m(i)=an
(1);%新的寄存器输出
end
figure
(1);stairs(m);%对m序列绘图
axis([0100-0.11.1]);
(3)加解密程序
先随机的产生一个序列,与前面的m序列进行模2加,即设要发送的信息的一段信息为100111011001101,可以把信息代码与m序列逐位模2加,所以发送的序列为100000111000011;
a=randint(1,2047);%产生随机序列
figure
(2);stairs(a);%对m序列绘图
axis([02047-0.11.1]);
newregister=xor(m,a)%对a序列进行加密
figure(3);stairs(newregister);%对m序列绘图
axis([02047-0.11.1]);
y=xor(newregister,m)%对加密后的序列进行解密
figure(4);stairs(newregister);%对y序列绘图
axis([02047-0.11.1]);
3.3仿真结果及分析
(1)M序列相关性仿真结果如图3.3所示。
图3.3M序列相关性仿真图
(2)取m序列的前100个码元,其结果如下:
m=
Columns1through29
00000000001111111111101010101
Columns30through58
01001100110011101110111010010
Columns59through87
11010011100100111010001110100
Columns88through100
1111010011101
据以上数据得到M序列码元仿真波形图如图3.4所示。
图3.4M序列码元仿真波形
(3)加解密仿真分析
M序列结果分析:
a=
Columns1through29
11011001110110100111101111101
Columns30through58
01000011010001100011101100010
Columns59through87
10101111100010101000100111101
Columns88through116
10100111010000101010111000101
得到M序列绘制波形图如图3.5所示。
图3.5M序列的绘图
加密后结果分析:
newregister=
Columns1through29
11011001111001011000000101000
Columns30through58
00001111100010001101010110000
Columns59through87
01111100000110010010101001001
Columns88through116
01010011101010011011100001101
加密后仿真波形图如图3.6所示。
图3.6M序列加密的仿真波形图
解密后结果分析:
y=
Columns1through29
11011001110110100111101111101
Columns30through58
01000011010001100011101100010
Columns59through87
10101111100010
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一种 简单 计算机 通信 加密 方式 研究
![提示](https://static.bingdoc.com/images/bang_tan.gif)