首页 > 文章中心 > 加密技术论文

加密技术论文

前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇加密技术论文范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。

加密技术论文

加密技术论文范文第1篇

一:数据加密方法

在传统上,我们有几种方法来加密数据流。所有这些方法都可以用软件很容易的实现,但是当我们只知道密文的时候,是不容易破译这些加密算法的(当同时有原文和密文时,破译加密算法虽然也不是很容易,但已经是可能的了)。最好的加密算法对系统性能几乎没有影响,并且还可以带来其他内在的优点。例如,大家都知道的pkzip,它既压缩数据又加密数据。又如,dbms的一些软件包总是包含一些加密方法以使复制文件这一功能对一些敏感数据是无效的,或者需要用户的密码。所有这些加密算法都要有高效的加密和解密能力。

幸运的是,在所有的加密算法中最简单的一种就是“置换表”算法,这种算法也能很好达到加密的需要。每一个数据段(总是一个字节)对应着“置换表”中的一个偏移量,偏移量所对应的值就输出成为加密后的文件。加密程序和解密程序都需要一个这样的“置换表”。事实上,80x86cpu系列就有一个指令‘xlat’在硬件级来完成这样的工作。这种加密算法比较简单,加密解密速度都很快,但是一旦这个“置换表”被对方获得,那这个加密方案就完全被识破了。更进一步讲,这种加密算法对于黑客破译来讲是相当直接的,只要找到一个“置换表”就可以了。这种方法在计算机出现之前就已经被广泛的使用。

对这种“置换表”方式的一个改进就是使用2个或者更多的“置换表”,这些表都是基于数据流中字节的位置的,或者基于数据流本身。这时,破译变的更加困难,因为黑客必须正确的做几次变换。通过使用更多的“置换表”,并且按伪随机的方式使用每个表,这种改进的加密方法已经变的很难破译。比如,我们可以对所有的偶数位置的数据使用a表,对所有的奇数位置使用b表,即使黑客获得了明文和密文,他想破译这个加密方案也是非常困难的,除非黑客确切的知道用了两张表。

与使用“置换表”相类似,“变换数据位置”也在计算机加密中使用。但是,这需要更多的执行时间。从输入中读入明文放到一个buffer中,再在buffer中对他们重排序,然后按这个顺序再输出。解密程序按相反的顺序还原数据。这种方法总是和一些别的加密算法混合使用,这就使得破译变的特别的困难,几乎有些不可能了。例如,有这样一个词,变换起字母的顺序,slient可以变为listen,但所有的字母都没有变化,没有增加也没有减少,但是字母之间的顺序已经变化了。

但是,还有一种更好的加密算法,只有计算机可以做,就是字/字节循环移位和xor操作。如果我们把一个字或字节在一个数据流内做循环移位,使用多个或变化的方向(左移或右移),就可以迅速的产生一个加密的数据流。这种方法是很好的,破译它就更加困难!而且,更进一步的是,如果再使用xor操作,按位做异或操作,就就使破译密码更加困难了。如果再使用伪随机的方法,这涉及到要产生一系列的数字,我们可以使用fibbonaci数列。对数列所产生的数做模运算(例如模3),得到一个结果,然后循环移位这个结果的次数,将使破译次密码变的几乎不可能!但是,使用fibbonaci数列这种伪随机的方式所产生的密码对我们的解密程序来讲是非常容易的。

在一些情况下,我们想能够知道数据是否已经被篡改了或被破坏了,这时就需要产生一些校验码,并且把这些校验码插入到数据流中。这样做对数据的防伪与程序本身都是有好处的。但是感染计算机程序的病毒才不会在意这些数据或程序是否加过密,是否有数字签名。所以,加密程序在每次load到内存要开始执行时,都要检查一下本身是否被病毒感染,对与需要加、解密的文件都要做这种检查!很自然,这样一种方法体制应该保密的,因为病毒程序的编写者将会利用这些来破坏别人的程序或数据。因此,在一些反病毒或杀病毒软件中一定要使用加密技术

循环冗余校验是一种典型的校验数据的方法。对于每一个数据块,它使用位循环移位和xor操作来产生一个16位或32位的校验和,这使得丢失一位或两个位的错误一定会导致校验和出错。这种方式很久以来就应用于文件的传输,例如xmodem-crc。这是方法已经成为标准,而且有详细的文档。但是,基于标准crc算法的一种修改算法对于发现加密数据块中的错误和文件是否被病毒感染是很有效的。

二.基于公钥的加密算法

一个好的加密算法的重要特点之一是具有这种能力:可以指定一个密码或密钥,并用它来加密明文,不同的密码或密钥产生不同的密文。这又分为两种方式:对称密钥算法和非对称密钥算法。所谓对称密钥算法就是加密解密都使用相同的密钥,非对称密钥算法就是加密解密使用不同的密钥。非常著名的pgp公钥加密以及rsa加密方法都是非对称加密算法。加密密钥,即公钥,与解密密钥,即私钥,是非常的不同的。从数学理论上讲,几乎没有真正不可逆的算法存在。例如,对于一个输入‘a’执行一个操作得到结果‘b’,那么我们可以基于‘b’,做一个相对应的操作,导出输入‘a’。在一些情况下,对于每一种操作,我们可以得到一个确定的值,或者该操作没有定义(比如,除数为0)。对于一个没有定义的操作来讲,基于加密算法,可以成功地防止把一个公钥变换成为私钥。因此,要想破译非对称加密算法,找到那个唯一的密钥,唯一的方法只能是反复的试验,而这需要大量的处理时间。

