现代常用的加密技术有序列密码和分组密码。
序列密码(流密码):
在该密码体制中,将明文P看成连续的比特流(或字符流)p1p2…,用密钥序列K=k1 k2…中的第i个元素ki对明文中的第i个元素pi进行加密。
即:EK(P)=EK1(p1) EK2(p2) …
这种体制的保密性完全在于密钥的随机性。如果密钥是真正的随机数,则这种体制就是理论上不可破的。这也称为一次一密乱码本体制。
该体制所需的密钥量很大,目前常用伪随机序列的密钥序列,序列周期一般为1050。
分组密码(block cipher):
将明文划分成固定的n比特的数据组,然后以组为单位,在密钥的控制下进行一系列的线性或非线性的变换而得到密文。
分组密码的主要特点:
一次变换一组数据,不需要同步。适合分组交换网传输。
给定密钥后,明文分组相同,密文分组也相同。
分组密码的操作模式:
(1)电子密码本(ECB):最基本的操作模式。
将明文P划分为长度为ww比特的明文分组(P1, P2, … , Pn ) 最后一个分组通常需要填空。
每个明文分组使用同样的密钥K进行加密。
每个明文分组在加密时独立处理。
w比特的明文分组与ww比特的密文分组一一对应。类似密码本。
电子密码本模式特点:
相同的明文分组产生相同的密文分组。
易受统计分析攻击。
可并行处理,加、解密速度快,应用广泛。
(2)密码分组链接模式(CBC):
将明文P分组(P1, P2, … , Pn ) 。
每个明文分组使用同样的密钥K进行加密。
每个明文分组在加密前,先与上一次加密输出的密文分组进行按位异或,而后再进行加密处理。
对第一个明文分组进行处理时,还没有密文分组可用,需要引入一个初始向量IV与该分组异或。
密码分组链接模式特点:
通过将明文分组与前一个密文分组异或,实现了明文模式的隐藏,抗统计分析攻击。
不能并行加密,加密速度较慢。
适用于高结构化信息的加密传输。
数据加密标准DES
DES加密原理:
加密前对整个明文进行分组,每组长64位,然后对每个64位二进制数据块分别进行加密,产生一组64位密文数据。最后将各组密文串接起来,即得出整个密文。使用的密钥为64位,实际密钥长度为56位(有8位用于其他目的)。
DES加密算法特点:是一种分组密码。
DES加密过程分为两条主线:明文的加密处理和子密钥的产生。
明文加密处理由三个阶段构成:
第一阶段:初始置换
第二阶段:标准的Feistel结构,循环次数16次。
第三阶段:完成初始置换的逆置换。
DES算法的缺点:
相同的明文产生相同的密文。
密钥太短,分组太短。
密文仅与明文分组和密钥相关(电子密码本模式)
DES的保密性:仅取决于对密钥的保密,而算法是公开的。