信息加密算法的分析比较
2016-03-14辽宁对外经贸学院信息管理系任华新
辽宁对外经贸学院信息管理系 任华新
信息加密算法的分析比较
辽宁对外经贸学院信息管理系 任华新
随着信息大爆炸的时代的到来,信息的安全成了人们最关心的问题。因而信息的加密和解密的方法就显得尤为重要。本文针对现有的加密算法进行了分析和比较,以方便更多的人选择自己需要的加密算法。
加密算法;秘钥;分析比较
在计算机网络日益普及和扩展的今天,人们正逐步走进在一个“信息爆炸”的社会。通过网络,人们可以方便地传递数据和信息、共享各种数据和信息。与此同时网络中的黑客给人们带来了不安,于是对网络的安全要求也更高,涉及的方面也更广。因此不仅要防治病毒,还应具有较高的抵抗黑客入侵的能力,提高数据远程传输的安全性,避免在传输的过程中遭受非法读取,数据加密技术正是为了保证这些信息的安全而采取的非常重要的方法。加密算法大致分为对称密钥算法和公钥算法(非对称密钥算法)两大类。
一、对称密钥算法
对称加密算法又称为传统密码算法是相对比较早期的加密算法,相应的技术也比较成熟。在对称加密算法中,数据传送方将原文和加密所用的密钥一起经过一定的加密算法转换后,使其变成更为复杂的加密后的密文传送出去。接收方收到加密了的密文后,若想读懂原文,则必须要使用密钥及相同算法的逆算法对密文进行解密,才能使其恢复成原文。在对称加密算法中,接收方和发送发只有一个密钥,发送方和接收方双方都使用这个密钥对数据进行加密和解密,这就要求接收方想获得原文必须知道密钥。对称加密算法因大都使用混沌可扩散的思想,因此对称加密算法在加密和解密的过程中会有很多相似之处。
对称密钥算法目前比较流行的算法有:
DES(Data Encryption Standard):为密码体制中的对称密码体制。原文每64位分为一组,密钥长64位,密钥事实上是56位参与DES运算(第8、16、24、32、40、48、56、64位是校验位,使得每个密钥都有奇数个1)分组后的明文组和56位的密钥按位替代或交换的方法形成密文组的加密方法。DES加密算法具有数据加密比较标准,速度相对较快,适用于加密数据量较大的场合;
3DES(Triple DES):是基于DES的对称算法,是DES加密算法其中的一种模式,它使用3条56位的密钥对3DES 数据进行三次加密。DES使用56位密码块的方法,在密码块的方法中,文本每64位分为一块,每块文本块再进行加密。比起最初的DES,3DES安全性更高。对一块数据用不同的三个密钥进行加密三次,安全性更高;
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。
二、公钥算法(非对称算法)
公钥算法又经常被称为“非对称加密算法”,使用两个不同但又可以完全匹配的—把公钥和一把私钥。在使用公钥加密算法加密原文时,只有使用匹配的公钥和私钥,才能完成对原文的加密和解密过程。加密原文时采用公钥加密,解密密文时使用私钥解密,而且发信方知道收信方的公钥,只有收信方是唯一知道私钥的人。公钥加密算法的基本原理是:如果发信方想发送只有收信方才能解读的加密信息,发信者使用收信者的公钥加密信件,收信者使用自己的私钥钥解密信件。显然,采用不对称加密算法,收发信双方在通信之前,收信方必须将自己早已随机生成的公钥送给发信方,而自己保留私钥。由于不对称算法拥有两个密钥,因而特别适用于分布式系统中的数据加密。广泛应用的不对称加密算法有RSA算法和美国国家标准局提出的DSA。以不对称加密算法为基础的加密技术应用非常广泛。
公钥算法主要有如下算法:
IDEA(International Data Encryption Algorithm),使用 128 位密钥提供非常强的安全性。算法用了52个子密钥(8轮中的每一轮需要6个,其他4个用于输出变换)。首先,将128位密钥分成8个16位子密钥。这是算法的第一批8个子密钥(第一轮6个,第二轮2个)。然后,密钥向左环移动x位后再分成8个子密钥。开始4个用在第二轮,后面4个用在第三轮。密钥再次向左环移动25位,产生另外8个子密钥,如此进行指导算法结束。该算法是基于“相异代数群上的混合运算”设计思想,算法运用硬件与软件实现都很容易,而且比DES算法在实现上快的多。
RSA:是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的,非对称算法;
DSA(Digital Signature Algorithm):又称为数字签名算法,是一种标准的 DSS(数字签名标准),严格来说不算加密算法;
AES(Advanced Encryption Standard):高级加密标准对称算法,是下一代的加密算法标准,安全级别高,速度快,现在 AES标准的一个实现是 Rijndael 算法;
公钥加密算法的缺点,就是效率相对非常低,比常用的单密钥算法慢,甚至慢上一两个数量级都有可能,因此它不适合经常为大量的原始信息进行加密,而使用单密码钥机制对原始信息进行加密码,然后这个单密钥,我们可以通过公钥机制进行加密。
三、二者的分析比较
在对称密钥体制中,接收方和发送发使用的密钥相同,且收发双方必须共同使用同一密钥,因此对称密码的密钥是保密的,没有密钥,就不能还原原文,仅仅知道算法和部分密文不足以确定密钥。
对称加密算法的优点是计算量较小、算法是公开的、加密效率较高、加密和解密的速度比较快。对称密码技术进行安全通信前需要以安全方式进行密钥交换,且它的规模复杂。公钥密钥算法具有加解密速度慢的特点,密钥尺寸大,发展历史较短等特点。
公钥加密体制中,它使用不同的加密密钥和解密密钥,且加密密钥是向公众公开的,而解密密钥是需要保密的,发送方拥有加密或者解密密钥,而接收方拥有另一个密钥。两个密钥之一也是保密的,无解密密钥,解密不可行,知道算法和其中一个密钥以及若干密文不能确定另一个密钥。
[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).
任华新(1977-),女,辽宁大连人,副教授,主要研究方向:计算机软件。