数据加密技术论文范文

时间:2023-03-01 16:22:20

引言:寻求写作上的突破?我们特意为您精选了4篇数据加密技术论文范文,希望这些范文能够成为您写作时的参考,帮助您的文章更加丰富和深入。

数据加密技术论文

篇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/

篇2

2计算机网络安全中数据加密技术的有效应用

当前,数据加密技术是一项确保计算机网络安全的应用最广泛的技术,且随着社会及科技的发展而不断发展。数据加密技术的广泛应用为计算机网络安全提供良好的环境,同时较好的保护了人们运用互联网的安全。密钥及其算法是数据加密技术的两个主要元素。密钥是一种对计算机数据进行有效编码、解码的算法。在计算机网络安全的保密过程中,可通过科学、适当的管理机制以及密钥技术来提高信息数据传输的可靠性及安全性。算法就是把普通信息和密钥进行有机结合,从而产生其他人难以理解的一种密文步骤。要提高数据加密技术的实用性及安全性,就要对这两个因素给予高度重视。

2.1链路数据加密技术在计算机网络安全中的应用

一般情况下,多区段计算机计算机采用的就是链路数据加密技术,其能够对信息、数据的相关传输路线进行有效划分,并以传输路径以及传输区域的不同对数据信息进行针对性的加密。数据在各个路段传输的过程中会受到不同方式的加密,所以数据接收者在接收数据时,接收到的信息数据都是密文形式的,在这种情况下,即便数据传输过程被病毒所获取,数据具有的模糊性也能对数据信息起到的一定程度的保护作用。此外,链路数据加密技术还能够对传送中的信息数据实行相应的数据信息填充,使得数据在不同区段传输的时候会存在较大的差异,从而扰乱窃取者数据判断的能力,最终达到保证数据安全的目的。

2.2端端数据加密技术在计算机网络安全中的应用

相比链路数据加密技术,端端数据加密技术实现的过程相对来说较为容易。端端数据加密技术主要是借助密文形式完成信息数据的传输,所以数据信息传输途中不需要进行信息数据的加密、解密,这就较好的保障了信息安全,并且该种技术无需大量的维护投入及运行投入,由于端端数据加密技术的数据包传输的路线是独立的,因而即使某个数据包出现错误,也不会干扰到其它数据包,这一定程度上保证了数据传输的有效性及完整性。此外,在应用端端数据加密技术传输数据的过程中,会撤销原有信息数据接收者位置的解密权,除了信息数据的原有接收者,其他接收者都不能解密这些数据信息,这极大的减少了第三方接收数据信息的几率,大大提高了数据的安全性。

2.3数字签名信息认证技术在计算机网络安全中的有效应用

随着计算机相关技术的快速发展,数字签名信息认证技术在提高计算机网络安全中的重要作用日渐突出。数字签名信息认证技术是保障网络安全的主要技术之一,主要是通过对用户的身份信息给予有效的确认与鉴别,从而较好的保证用户信息的安全。目前,数字签名信息认证的方式主要有数字认证以及口令认证两种。数字认证是在加密信息的基础上完成数据信息密钥计算方法的有效核实,进一步增强了数据信息的有效性、安全性。相较于数字认证而言,口令认证的认证操作更为快捷、简便,使用费用也相对较低,因而使用范围更广。

2.4节点数据加密技术在计算机网络安全中的有效应用

节点数据加密技术和链路数据加密技术具有许多相似之处,都是采取加密数据传送线路的方法来进行信息安全的保护。不同之处则是节点数据加密技术在传输数据信息前就对信息进行加密,在信息传输过程中,数据信息不以明文形式呈现,且加密后的各项数据信息在进入传送区段之后很难被其他人识别出来,以此来达到保护信息安全的目的。但是实际上,节点数据加密技术也存在一定弊端,由于其要求信息发送者和接收方都必须应用明文形式来进行信息加密,因而在此过程中,相关信息一旦遭到外界干扰,就会降低信息安全。

2.5密码密钥数据技术在计算机网络安全中的有效应用

