当前位置: 首页> 安全资讯 >

数据加密标准

整理:超时代软件

 

随着网络技术的飞速进步,宽带网已经普及到社会的每一个角落。成为现代经济和人民日常生活中不可缺少的一部分。网络在给我们带来巨大生活便利和经济效益的同时,也成为犯罪分子作案的目标,据报道,全世界每年因网络安全问题而导致的损失高达数十亿美元,因此建立一套严密的网络安全机制是十分重要的.而设计可靠的密码体制和加密技术是其中重要的手段。

 

人类早在几千年前就有了替代密码、置换密码等一般加密法.其特点是算法严格保密,但在1949年,信息论创始人香农论证了一般加密方法得到的密文都是可以破译的,密码学面临空前的危机。从1960年开始。随着计算机技术和数学理论的迅速发展,人们终于认识到不可能研究出在算法上不可破译的密码体制,而只能研制出在计算上不可破译的密码体制。新密码体制的算法是公开的,其算法可产生无穷多个密钒.但要找出正确的密钥要花成千上万年,这在计算上是不可行的,因此数据的保密性仅取决于用户对密钥的保密。基于上述思想人们已经研究出了多种加密算法,从广义上讲,加密算法有3类:秘密密钥算法、公开密钥算法、散列算法,它们各有优缺点,应用领域也不同。这3类算法著名的实现别是:DES、RSA、MD5。

 

(1)DES算法概述DES(DataEncryptionStandard)是美国IBM公司研制的.1977年被美国政府定为商业领域加密标准,它属于对称密钥算法,即其重要特点是加密和解密数据采用同一把密钥,接收方和发送方都执有相同的密钥。DES是一种分组密码,每次加密64bit的明文,输出64bit的密文,密钥长度56bit,由任意56位数组成,且可以随时更换,因此密钥的数量可达2个,DES的安全性完全依赖于对密钥的保护。其加密算法如图1所示。在每个循环中,把64bit块平分为2个32bit块,左半边记为Li,有半边记为Ri并从56bit密钥中选出不同的48bit,记为Ki,则在第i次循环里按以F规则组合:

Li=R(i-1)

Ri=L(i-1)+f(R(i-1),Ki)//f是加密函数

经过上面的循环运算,明文就转换成密文。目前还没有发现有破解DES的案例,但考虑到CPU的速度每18个月翻一番,许多应用程序开始用更安全的三重DES来加密数据:随机选2个密钥.先用个密钥加密,再用第2个密钥解密,后再用个密钥加密,数据解密工作则与前面相反。

DES运算速度快、安全性好、适合对大量数据的加密而成为数据加密领域的主要工具,但缺点是密钥的安全分发困难。由于计算机运算速度的不断加快,恒波文件夹加密软件U盘加密软件等均采用更先进的256位AES算法,保障文件的万无一失。

 

(2)RSA算法概述

RSA是创立它的三位科学家名字的个字母的组合。RSA是一种非对称密钥算法。即加密数据的密钥和解密数据的密钥是不同的.密钥以成对方式出现,其中一把是公开的,另一把是秘密的。只被特定的人执有,但它们之间不可能相互推导。RSA算法依据的原理是:根据数论,寻求两个大素数比较简单.但把它们的乘积分开则极其困难。其算法描述如下:随机选择两个大素数P和q。n代表它们乘积,e代表加密指数,d代表解密指数。X表示明文,Y表示密文,参数选择与计算如下:

①Ø(n)=(p-1)(q-1);

②从[0,Ø(n)-1]之间随机选择一个与Ø(n)互素的数e作为公开的加密指数:

③e和d之间满足公式:de=1modØ(n)。

数据的加解密运算过程如下:

加密:Y=Xemodn:

解密:X=Ydmodn。

上述参数中的P,q,d需要保密,其他参数可以公开,其中{e,n}组成加密密钥PK并公布出去,{d,n}组成解密密钥SK。只授予某个用户专有。用PK加密的数据只能用配对的SK解密,反之亦然。即自己加密的数据自己却不能解密。而且PK与SK之间不可能相互推导,这是RSA算法的重要特点,也是它能广第泛应用到多个领域的原因。

RSA的安全性前提是的值要足够大.因为一旦从中分解出P和q,马上就可以算出d。也就得到了解密密钥SK。当前n的长度一般为512bit,目前快的巨型计算机也要3万年才能将其分解。针对计算机速度日益提高的现实。已经有人使用728bit和1024bit的密钥。RSA的安全性已经得到全世界的认可,但其缺点主要是运算速度太慢.比DES慢几个数量级,因此只适合对少量关键数据的加密。RSA的优点是易于密钥的安全分发,其主要应用目的也不是数据加密。

 

(3)MD5算法概述

从根本上说MD5(第5类报文摘要)不是一种数据加密方法,因为它产生的密文不可能恢复成明文,因此不能用于数据的保密。MD5采用报文摘要算法:把一段明文m进行运算后产生一小段固定长度的报文摘要H(m)。并将其附在明文的后部发送出去。接收方收到后也用报文摘要算法对明文m进行运算。如果能得出相同的报文摘要H(m),即认为报文是对方发送的.而且在传输过程中没有被篡改过。因此,使用MD5时.原始报文是不加密的,也没有加密的必要,因为报文内容一般是允许任何人浏览的公告.使用MD5的目的仅仅是保证该公告的权威性.有点类似现实生活中在公告文件上加盖公章。

报文摘要算法有如下两个重要特点:

①任给一个报文摘要值S。要想找到一个报文m,使H(m)=s在计算上是不可行的;

②想找到任意两个报文m和n,使H(m)=H(n)也是计算上不可行的。

基于这两个特点,使用MD5可以防止有人篡改报文或伪造报文,因而获得了广泛的应用。