现代密码体制的研究基本上沿着两个方向进行,即对称密码加密体制和非对称密码加密体制。对称密码体制又称单钥或私钥密码体制。在对称密码加密体制中,加密密钥和解密密钥是一样的或彼此之间容易相互确定,因此对称密码体制的安全性主要取决于密钥的安全性。那么我们今天就来探讨一下对称密码加密体制下的加密算法。

按加密方式不同,对称密码体制可分为分组密码和序列密码。分组密码是将消息进行分组,并按组加密。而序列密码是利用密钥序列对明文进行逐比特加密从而产生密文。

一、分组密码加密算法

分组密码的基本原理是将明文分成固定长度的组(块),如64 bit一组,用同一密钥和算法对每一块加密,输出也是固定长度的密文。目前最常用的对称加密算法有数据加密标准的DES、新一代分组加密标准AES、国际数据加密算法IDEA、Blowfish加密算法等,他们的加密原理都是Feistel分组密码结构。其中以DES算法最为著名,是到目前为止使用最广的算法。

1、 DES加密算法

DES加密算法是将64 bit的明文初始重排后,在密钥控制下进行16次复杂的非线性变换,得到64 bit的预输出,接着再对预输出经过一次逆初始化重排。整个算法是代替法和换位法的组合,共叠代16层。该算法分3个阶段实现:

(1)对输入的明文分组m进行固定的初始置换函数IP,该初始置换可表示为 M0= _IP(M)=L0R0

( 2)计算函数f的16次迭代运算,即 Li=iR-1 _ _ Ri=Li-1⊕f(Ri-1,Ki) _ _(i=1,2.....16)

其中ki是48位的子密钥,子密钥是作为密钥k的函数而计算出的。f称为“S盒函数”,是一个替代密码。这个运算的特点是交换两半分组,这一轮的左半分组输入是上一轮的右半分组输出。交换运算是一个简单的换位密码,目的是获得很大程度的信息分散。可见,这一步运算是替代密码和换位密码的结合。

(3)将16轮迭代后得到的结果进行IP逆置换,逆置换的输出结果即为密文分组。该过程表示如下:

c=IP-1(R16L16)

这里在IP逆置换之前,16轮迭代输出的两半分组又进行了一次交换。DES加密过程如图1所示。 解密算法与加密算法类似,仅有的不同就是:如果加密算法中使用的轮密钥为K1,K2...

.K16,那么在解密算法使用的轮密钥就应当是K16,K15....K1。

2、三重DES加密算法

DES加密算法的主要的缺点是密钥长度太短,这是DES仅有的最严重的弱点。克服短密钥缺陷的一个解决办法是使用不同的密钥,多次运行DES加密算法,这样的一个方案称为三重DES方案,三重DES加密算法是DES的一种变形的实现方式。

三重DES加密记为 :

C=EK1(DK2(EK1(M)))

解密记为 :

M=DK1(EK2(DK1(C)))

除了能够达到扩大密钥空间的效果,如果使用这个方案也很容易与单钥DES兼容。三重DES也可以使用3个不同的密钥,即 C=EK3(DK2(EK1(M)))

和M=DK3(EK2(DK1(C)))

其中,K1,K2,K3为56位DES密钥。为了获得更高的安全性,3个密钥应该选择为互不相同。但在某些情况下,如与原来的DES保持兼容,则可以选择K1=K2或K2=K3。

二、序列密码加密算法

序列密码也称为流密码(Stream Cipher),它是对称加密算法的一种。序列密码具有实现简单、便于硬件实施、加解密处理速度快、没有或只有有限的错误传播等特点,因此在实际应用中,特别是专用或机密机构中保持着优势,典型的应用领域包括无线通信、外交通信。

序列密码加密算法涉及到大量的理论知识,提出了众多的设计原理,也得到了广泛的分析,但许多研究成果并没有完全公开,这也许是因为序列密码目前主要应用于军事和外交等机密部门的缘故。目前,公开的序列密码加密算法主要有RC4、SEAL等。

三、序列密码加密算法与分组密码加密算法的对比

对称密钥密码系统以其加解密速度快,安全强度高等特性,将在军事、外交以及商业等领域中得到越来越普遍的应用。分组密码可用于构造伪随机数发生器、序列密码、消息认证码(MAC)和杂凑函数,可广泛的应用在计算机通信和信息系统安全领域。序列密码易于硬件实现,加解密速度快,错误扩散低,适宜于高准确传输环境中。

随着网络技术的迅速发展,网络信息安全问题成为一项亟待解决的重大问题,加密算法是信息安全的重要保证,加密算法的优劣将决定网络信息安全的性能,对密码体制的研究将会得到越来越多的关注。

小知识之对称密码加密体制:

对称密码加密体制是一种传统密码体制,也称为私钥密码加密体制。在对称加密系统中,加密和解密采用相同的密钥。因为加解密密钥相同,需要通信的双方必须选择和保存他们共同的密钥,各方必须信任对方不会将密钥泄密出去,这样就可以实现数据的机密性和完整性。对于具有n个用户的网络,需要n(n-1)/2个密钥,在用户群不是很大的情况下,对称加密系统是有效的。