分类: 服务器与存储
2008-06-25 07:07:18
我们首先来介绍一些和加密有关的概念。
加密是将不受保护的明文数据处理成密文的过程。如果没有密钥很难将密文恢复成明文。计算机技术的出现使得很多复杂加密机制的实现成为可能。IBM公司和美国标准与技术研究院(US Government National Institute of Standards and Technology)合作,于1974年开发了基于计算机的加密算法 - DES。随着计算机技术的发展,DES算法已经渐显落后,加密界也推陈出新,TDES(Triple DES)、AES(Advanced Encryption Standard)等很多新算法都得到了广泛的应用。IBM公司的磁带加密解决方案同时采用了对称加密算法和不对称加密算法,既充分利用了各自的优势,又对二者进行了有机的结合。
使用对称密钥和算法加密数据,有时也叫做私钥加密或者密钥加密,但是它并不等同于不对称密钥系统中的私钥。在对称密钥系统中用来加密数据的密钥与用来解密的密钥密切相关。加密和解密的密码可以通过对密钥的简单转换来获得,二者甚至可以相同。在IBM公司的磁带加密解决方案中,加密和解密的密钥就是相同的。同时,使用不对称密钥系统对其进行保护,使之从不以明文示人。
对称加密算法比不对称加密算法的速度要快很多,且差别是论数量级的;同时,二者密钥的大小也有很大差别。例如,在对称加密系统中,一个128位的密钥就被认为是相当安全的了,而在不对称加密系统中,例如RSA(Rivest-Shamir-Adleman)建议使用的密钥长度为1024位。
IBM公司的磁带加密解决方案采用的是AES算法。AES是基于Rijndael算法的常见标准,其所支持的密钥长度和块大小都是Rijndael算法的子集。例如,AES标准支持长度为128、192、256位的密钥,其中256位的密钥就被应用在IBM的磁带加密技术中。
密钥算法可以一次一位,或者一次一块地对数据进行加密。AES标准支持的块大小为128位。
其它使用对称密钥的算法还有Twofish, Blowfish, Serpent, Cast5, Des, TDES, 和IDEA。
注释:Rijdindael算法支持的块大小为128、160、192、224和256位;支持的密钥长度为128、160、192、224和256位。
另一个被广泛采用的重要加密方法是公/私钥加密,也叫做不对称加密。采用这种加密方法,需要成对生成密钥,其中第一个密钥用来加密数据,第二个密钥则用来解密数据。这种技术最早出现在1970年,为密码术带来了重大突破。使用非对称技术的RSA算法在公钥领域影响最广。这种算法的特点是有一个可以被广泛共享的公钥。例如,要给某个组织发送保密数据,就可以使用这个组织的公钥对数据做加密处理,该组织收到数据后再用自己的私钥解开数据。因此,公/私钥方法非常适合于组织间的信息共享。如今,这种方法已经被广泛用于Internet,例如SSL就是使用它来实现数据的安全传递。
与对称加密算法相比,非对称加密算法的运算量更大,因而速度也更慢。但是非对称加密的算法也有自己的优点,那就是可以在不共享密钥的情况下共享需保密的数据。
范例:
图中Tony拥有自己的私钥,JoHann有Tony的公钥拷贝。Tony用自己的私钥加密了一条信息,并把信息的密文发送给了JoHann。JoHann接到信息后使用Tony的公钥解密。当信息变为明文,表明JoHann在和Tony通讯,因为只有Tony拥有自己的密钥(这是一个身份确认过程)。于是JoHann用Tony的公钥加密他想保护的数据并发送给Tony,而Tony收到数据后则用自己的私钥解密数据(这是数据传递过程)。
无论是对称密钥加密方案还是非对称密钥加密方案,在数据保护领域都占据着非常重要的地位,而采用非对称加密机制的比较著名的算法有Diffie-Hellman、Elliptic curve cryptography(ECC)、ElGamal、RSA。