辽宁对外经贸学院 任华新
数据加密算法的综述
辽宁对外经贸学院任华新
随着互联网的高速发展,信息呈几何级数大爆炸的时代的到来,信息是否安全已成为了人们最关心的问题。因而数据如何加密和数据如何解密就成了非常重要的问题。本文针对已有的数据加密算法进行了分析,研究和比较,以方便需要选择加密算法的用户做个参考。
加密算法;公钥;密钥
在互联网日益普及和扩展的今天,人们已经逐步走进一个“信息大爆炸”的社会。通过互联网,人们可以方便地传递各种数据和信息、共享各种数据和信息。与此同时互联网中的黑客给用户带来了各种不安的因素,于是对互联网安全的要求更高,涉及面为更广。不但要求主动防治病毒,还要提高系统抵抗外来黑客入侵的能力,提高对远程数据传输的安全性和保密性,避免在传输途中遭受非法窃取或非法修改,而数据加密技术无疑是保证信息安全的非常重要的手段。加密算法又包括对称密钥算法和非对称密钥算法(又称为公钥算法)两大类。
非对称加密算法又称为“公钥算法”,使用两把完全不同但又是完全匹配的一对钥匙,即公钥和私钥。在使用不对称加密算法加密文件时,只有使用同一对公钥和私钥,才能完成对原来数据的加密和解密的过程。加密原来数据时采用公钥加密,解密加密文件时使用私钥才能完成,而且发送数据方(加密者)知道接受数据方的公钥,只有接收数据方(解密者)才是唯一知道自己私有钥匙的人。不对称加密算法的基本原理是,如果发信方想发送只有收信方才能解读的加密数据,发送数据者使用收信者的公钥来加密文件,接受数据方使用自己的私钥钥解密数据。显然,采用不对称加密算法,收发数据双方在数据通信之前,接受数据方必须将自己早已生成的公钥送给接受数据方,而自己保留私钥。由于不对称算法拥有两个密钥,因而特别适用于分布式系统中的数据加密。广泛应用的不对称加密算法有RSA算法和美国国家标准局提出的DSA。以不对称加密算法为基础的加密技术应用非常广泛。
非对称加密算法主要有如下几种常见的算法:
IDEA(International Data Encryption Algorithm)国际数据加密算法,使用 128 位密钥提供非常强的安全性。算法用了52个子密钥(8轮中的每一轮需要6个,其他4个用于输出变换)。首先,将128-位密钥分成8个16-位子密钥。这些事算法的第一批8个子密钥(第一轮6个,第二轮头两个)。然后,密钥向左环移动x位后再分成8个子密钥。开始4个用在第二轮,后面四个用在第三轮。密钥再次向左环移动25位,产生另外8个子密钥,如此进行指导算法结束。该算法是基于“相异代数群上的混合运算”设计思想,算法运用硬件与软件实现都很容易,而且比DES算法在实现上快的多。
RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的,非对称算法;
DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准),严格来说不算加密算法;
AES(Advanced Encryption Standard):高级加密标准,对称算法,是下一代的加密算法标准,速度快,安全级别高,现在 AES标准的一个实现是 Rijndael 算法;
实际上,公钥机制也有它自己的缺点,那就是效率相对比较低,比常用的单密钥算法慢很多,甚至能慢上一两个数量级都是有可能,所以它不适合经常为大量的原始数据进行加密,而使用单密码钥机制对原始信息进行加密,然后再在这个单密钥进行加密,这时我们可以通过公钥机制进行加密。
对称加密算法又叫传统密码算法,是应用相对比较早的加密算法,技术相对也比较成熟。在对称加密算法中,数据发送方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。接受数据方接收到密文后,若想读懂原文,则需要使用加密用过的密钥和其相同算法的逆算法对密文进行解密处理,这样才能使密文恢复成可读原文。在对称加密算法中,使用的密钥只有一个,发收数据双方都使用这个同一密钥对数据进行加密和解密,这就要求解密方解密前必须知道加密的密钥。对称加密算法都使用混沌可扩散的思想,因此各种对称加密算法在加密过程和方法上都有很多相似之处。
对称加密算法主要有如下几种常见的算法:
DES(Data Encryption Standard):为密码体制中的对称密码体制。明文按64位进行分组,密钥长64位,密钥事实上是56位参与DES运算(第8、16、24、32、40、48、56、64位是校验位, 使得每个密钥都有奇数个1)分组后的明文组和56位的密钥按位替代或交换的方法形成密文组的加密方法。该对称算法,数据加密标准,速度较快,适用于加密大量数据的场合;
3DES(Triple DES):是基于DES的对称算法,又称Triple DES,是DES加密算法的一种模式,它使用3条56位的密钥对3DES数据进行三次加密。DES使用56位密钥和密码块的方法,而在密码块的方法中,文本被分成64位大小的文本块然后再进行加密。比起最初的DES,3DES更为安全。对一块数据用三个不同的密钥进行三次加密,强度更高;
RC2和RC4:对称算法,用变长密钥对大量数据进行加密,比DES 快;
BLOWFISH:是一种对称的分组加密算法,每次加密一个64位分组,使用32位~448位的可变长度密钥,应用于内部加密。加密过程分为两个阶段:密钥预处理和信息加密。blowfish加密算法中使用两个盒key—pbox[18]和key—sbox[4][256],以及一个核心的加密函数blowfish—encrypt()。这两个盒所占存储空间为(18×32 +4×256×32)字节,即4186字节。加密函数blowfish—encrypt()输入64位明文,输出64位密文。
对称加密算法的优点是算法是公开的、计算量比较小、因计算量校所以加密速度比较快、加密的效率比较高。
不足之处是,交易双方都使用同一钥匙,安全性收到威胁,不能保证数据的安全。另外,每对收发数据双发每次使用对称加密算法时,都需要使用第三方不知道的惟一密钥,这会使得发收数据双方所拥有的钥匙数量增长速度快,甚至呈几何级数增长,因此密钥的管理就成为用户的负担。对称加密算法在分布式网络系统上使用较为困难的原因,主要就是因为密钥管理困难,使用成本也就较高。而与公开密钥加密算法比起来,对称加密算法能够提供加密和认证却缺乏了签名功能,使得使用范围有所缩小。在计算机专网系统中广泛使用的对称加密算法有DES和IDEA等。美国国家标准局倡导的AES即将作为新标准取代DES。
在对称密钥体制中,它的加密和解密的密钥的密码原理和体制是相同的,且收发数据双方必须共享这个密钥,因此对称密码的密钥必须是保密的,没有密钥,就不能解密,知道算法和密文根本不足以确定密钥。
对称密码加密技术的优点在于效率较高,算法相对比较简单,随之系统开销就小,适合加密大量原始数据。同时,对称密钥算法还具有加密处理简单,加解密速度快,密钥较短,密钥好管理,发展历史悠久等优点。对称密码技术进行安全通信前需要以安全方式进行密钥交换,且它的规模复杂。
非对称密钥算法具有加解密速度慢的特点,密钥尺寸大,发展历史较短等特点。
非对称密钥算法密码体制中,它使用不同的加密密钥和解密密钥,且加密密钥是向公众公开的,而解密密钥是需要保密的,发送数据方拥有加密或者解密密钥,而接收数据方拥有另一个密钥。两个密钥之一也是保密的,没有解密密钥,解密是不可行的,仅仅知道算法和其中一个密钥以及若干密文不能确定另一个密钥。
[1]叶建龙.RSA加密中大素数的生成方法及其改进[J].廊坊师范学院学报(自然科学版),2010,10(2):55-57.
[2]Sutter G D,Deschamps J P,Imana J L.Modular multiplication and exponentiation architectures for fast RSA cryptosystem based on digit serial computation[J].Industrial Electronics,2011,58(7):3101-3109.
[3]胡美燕,刘然慧.DES算法安全性的分析与研究[J].内蒙古大学学报,2005,36(6):694-697.
[4]王琴琴,陈相宁.Montgomery 算法在RSA 中的应用及其优化[J].计算机技术与发展,2007,17(6):145-148.
[5]崔钰.关于计算机网络安全中的应用信息加密技术[J].山西电子技术,2012(5).