rsa加密算法使用了两个非常大的素数来产生公钥和私钥。即使从一个公钥中通过因数分解可以得到私钥,但这个运算所包含的计算量是非常巨大的,以至于在现实上是不可行的。加密算法本身也是很慢的,这使得使用rsa算法加密大量的数据变的有些不可行。这就使得一些现实中加密算法都基于rsa加密算法。pgp算法(以及大多数基于rsa算法的加密方法)使用公钥来加密一个对称加密算法的密钥,然后再利用一个快速的对称加密算法来加密数据。这个对称算法的密钥是随机产生的,是保密的,因此,得到这个密钥的唯一方法就是使用私钥来解密。

我们举一个例子:假定现在要加密一些数据使用密钥‘12345’。利用rsa公钥,使用rsa算法加密这个密钥‘12345’,并把它放在要加密的数据的前面(可能后面跟着一个分割符或文件长度,以区分数据和密钥),然后,使用对称加密算法加密正文,使用的密钥就是‘12345’。当对方收到时,解密程序找到加密过的密钥,并利用rsa私钥解密出来,然后再确定出数据的开始位置,利用密钥‘12345’来解密数据。这样就使得一个可靠的经过高效加密的数据安全地传输和解密。

一些简单的基于rsa算法的加密算法可在下面的站点找到:

ftp://ftp.funet.fi/pub/crypt/cryptography/asymmetric/rsa

三.一个崭新的多步加密算法

现在又出现了一种新的加密算法,据说是几乎不可能被破译的。这个算法在1998年6月1日才正式公布的。下面详细的介绍这个算法:

使用一系列的数字(比如说128位密钥),来产生一个可重复的但高度随机化的伪随机的数字的序列。一次使用256个表项,使用随机数序列来产生密码转表,如下所示:

把256个随机数放在一个距阵中,然后对他们进行排序,使用这样一种方式(我们要记住最初的位置)使用最初的位置来产生一个表,随意排序的表,表中的数字在0到255之间。如果不是很明白如何来做,就可以不管它。但是,下面也提供了一些原码(在下面)是我们明白是如何来做的。现在,产生了一个具体的256字节的表。让这个随机数产生器接着来产生这个表中的其余的数,以至于每个表是不同的。下一步,使用"shotguntechnique"技术来产生解码表。基本上说,如果a映射到b,那么b一定可以映射到a,所以b[a[n]]=n.(n是一个在0到255之间的数)。在一个循环中赋值,使用一个256字节的解码表它对应于我们刚才在上一步产生的256字节的加密表。

使用这个方法,已经可以产生这样的一个表,表的顺序是随机,所以产生这256个字节的随机数使用的是二次伪随机,使用了两个额外的16位的密码.现在,已经有了两张转换表,基本的加密解密是如下这样工作的。前一个字节密文是这个256字节的表的索引。或者,为了提高加密效果,可以使用多余8位的值,甚至使用校验和或者crc算法来产生索引字节。假定这个表是256*256的数组,将会是下面的样子:

crypto1=a[crypto0][value]

变量''''crypto1''''是加密后的数据,''''crypto0''''是前一个加密数据(或着是前面几个加密数据的一个函数值)。很自然的,第一个数据需要一个“种子”,这个“种子”是我们必须记住的。如果使用256*256的表,这样做将会增加密文的长度。或者,可以使用你产生出随机数序列所用的密码,也可能是它的crc校验和。顺便提及的是曾作过这样一个测试:使用16个字节来产生表的索引,以128位的密钥作为这16个字节的初始的"种子"。然后,在产生出这些随机数的表之后,就可以用来加密数据,速度达到每秒钟100k个字节。一定要保证在加密与解密时都使用加密的值作为表的索引,而且这两次一定要匹配。

加密时所产生的伪随机序列是很随意的,可以设计成想要的任何序列。没有关于这个随机序列的详细的信息,解密密文是不现实的。例如:一些ascii码的序列,如“eeeeeeee"可能被转化成一些随机的没有任何意义的乱码,每一个字节都依赖于其前一个字节的密文,而不是实际的值。对于任一个单个的字符的这种变换来说,隐藏了加密数据的有效的真正的长度。

如果确实不理解如何来产生一个随机数序列,就考虑fibbonacci数列,使用2个双字(64位)的数作为产生随机数的种子,再加上第三个双字来做xor操作。这个算法产生了一系列的随机数。算法如下:

unsignedlongdw1,dw2,dw3,dwmask;

inti1;

unsignedlongarandom[256];

