[导读] 随着计算机联网的逐步实现,计算机信息的保密问题显得越来越重要。数据保密变换,或密码技术,是对计算机信息进行保护的最实用和最可靠的方法。 一、 几种代表性加密算法 我们在两类加密体系中,试举几种代表性的加密算法,通过对其特点的比较,解析其优点与安全漏洞所在,在此基础上提出一些解决方案与新的加密思路。 1、对称密钥加密 对称密钥加密算法中最具代表性的是DES算法,该算法的优势在于机制简单,加密解密迅速,算法公开,可以对大批量传输的数据进行加密操作;缺点是密钥较短(仅有56位),保密系数不高,且因算法公开,其安全保障主要取决于密钥的保密程度,因此必须有可靠的信道来传送密钥,在有大量用户的情况下密钥的分发和管理会变得异常复杂,且不能实现数字签名,因此不适合在开放的网络环境中单独使用。 二十多年来DES算法广泛应用于全球贸易、金融等民用领域,如智能卡(IC卡)与POS机之间的双向认证、信用卡持卡方PIN的加密传输等。如今该算法的许多缺陷慢慢变得不容忽视,针对它的解密方法也日渐有效化。针对该算法密钥短的缺陷,相关组织曾经提出80位密钥、双密钥(究其效果相当于双倍密钥长度)以及三重DES算法。DES在安全性上尽管较为脆弱,但由于芯片的大量生产目前仍在继续使用。长远而言,AES将会取代它,成为新一代的数据加密标准。 IDEA算法是在1990年公布的一种迭代密码分组算法,类似于三重DES,密钥长度为128位,若干年内在并非高度保密的领域仍可适用。由于它只使用逐位异或和模运算,因此具有使用软件实现和硬件实现一样迅速的优势。 2、公开密钥加密 我们知道,公钥加密算法的设计都是基于复杂难解的数学难题,其安全性取决于一种特殊函数:单向陷门函数。这是一种单向函数,在一个方向上容易计算,但逆向求值却异常困难。但如果它的陷门已知,则反向求值也会十分容易。在公钥体系中,这个陷门即是用来解密的私有密钥。符合以上条件且目前被公认为是安全有效的公钥加密算法有RSA、DSA以及ECC。 RSA是公开密钥体系中最具典型意义的算法,它的安全性依赖于大数因子分解的极度困难。RSA加密采用的公钥和私钥都是两个大素数的函数,大素数均要大于100个十进制位,得到密钥后应将两个素数丢弃。RSA也可用于数字签名,其公私钥的使用与加密刚好相反。RSA算法思路简洁,易于使用,安全性好,缺点在于产生密钥较为麻烦,受到大素数选取的限制,很难做到一次一密,且加密速度太慢,较对称密钥算法要慢上几个数量级。选取合适的大数是保障安全性的关键。但是目前还无法从理论上证明破译RSA的难度与大数分解等价,也无法确定大数分解是NPC问题。随着计算机计算能力的扩大以及大数分解方法的进步,对素数位数的要求会越来越高。RSA实验室认为个人应用要768比特位,公司应用要1024比特位以上才有安全保证。 DSA算法基于离散对数的数字签名标准。它仅仅对于数字签名有用,不能对数据进行数据加密运算。 ECC算法基于椭圆曲线离散对数运算,较之RSA、DSA安全强度更高,在解密和签名上的计算速度要快得多,且对存储空间和带宽的要求都较低,将会在IC卡与无线网络领域获得广泛应用。一般认为,ECC技术一旦被广泛掌握,ECC算法将会代替RSA,成为新一代通用的公钥加密算法。 在以上三种数学方法之外,多种数学理论被引入公钥加密算法的研究。如混沌理论,因其蝴蝶效应(即对初始状态的极端敏感性)、伪随机性、拓朴性,与加密系统有着天然的相似度与联系,非常适合应用于一次一密的公钥体系。然而,目前多数混沌密码算法发布不久就被破解,亟待找到更合适的应用思路和更优良的运算模型。 知识点: 对称密钥加密又叫专用密钥加密,即发送和接收数据的双方必使用相同的密钥对明文进行加密和解密运算。对称密钥加密算法主要包括:DES、3DES、IDEA、FEAL、BLOWFISH等。 3、两种数据加密体系的分析比较 综上所述,对称加密与公钥加密的特点比较如下表所示: 结合两种加密算法的特点,我们可以通过对称密码机制来加密大量数据,然后使用公钥密码机制来加密文件密钥,这样的混合加密方式以其安全高效,在ERP和电子商务领域得到了广泛应用。
|