10.6 压缩、编码、加密
将数据压缩算法跟加密算法一起使用是很有意义的,有两个原因:
——如果密码分析依靠明文中的冗余,那么压缩将使文件在加密之前将冗余减少。
——加密是耗时的,在加密之前压缩文件可以提高整个处理过程的速度。
需要重点记住的是压缩要在加密之前进行。如果加密算法真的很好,那么密文是不可压缩的,它看上去就象随机数据。(这个可作为一种检验加密算法的测试方法,如果密文是可以压缩的,这说明所使用的算法不是很好。)
如果你想加进某种传输编码或错误检测和恢复,记住要在加密之后。如果在通信信道有噪声存在,解密的错误扩散特性会使得噪音更糟。图 10.3总结了这些步骤。
图 10.3