[NextPage]
五、基本原则
所有的加密算法基本上都是基于两个基本原则:替代和置换。
1、替代:替代是指明文中的每个元素被映射为另一元素。
例:凯撒密码
Phhw ph diwhu wkh wrjd sduwb
|
Meet me after the toga party |
图6.7 凯撒密码
如图6.7所示,在这种替代中,明文中的每一个字母按照英文字母的顺序被排在其后面的第三个字母所替代而产生相应的密文。
2、置换:置换是指明文中的元素被重新排列。
M e m a t r h t g p r y
e t e f e t e o a a t |
例:栅栏技术
图6.8 栅栏技术
栅栏技术是这种密码中最简单的,如图6.8所示。本例中明文以对角线顺序写下,深度为2,并以行的顺序读出形成密文。
六、密码分类
根据加密模式的不同,密码可以分为序列密码和分组密码。
1、序列密码:又称为密钥流密码。
这种体制是将明文M看成是连续的比特流或字符流(m1m2m3…),并用密钥序列K(k1k2k3…)中的第i个元素ki对明文中的mi进行逐位加密。
这种密码由于没有固定的规律可寻,因此也不容易被破解。但由于这种序列密码是密钥对明文的逐位加密,因此需要和明文等长的密钥序列,如果明文太长,将不利于密钥的制订和管理。
2、分组密码:先将明文划分为固定长度的数据组,以组为单位进行加密。即用一个固定的变换对一个比较大的明文数组进行操作。
这种密码的密钥相对较短,因此出于安全的考虑,加密变换的算法起着至关重要的作用。