保护数据信息的安全是应用数据加密技术的最终目的,数据加密是保护数据信息安全的主动性防治措施。密钥一般有私用密钥及公用密钥两种类型。私用密钥即信息传送双方已经事先达成了密钥共识,并应用相同密钥实现信息加密、解密,以此来提高信息的安全性。而公用密钥的安全性则比较高,其在发送文件发送前就已经对文件进行加密,能有效避免信息的泄露,同时公用密钥还能够与私用密钥互补,对私用密钥存在的缺陷进行弥补。

篇3

2数据加密技术在计算机网络安全中的应用

2.1数据加密技术在软件加密中的应用

软件是计算机运用不可或缺的组成部分,在计算机的日常运用时,病毒和网络黑客最常侵入计算机软件,软件由于设计上的漏洞也最容易遭受病毒和黑客的入侵。在软件中应用数据加密技术进行软件加密,可以对计算机病毒及网络黑客的入侵进行有效的阻挡。加密程序的执行过程中,加密操作员必须对加密数据进行检测,避免文件中隐藏有病毒,若是检测出病毒,必须进行相应处理及检测软件、数据和系统的完整性和保密性,遏制病毒的蔓延。因此,数据加密技术在软件加密中的应用,对计算机网络安全和信息数据的保护,起到了至关重要的作用。

2.2数据加密技术应用于网络数据库加密

现有使用的网络数据库管理系统平台大部分是WindowsNT或者Unix,它们的平台操作系统的安全评价级别通常为C1级或者C2级,故而计算机拥有相对来说仍然比较脆弱的存储系统和数据传输公共信道,一些保密数据以及各种密码容易被PC机之类的设备以各种方式窃取、篡改或破坏。

2.3数据加密技术在电子商务中的应用

随着电子商务的快速兴起,现代社会更加信息化,人们的日学习工作生活方式发生了巨大变化。电子商务需以网络运行为载体,在网络平台上才能进行交易,因此电子商务无法摆脱网络因素存在的各种风险,若是不运用有效的加密技术,交易中的各种隐私信息将会轻易被不法分子窃取,造成交易双方的重大损失,影响双方信誉及继续合作可能性。网络平台和交易信息的安全性也影响电子商务的交易安全,应用数字证书、SET安全协议以及数字签名等数据加密技术,可以提高计算机网络环境安全,保障双方交易的相关信息的安全。

2.4数据加密技术应用于虚拟专用网络

现有许多企业单位大多建立了局域网供内部信息交流,由于各个分支机构的距离位置远近不同,需要应用一个专业路线联通各个局域网,达到机构间的网络信息交流。数据加密技术应用于虚拟专业网络中时,主要是当数据进行传输,虚拟专用网络能够被自动保存在路由器中,路由器中的硬件会对其进行加密,加密后的密文再在互联网中传播,到达接收数据的路由后,再自动进行解密,使接受者则能够安全看到数据信息。

篇4

2常见的计算机病毒传播途径

2.1电子邮件传播

一些恶意电子邮件HTML正文中嵌入恶意脚本,或电子邮件附件中携带病毒的压缩文件,这些病毒经常利用社会工程学进行伪装,增大病毒传播机会。2.2网络共享传播一些病毒会搜索本地网络中存在的共享,包括默认共享,通过空口令或弱口令猜测,获得完全访问权限,并将自身复制到网络共享文件夹中,通常以游戏,CDKEY等相关名字命名,不易察觉。

2.3P2P共享软件传播

随着P2P软件的普遍应用,也成为计算机病毒传播的重要途径,通常把病毒代码植入到音频、视频、游戏软件中,诱使用户下载。

2.4系统漏洞传播

随着互联网的发展,我们的企业和个人用户在享受网络带来的快捷和商机的同时,也面临无时不在的计算机病毒威胁,计算机病毒也由全球性爆发逐渐向地域性爆发转变。本文主要简述计算机病毒的特点和防治方法,以及数据机密技术的应用。摘要由于操作系统固有的一些设计缺陷,导致被恶意用户通过畸形的方式利用后,可执行任意代码,病毒往往利用系统漏洞进入系统,达到传播的目的。常被利用的漏有RPC-DCOM缓冲区溢出(MS03-026)、WebDAV(MS03-007)、LSASS(MS04-011)。