dw1={seed#1};

dw2={seed#2};

dwmask={seed#3};

//thisgivesyou332-bit"seeds",or96bitstotal

for(i1=0;i1<256;i1++)

{

dw3=(dw1+dw2)^dwmask;

arandom[i1]=dw3;

dw1=dw2;

dw2=dw3;

}

如果想产生一系列的随机数字,比如说,在0和列表中所有的随机数之间的一些数,就可以使用下面的方法:

int__cdeclmysortproc(void*p1,void*p2)

{

unsignedlong**pp1=(unsignedlong**)p1;

unsignedlong**pp2=(unsignedlong**)p2;

if(**pp1<**pp2)

return(-1);

elseif(**pp1>*pp2)

return(1);

return(0);

}

...

inti1;

unsignedlong*aprandom[256];

unsignedlongarandom[256];//samearrayasbefore,inthiscase

intaresult[256];//resultsgohere

for(i1=0;i1<256;i1++)

{

aprandom[i1]=arandom+i1;

}

//nowsortit

qsort(aprandom,256,sizeof(*aprandom),mysortproc);

//finalstep-offsetsforpointersareplacedintooutputarray

for(i1=0;i1<256;i1++)

{

aresult[i1]=(int)(aprandom[i1]-arandom);

}

...

变量''''aresult''''中的值应该是一个排过序的唯一的一系列的整数的数组,整数的值的范围均在0到255之间。这样一个数组是非常有用的,例如:对一个字节对字节的转换表,就可以很容易并且非常可靠的来产生一个短的密钥(经常作为一些随机数的种子)。这样一个表还有其他的用处,比如说:来产生一个随机的字符,计算机游戏中一个物体的随机的位置等等。上面的例子就其本身而言并没有构成一个加密算法,只是加密算法一个组成部分。

作为一个测试,开发了一个应用程序来测试上面所描述的加密算法。程序本身都经过了几次的优化和修改,来提高随机数的真正的随机性和防止会产生一些短的可重复的用于加密的随机数。用这个程序来加密一个文件,破解这个文件可能会需要非常巨大的时间以至于在现实上是不可能的。

四.结论:

由于在现实生活中,我们要确保一些敏感的数据只能被有相应权限的人看到,要确保信息在传输的过程中不会被篡改,截取,这就需要很多的安全系统大量的应用于政府、大公司以及个人系统。数据加密是肯定可以被破解的,但我们所想要的是一个特定时期的安全,也就是说,密文的破解应该是足够的困难,在现实上是不可能的,尤其是短时间内。

参考文献:

1.pgp!/

cyberknights(newlink)/cyberkt/

(oldlink:/~merlin/knights/)

2.cryptochamberjyu.fi/~paasivir/crypt/

3.sshcryptographa-z(includesinfoonsslandhttps)ssh.fi/tech/crypto/

4.funet''''cryptologyftp(yetanotherfinlandresource)ftp://ftp.funet.fi/pub/crypt/

agreatenigmaarticle,howthecodewasbrokenbypolishscientists

/nbrass/1enigma.htm

5.ftpsiteinukftp://sable.ox.ac.uk/pub/crypto/

6.australianftpsiteftp://ftp.psy.uq.oz.au/pub/

7.replayassociatesftparchiveftp://utopia.hacktic.nl/pub/replay/pub/crypto/

8.rsadatasecurity(whynotincludethemtoo!)/

加密技术论文范文第2篇

1.1硬件方面的安全问题

(1)芯片陷阱。在计算机中所利用到的芯片,通常具备秘密功能,而且这些秘密功能很难让人察觉。在国外,对于我国所使用的CPU集成了病毒指令及陷阱指令。他们能够通过对无线代码的利用,从而使CPU等内部指令得到有效激活,进一步导致内部信息发生外泄,最终导致计算机瘫痪而无法正常运行。

(2)电磁泄漏。计算机在运行过程中,会辐射出巨大的电磁脉冲,恶意破坏者则通过对计算机辐射的电磁波进行接收,进一步通过复原获取计算机中的信息数据。

(3)硬件故障。在计算机存储器硬件遭遇损坏的情况下,便会导致所存储的数据无法有效读取出来。

1.2软件方面的安全问题

(1)窃听。主要指的是资料数据在进行网络传输过程当中,被第三方非法获取,从而造成资料数据的流失。对于企业而言,遭遇窃听则会泄漏公司机密,从而使企业造成不可估量的经济损失。

(2)病毒入侵。主要指的是电脑病毒,对于电脑病毒来说,能够进行自行复制,从而对应用软件进行更换,并且还可以更改资料或删除文档。

(3)网络钓鱼。通过或者仿冒网络商店的构建,从而获取网民的信息资料,进一步造成网民个人信息泄露或直接的经济损失。

(4)伪装及篡改。在“伪装”方面,主要指的是攻击者伪装成合法的使用者,从而轻而易举地获取使用权限。在“篡改”方面主要指的是资料被篡改,比如储存或者处于传输过程中的资料被篡改,那么这些资料的完整性便遭遇损坏,同时这些资料的安全性也失去了可靠性及安全性。

二、计算机安全常见问题的防御对策探究

1、加固技术

使用加固技术可以使计算机硬件的安全性得到有效提升。涵盖了防腐加固、温度环境加固、密封加固及防震加固等。对于加固技术中的防辐射加固来说,是将计算机各方面的硬件,比如电源、硬盘、芯片等均进行屏蔽,从而使电磁波辐射现象的发生实现有效避免。当然,对于计算机硬件方面的工作,除了加固技术外,还需具体情况具体分析,比如为了使数据存储的安全性得到有效提升,便可以使用数据备份的方面,把有用的数据进行定期复制,并进一步加以保存。

2、加密技术

为了使信息窃取实现有效避免,便可以采取加密技术。该项技术主要分为两类,一类为对称加密技术,另一类为非对称加密技术。其中,对于对称加密技术来说,主要是指信息的发送方与接收方使用同一各密钥进行加密及解密数据。非对称加密技术即为公钥加密,通过一对密钥的利用,以分别的方式进行加密与解密数据。

3、认证技术

对于认证技术来说,主要是指通过电子手段的加以利用,以此证明发送者与接受者身份的一种技术,同时该项技术还能够辨识文件的完整性。也就是说,能够辨识出数据在传输过程中是否被篡改或非法存储等。认证技术分为两类,一类为数字签名,另一类为数字证书。其中,数字签名又称之为电子签名,主要是将数字签名当作报文发送给接收者。对于用户来说,可以通过安全可靠的方法向相关部门提交资金的公钥,从而获取证书,进一步用户便具备公开此项证书的合法权益。对于需要用户公钥的人,均能够获取此项证书,并且通过相关合法协议的签订,从而使公钥的有效性得到证实。对于数字证书来说,将交易各方的身份信息逐一标识出来,进一步提供出验证各身份的方法,如此一来用户便能够使用这些方法对对方的身份进行有效识别。

三、结语

加密技术论文范文第3篇

了对于蓝牙加密算法所存在的问题的解决方案。

关键字蓝牙流加密分组加密DESAES

1引言

随着计算机网络技术的迅速发展,网络中的信息安全问题越来越受到广泛关注。信息安全主要涉及到用户身份验证、访问控制、数据完整性、数据加密等问题。网络安全产品大量涌现。虽然各种网络安全产品的功能多种多样,但它们无一例外地要使用加密技术。一个好的加密算法首先表现在它的安全性上,一个不安全的算法会使使用它的网络变得更加脆弱;其次要考虑它在软硬件方面实现的难易度,不易实现的加密算法是不现实的;第三要看使用此加密算法会不会降低数据传输速率。

蓝牙技术是一种新兴的无线网络标准,它基于芯片提供短距离范围的无线跳频通信。它注定会成为一项通用的低成本无线技术,可适用于一系列范围广泛的数据通信应用。蓝牙标准定义了一系列安全机制,从而为近距离无线通信提供了基本的保护。它要求每个蓝牙设备都要实现密钥管理、认证以及加密等功能。此外蓝牙技术所采用的跳频数据通信方式本身也是一个防止窃听的有效安全手段。蓝牙加密过程中所用到的加密算法是E0流密码。但是这种算法存在有一些缺点,128位密钥长度的E0流加密在某些情况下可通过0(2^64)方式破解。所以对于大多数需要将保密放在首位来考虑的应用来说,仅仅采用蓝牙提供的数据安全性是不够的。

2蓝牙标准中的安全措施

蓝牙技术中,物理层数据的安全性主要是采用了跳频扩展频谱,由于蓝牙技术采用了跳频技术从而使得窃听变得极困难。蓝牙射频工作在2.4Hz频段。在北美和欧洲的大部分国家,蓝牙设备工作与从2.402到2.480Hz的频带,整个频带被分为79个1MHz带宽的子信道。FHSS依靠频率的变化来对抗干扰。如果射频单元在某个频率遇到干扰,则会在下一步跳到另一频率点时重传受到干扰的信号,因此总的干扰可变得很低。

为了得到完整的传输数据,蓝牙技术使用以下三种纠错方案:1/3比例前向纠错码(FEC),2/3比例前向纠错码(FEC),数据的自动重发请求(ARQ)方案。

蓝牙技术产品的认证和加密服务一般由链路层提供,认证采用口令-应答方式进行。在连接过程中往往需要一两次认证。为了确保通信安全,对蓝牙技术产品进行认证是十分必要的,通过认证之后,可以允许用户自行增添可信任的蓝牙技术设备,例如,用户自己的笔记本电脑经过认证之后,能够确保只有用户自己的这台笔记本电脑,才可以借助用户自己的移动电话手机进行通信。

若对于通信有更高的安全要求,那么通信中的蓝牙技术产品就不必局限于采用物理层的提供,还可以采用更高级别的传输层和应用层安全机制,以确保基于蓝牙技术产品的通信更加安全可靠。

3蓝牙技术中的加密算法

在链路层中,蓝牙系统提供了认证、加密和密钥管理等功能,每一个用户都有一个标识码(PIN),蓝牙设备中所用的PIN码的长度可以在1到16个字节之间变化。通常4个字节的PIN码已经可以满足一般应用,但是更高安全级别的应用将需要更长的码字。PIN码可以是蓝牙设备提供的一个固定码,也可以由用户任意指定,标识码(PIN)会被一个128位链路密钥来进行单双向认证。一旦认证完毕,链路层会以不同长度的密钥来加密。如图1。

PINPIN

认证

链路密钥

链路密钥

加密

加密密钥Kc

加密密钥Kc

申请者校验者

图1:蓝牙中链路层的加密过程

蓝牙技术在加密过程中所采用的加密算法如下表1。

表1:蓝牙加密过程中所用的加密算法

3.1认证算法

在认证过程中,用于蓝牙认证的E1认证函数来计算出一个安全认证码或被称为MAC(媒体访问控制地址)。E1所采用的算法是SAFER+,SAFER+算法是参与1997年美国国家标准技术研究所(NIST)征集AES(AdvancedEncryptionStandard)的候选算法之一。SAFER+是基于现有的64位分组密码的SAFER-SK128,因此它的安全性可以说是经过了时间的考验。

E1函数的输入是linkkey,AU_RAND及BD_ADDR,它的定义如下:

E1:

在蓝牙技术中,认证采用口令-应答方式。验证方要求申请者鉴别随机数AU_RAND并返回计算结果SRES,若双方的计算结果相等则认证成功,并保留ACO(AuthenticatedCipheringOffset)值。若某次认证失败,则必须等待一定的时间间隔才能进行再次认证

3.2加密算法

在蓝牙技术中,用户信息可采用分组有效载荷的加密进行保护,但识别码和分组头不加密。有效载荷的加密采用E0流密码来实现。E0将对每一有效载荷重新同步。流密码系统E0由三部分组成。第一部分执行初始化(生成有效载荷字),第二部分生成密钥流,第三部分完成加密和解密,如图2。

有效载荷字明码文本/密码文本

Kc

地址

时钟Z密码文本/明码文本

RAND

图2蓝牙的E0流加密

有效载荷字发生器非常简单,它仅仅以适当序列对输入的位进行组合,然后将它们转移到用于密钥流发生器的四位LFSR中。加密机采用了四个线性反馈移位寄存器(LFSR),依次为LFSR1、LFSR2、LFSR3、LFSR4,其长度分别为25,31,33,39比特。LFSR的性质:加密机把四个LFSR的输出结果输入到一个有限状态机中,经有限状态机的组合运算输出密钥流序列,若在初始化阶段则输出一个随机的初始化值。加密算法使用Kc、BD_ADDR、主时钟CLK26-1及RAND这些参数。时钟CLK26-1按时隙递增,在任两次发送中,CLK26-1至少有一位是不同的,因此在每次初始化后都将产生新的密钥流。对占用多个时隙的分组来说,CLK26-1为分组所占的第一个时隙的时钟值。

第二部分是该密码系统的主要部分,并也将用于初始化过程中。密钥流取自于Massey和Rueppel流密码发生器的方法来生成。

最后就是流加密算法的加密过程。将数据流与密码算法生成二进制流比特进行异或运算。对于加密规则,流密码算法用于将加密位按位模2并加到数据流上,然后通过无线接口进行传输。对每一分组的有效载荷的加密是单独进行的,它发生在CRC校验之后,FEC编码之前。由于加密是对称的,解密使用完全和加密相同的密钥和相同的方法实现。

4蓝牙标准中加密算法存在的问题

蓝牙所采用的E0流密码算法的本身就有一些弱点。流密码算法主要的缺点在于若一个伪随机序列发生错误便会使整个密文发生错误,致使在解密过程中无法还原回明文。流加密算法系统的安全完全依靠密钥流发生器的内部机制。如果它的输出是无穷无尽的0序列,那么密文就是明文,这样整个系统就一文不值;如果它的输出是一个周期性的16-位模式,那么该算法仅是一个可忽略安全性的异或运算;如果输出的是一系列无尽的随机序列(是真正的随机,非伪随机),那么就有一次一密乱码本和非常完美的安全。实际的流密码算法的安全性依赖于简单的异或运算和一次一密乱码本。密钥流发生器产生的看似随机的密钥流实际上是确定的,在解密的时候能很好的将其再现。密钥流发生器输出的密钥越接近于随机,对密码分析者来说就越困难。然而,这种随机的密钥流却不容易得到。

在蓝牙E0流加密中用到的LFSR易受到相关攻击和分割解决攻击,且用软件实现效率非常低。在实现过程中要避免稀疏的反馈多项式,因为它们易遭到相关攻击,但稠密的反馈多项式效率也很低。事实上LFSR算法用软件实现并不比DES快。

以上的这些问题会让人认为蓝牙的安全体系是高度不可靠的,然而一个不可忽略的事实是:通过蓝牙连接传输的数据一般来说并不是非常重要的。目前蓝牙标准考虑到的安全技术只适用于规模较小的网络,如果网络结点较多,拓扑复杂(如AdHoc网络),现有的基于点对点的密钥分配和认证机制不能满足需求。蓝牙所提供的数据安全性措施对小型应用来说看起来已足够了,但任何敏感数据或会产生问题的数据都不应直接通过蓝牙传输。为了使蓝牙技术应用得更广泛,我们可采用另外更强劲的加密算法,如DES算法。

5DES解决方案

5.1DES简介

1977年1月,美国政府采纳了由IBM研制的作为非绝密信息的正式标准乘积密码。这激励了一大批生产厂家实现这个在保密产业中成为数据加密标准DES(dataencrytionstandard)的加密算法。此算法有一个64比特的密钥作为参数。明文按64比特分组加密,生成64比特的密文。

由于DES是一种块加密方法,这意味着加密过程是针对一个数据块一个数据块地进行的。在DES算法中,原始信息被分成64位的固定长度数据块,然后利用56位的加密密钥通过置换和组合方法生成64位的加密信息。解密用的密钥与加密密钥相同,只是解密步骤正好相反。DES传送数据的一般形式是以代入法密码格式按块传送数据。DES采用的加密方法,一次加密一位或一个字节,形成密码流。密码流具有自同步的特点,被传送的密码文本中发生错误和数据丢失,将只影响最终的明码文本的一小段(64位),这称为密码反馈。

与蓝牙流密码算法不同,数学上可以证明分组加密算法是完全安全的。DES块密码是高度随机的、非线性的,生成的加密密文与明文和密钥的每一位都相关。DES的可用加密密钥数量多达72x1015个。应用于每一明文信息的密钥都是从这一巨大数量的密钥中随机产生的。DES算法已被广泛采用并被认为是非常可靠的。

5.2蓝牙中用DES取代E0流密码

如图1,在两个蓝牙设备经过认证并已生成了加密密钥Kc后就可进行加密了。因为Kc可在8~128比特变化,而DES加密算法使用长度为56比特的密钥加密长度为64比特的明文从而获得64比特的密文,所以这里可取Kc的长度为56比特。用DES加密蓝牙数据分组的过程如下:

a)将来自蓝牙分组分割成64比特的明文段。其中的一段记为x=DIN[63:0],先通过一个固定的初始置换IP,将x的比特置换为x0。即:x0=IP(x)=L0R0,这里L0是x0的前32比特,R0是x0的后32比特。

b)进行16轮完全相同的运算,在这里是数据与密钥相结合,例计算LiRi,。

Li=Ri-1

Ri=Lif(Ri-1,Ki)

其中Ki是来自密钥Kc=Key[63:0]的比特的一个置换结果。而f函数是实现代替、置换及密钥异或的函数。

c)对R16L16进行初始置换IP的逆置换IP,获得密文y=DOUT[63:0],即y=IP(R16L16)。最后一次迭代后,左边和右边未交换,将R16L16作为IP的输入,目的是使算法可同时用于加密和解密。

无论是硬件还是软件,此DES加密方案都易实现。其中DES的硬件实现如图3。此硬件加密方案采用低成本的可编程逻辑器件和现成可用的用于高级加密处理的智力产权(IP)产品实现。目前,大批量时只用10美元即可购买到10万系统门的可编程逻辑器件。这些器件还允许在设计中增加其它功能,如高级错误纠正。因此可编程逻辑器件可大幅度降低系统级的成本。

用软件(这里选用C语言)来实现该加密算法。为了算法实现的方便,这里删去了初始置换和末置换。

将此加密算法嵌入蓝牙协议中的基带部分以取代E0流密码算法,可允许蓝牙技术安全地应用到范围广泛的安全性具有最重要地位的应用中去。这些应用包括:金融电子交易:ATM、智能卡,安全电子商务交易,安全办公通信,安全视频监视系统,数字机顶盒,高清晰度电视(HDTV),其它消费电子设备等领域。

另外,对蓝牙加密这个过程中,可发现DES加密算法在近距离无线局域网的特定环境下存在一些问题。进而优化算法,最终可为应用于各种近距离无线网络通信的加密算法的选择提供有实际意义的参考依据。

6结束语

蓝牙是一项将会改变我们通信方式的令人激动的新技术。然而,蓝牙技术在标准化过程中都未曾完整地考虑安全问题。作为以无线信道为传输媒体的通信网络,蓝牙网络相对于固定网络更容易受到攻击。对于数据安全性处于首要地位的应用来说,实现高水平的数据安全性是必须的。目前蓝牙标准所采用的E0流密码算法存在着很多弊端,而DES和RSA算法相对来说更安全,而且较易实现。

参考文献

[1]金纯许光辰等编著《蓝牙技术》[M](北京)电子工业出版社2001年3月

[2]于跃韩永飞蓝牙技术的安全性[J]《电信技术》2001年第9期

[3]Andrew《ComputerNetwork》[M]S.TanenbaunPrenticeHall1998

[4]VainioJ.,BluetoothSecurity,05-25-2000

[5]Bluetooth,TheBluetoothSpecification,v.1.0B

/developer/specification/specification.asp

加密技术论文范文第4篇

由于互联网的开放性和通用性,网上的所有信息对所有人都是公开的,所以网络上的信息安全问题也日益突出。近年来,因特网上的安全事故屡有发生。连入因特网的用户面临诸多的安全风险:拒绝服务、信息泄密、信息篡改、资源盗用、声誉损害等等。这些安全风险的存在阻碍了计算机网络的应用与发展。在网络化、信息化的进程不可逆转的形势下,建立安全可靠的网络信息系统是一种必然选择。

数据加密技术是对信息进行重新编码,从而达到隐藏信息内容,非法用户无法获得信息真实内容的一种技术手段。网络中的数据加密则是通过对网络中传输的信息进行数据加密,满足网络安全中数据加密、数据完整性等要求,而基于数据加密技术的数字签名技术则可满足审计追踪等安全要求。可见,数据加密技术是实现网络安全的关键技术。

二、数据加密相关信息

2.1数据加密的方法

加密技术通常分为两大类:对称式和非对称式

对称式加密,被广泛采用,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法,对称加密算法使用起来简单快捷,密钥较短,且破译困难。对称加密的优点是具有很高的保密强度,可以达到经受较高级破译力量的分析和攻击,但它的密钥必须通过安全可靠的途径传递,密钥管理成为影响系统安全的关键性因素,使它难以满足系统的开放性要求。对称密码加密算法中最著名的是DES(Data Encryption Standard)加密算法,它是由IBM公司开发的数据加密算法,它的核心是乘积变换。如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫非对称加密算法。非对称密码的主要优点是可以适应开放性的使用环境,密钥管理问题相对简单,可以方便、安全地实现数字签名和验证, 但加密和解密花费时间长、速度慢。非对称加密算法中最著名的是由美国MIT的Rivset、Shemir、Adleman于1977年实现的RSA算法。

2.2 数据加密的标准

最早、最著名的保密密钥或对称密钥加密算法DES(Data Encryption Standard)是由IBM公司在70年展起来的,并经政府的加密标准筛选后,于1976年11月被美国政府采用,DES随后被美国国家标准局和美国国家标准协会(American National Standard Institute,ANSI)承认。 DES使用56位密钥对64位的数据块进行加密,并对64位的数据块进行16轮编码。与每轮编码时,一个48位的”每轮”密钥值由56位的完整密钥得出来。DES用软件进行解码需用很长时间,而用硬件解码速度非常快。幸运的是,当时大多数黑客并没有足够的设备制造出这种硬件设备。在1977年,人们估计要耗资两千万美元才能建成一个专门计算机用于DES的解密,而且需要12个小时的破解才能得到结果。当时DES被认为是一种十分强大的加密方法。另一种非常著名的加密算法就是RSA了,RSA算法是基于大数不可能被质因数分解假设的公钥体系。简单地说就是找两个很大的质数。一个对外公开的为“公钥”(Prblic key) ,另一个不告诉任何人,称为“私钥”(Private key)。这两个密钥是互补的,也就是说用公钥加密的密文可以用私钥解密,反过来也一样。

三、数据加密传输系统

3.1 系统的整体结构

系统的整体结构分为以下几个模块,首先是发送端的明文经过数据加密系统加密后,文件传输系统将加密后的密文传送给接收端,接收端接收到密文以后,用已知的密钥进行解密,得到明文。

3.2 模块设计

3.2.1 加解密模块

(1)DES加解密模块。DES加解密模块的设计,分为两个部分:DES加密文件部分和DES加密演示部分。DES加密文件部分可以实现对文件的浏览,选中文件后对文件进行加密,加密后的文件存放在新的文档;DES加密演示部分输入数据后可以直接加密。(2)RSA加解密模块。RSA加解密系统,主界面有三个模块,分别为加密、解密和退出;加密模块对明文和密钥的输入又设置了直接输入和从文件读取;解密模块可以直接实现对文件的解密。

3.2.2 文件传输模块

(1)文件浏览:用户手动点击浏览按钮,根据用户的需要,按照目录选择要传输的文件,选中文件。(2)文件传输:当用户点击发送文件时,文件就可通过软件传给客户端。点击客户端按钮,软件会弹出客户端的窗体,它包含输入框(输入对方IP地址)和按钮(接收和退出),通过输入IP地址,就可实现一台电脑上的文件传输。

四、数据加密在商务中的应用

在电子商务发展过程中,采用数字签名技术能保证发送方对所发信息的不可抵赖性。在法律上,数字签名与传统签名同样具有有效性。数字签名技术在电子商务中所起的作用相当于亲笔签名或印章在传统商务中所起的作用。

数据签名技术的工作原理: 1.把要传输的信息用杂凑函数(Hash Function)转换成一个固定长度的输出,这个输出称为信息摘要(Message Digest,简称MD)。杂凑函数是一个单向的不可逆的函数,它的作用是能对一个输入产生一个固定长度的输出。 2.发送者用自己的私钥(SK)对信息摘要进行加密运算,从而形成数字签名。 3.把数字签名和原始信息(明文)一同通过Internet发送给接收方。 4.接收方用发送方的公钥(PK)对数字签名进行解密,从而得到信息摘要。 5.接收方用相同的杂凑函数对接收到的原始信息进行变换,得到信息摘要,与⑷中得到的信息摘要进行比较,若相同,则表明在传输过程中传输信息没有被篡改。同时也能保证信息的不可抵赖性。若发送方否认发送过此信息,则接收方可将其收到的数字签名和原始信息传送至第三方,而第三方用发送方的公钥很容易证实发送方是否向接收方发送过此信息。

然而,仅采用上述技术在Internet上传输敏感信息是不安全的,主要有两方面的原因。 1.没有考虑原始信息即明文本身的安全; 2.任何知道发送方公钥的人都可以获取敏感信息,而发送方的公钥是公开的。 解决1可以采用对称密钥加密技术或非对称密钥加密技术,同时考虑到整个加密过程的速度,一般采用对称密钥加密技术。而解决2需要介绍数字加密算法的又一应用即数字信封。

五、 结论

上述内容主要介绍了数据传输过程中的加密处理,数据加密是一个主动的防御策略,从根本上保证数据的安全性。和其他电子商务安全技术相结合,可以一同构筑安全可靠的电子商务环境,使得网上通讯,数据传输更加安全、可信。

参 考 文 献

[1]黄河明.数据加密技术及其在网络安全传输中的应用.硕士论文,2008年

[2]孟扬.网络信息加密技术分析[J].信息网络安全,2009年4期

[3]戴华秀,郑强.浅谈数据加密技术在网络安全中的应用[J].华章,2011年7期

加密技术论文范文第5篇

论文摘要:本文在阐述计算机网络的基础上分析了当前计算机系统安全及网络安全等问题,提出了一些相应的防范措施,提出了计算机网络信息安全应注重研究的几个问题。

随着国际互联网的迅猛发展,世界各国遭受计算机病毒感染和黑客攻击的事件屡屡发生,严重地干扰了正常的人类社会生活。因此,加强网络的安全显得越来越重要,防范计算机病毒将越来越受到世界各国的高度重视。

一、计算机病毒

计算机病毒就是指编制或在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用,并能自我复制的一组计算机指令或程序代码。计算机病毒的特性表现为传染性、隐蔽性、潜伏性和破坏性。计算机病毒的检测方法主要有人工方法、自动检测(用反病毒软件)和防病毒卡。

二、计算机系统安全

计算机信息系统的安全保护包括计算机的物理组成部分、信息和功能的安全保护。

1、实体安全

计算机主机及外设的电磁干扰辐射必须符合国家标准或军队标准的要求。系统软件应具备以下安全措施:操作系统应有较完善的存取控制功能,以防止用户越权存取信息;应有良好的存贮保护功能,以防止用户作业在指定范围以外的存贮区域进行读写;还应有较完善的管理能力,以记录系统的运行情况,监测对数据文件的存取。

2、输入输出控制

数据处理部门的输出控制应有专人负责,数据输出文件在发到用户之前,应由数据处理部门进行审核,输出文件的发放应有完备手续,计算机识别用户的最常用的方法是口令,所以须对口令的产生、登记、更换期限实行严格管理。系统应能跟踪各种非法请求并记录某些文件的使用情况,识别非法用户的终端。计算机系统必须有完整的日志记录,每次成功地使用,都要记录节点名、用户名、口令、终端名、上下机时间、操作的数据或程序名、操作的类型、修改前后的数据值。

三、网络安全

计算机网络安全的目标是在安全性和通信方便性之间建立平衡。计算机的安全程度应当有一个从低、中到高的多层次的安全系统,分别对不同重要性的信息资料给与不同级别的保护。

1、计算机网络安全现状

计算机网络安全具有三个特性:

⑴保密性:网络资源只能由授权实体存取。⑵完整性:信息在存储或传输时不被修改、信息包完整;不能被未授权的第二方修改。⑶可用性:包括对静态信息的可操作性及对动态信息内容的可见性。

2、计算机网络安全缺陷

⑴操作系统的漏洞:操作系统是一个复杂的软件包,操作系统最大的漏洞是I/O处理——I/O命令通常驻留在用户内存空间,任何用户在I/O操作开始之后都可以改变命令的源地址或目的地址。⑵TCP/IP 协议的漏洞:TCP/IP协议由于采用明文传输,在传输过程中,攻击者可以截取电子邮件进行攻击,通过在网页中输入口令或填写个人资料也很容易攻击。⑶应用系统安全漏洞:WEB服务器和浏览器难以保障安全,很多人在编CGI 程序时不是新编程序,而是对程序加以适当的修改。这样一来,很多CGI 程序就难免具有相同安全漏洞。⑷安全管理的漏洞:缺少网络管理员,信息系统管理不规范,不能定期进行安全测试、检查,缺少网络安全监控等,对网络安全都会产生威胁。

3、计算机网络安全机制应具有的功能

网络安全机制应具有身份识别、存取权限控制、数字签名、审计追踪、密钥管理等功能。

4、计算机网络安全常用的防治技术

⑴加密技术:加密在网络上的作用就是防止重要信息在网络上被拦截和窃取。加密技术是实现保密性的主要手段,采用这种技术可以把重要信息或数据从一种可理解的明文形式变换成一种杂乱的、不可理解的密文形式,并以密文形式将信息在线路上传输,到达目的端口后将密文还原成明文。常见的加密技术分单密钥密码技术和公开密钥技术两种。这两种加密技术在不同方面各具优势,通常将这两种加密技术结合在一起使用。⑵防火墙技术:所谓“防火墙”,是指一种将内部网和公众访问网(如Internet)分开的方法,它实际上是一种隔离技术。防火墙是在两个网络通讯时执行的一种访问控制尺度,它能允许你“同意”的人和数据进入你的网络,同时将你“不同意”的人和数据拒之门外,阻止网络中的黑客来访问你的网络,防止他们更改、拷贝、毁坏你的重要信息。实现防火墙的技术包括四大类——网络级防火墙(也叫包过滤型防火墙)、应用级网关、电路级网关和规则检查防火墙。防火墙的作用是防止外部用户非法使用内部网络资源,并且保护内部网络的设备不受破坏,防止内部网络的主要数据被窃取。一个防火墙系统通常由屏蔽路由器和服务器组成。屏蔽路由器是一个多端口的IP路由器,它通过对每一个到来的IP包依据一组规则进行检查,来判断是否对之进行转发。屏蔽路由器从包头取得信息,例如协议号、收发报文的IP地址和端口号、连接标志以至另外一些IP选项,对IP包进行过滤。

四、结论

计算机病毒在形式上越来越难以辨别,造成的危害也日益严重,这就要求网络防毒产品在技术上更先进、功能上更全面。而计算机网络安全是计算机技术快速发展过程中日益突出的问题,目前中国的科研机构正广泛开展这一方面研究,主要是反病毒研究、反黑客问题研究、计算机网络防火墙技术、加密技术、安全机制。到时,计算网络就会得到更安全的保障。

参考文献

1、陈立新:《计算机:病毒防治百事通》[M],北京:清华大学出版社,2001