2.5移动设备传播

一些使用者的优盘、移动硬盘等移动存储设备,常常携带电脑病毒,当插入电脑时没有使用杀毒软件对病毒进行查杀,可能导致病毒侵入电脑。

3计算机病毒的防治策略

3.1计算机病毒的预防

计算机病毒防治,要采取预防为主的方针,安装防病毒软件,定期升级防病毒软件,不随便打开不明来源的邮件附件,尽量减少其他人使用你的计算机,及时打系统补丁,从外面获取数据先检察,建立系统恢复盘,定期备份文件,综合各种防病毒技术,防火墙与防毒软件结合,达到病毒检测、数据保护、实时监控多层防护的目的。

3.2病毒的检测

对于普通用户,使用杀毒软件即可对计算机进行常规的病毒检测,但由于病毒传播快、新病毒层出不穷,杀毒软件不能对新病毒有效的查杀,对于专业人员进行查毒。常见的病毒检测方法有比较法、特征代码扫描法、效验和法、分析法,当有新病毒出现时,需要同时使用分析法和比较法,搞清楚病毒体的大致结构,提取特征代码或特征字,用于增添到病毒代码库供病毒扫描和识别程序用;详细分析病毒代码,为制定相应的反病毒措施制定方案。

3.3病毒的清除

使用windows自带的任务管理器或第三方的进程管理工具,中止病毒进程或服务,根据病毒修改的具体情况,删除或还原相应的注册表项,检查Win.ini配置文件的[windows]节中的项和System.ini配置文件的[boot]节中的项,删除病毒相关的部分。常用的工具有:系统诊断(SIC,HijackThis)、分析进程(ProcessExplorer)、分析网络连接(TCPView)、监视注册表(Regmon,InstallRite)、监视文件系统(Filemon,InstallRite)。

3.4杀毒软件的选择

一般的杀毒软件具有预防、检测、消除、免疫和破坏控制的功能,选择杀毒软件时应考虑软件的高侦测率、误报率、漏报率、操作管理和隔离政策等几个关键因素。

4计算机数据加密技术

4.1计算机数据加密的概述

密码技术通过信息的变换或编码,将机密的敏感消息变换成为难以读懂的乱码字符,使窃听者不可能由其截获的乱码中得到任何有意义的信息,同时使窃听者不可能伪造任何乱码型的信息。在计算机网络中,为了提高信息系统及数据的安全性和保密性,防止机密信息的泄露和信息源的真实性的认证,以及验证接收数据的完整性,防止被一些别有用心的人利用或破坏,需要对数据进行加密来保护机密数据不被窃取或篡改。

4.2计算机加密的分类

目前对网络数据加密主要有链路加密、节点对节点加密和端对端加密3种实现方式。

(1)链路加密

链路加密又称在线加密,它是对在两个网络节点间的某一条通信链路实施加密,是目前网络安全系统中主要采用的方式。

(2)节点对节点加密

节点对节点加密是在中间节点里装有用于加密和解密的保护装置,由这个装置来完成一个密钥向另一个密钥的交换,提高网络数据的安全性。

(3)端对端加密

端对端加密又称脱线加密或包加密,它允许数据在从源节点被加密后,到终点的传输过程中始终以密文形式存在,消息在到达终点之前不进行解密,只有消息到达目的节点后才被解密。因为消息在整个传输过程中均受到保护,所以即使有节点被损坏也不会使消息泄露。身份认证技术:通过身份认证可以验证消息的收发者是否持有身份认证符,同时验证消息的完整性,并对消息的序号性和时间性进行认证,有效防止不法分子对信息系统进行主动攻击。数字签名技术:数字签名是信息收发者使用公开密钥算法技术,产生别人无法伪造的一段数字串。发送者使用自己的私有密钥加密后将数据传送给接受者,接受者需要使用发送者的公钥解开数据,可以确定消息来自谁,同时是对发送者发送信息的真实性的一个证明。数字签名具有可验证、防抵赖、防假冒、防篡改、防伪造的特点,确保信息数据的安全。

友情链接