第8章分组密码 121 O 8 765
第8章 分组密码
8.1分组密码概述 12 ■定义81一个分组密码是一种映 9 3 射: × 765 记为E(X,)或E(X)X∈F,k∈F,F 称为明文空间,F"称为密文空间, 为密钥空间
8.1 分组密码概述 ◼ 定义8.1 一个分组密码是一种映 射: 记为E(X,K) 或 称为明文空间, 称为密文空间, 为密钥空间。 F F F n t m 2 2 → 2 n t n Ek X X F2 K F2 F2 ( ), , , m F2 t F2
8.2分组密码的设计原则 有关实用密码的两个一般设计原则是 12 Shannon提出的混乱原则和扩散原则。 9 3 混乱:人们所设计的密码应使得密钥 765 和明文以及密文之间的依赖关系相当 复杂以至于这种依赖性对密码分析者 来说是无法利用的 扩散:人们所设计的密码应使得密钥 的每一位数字影响密文的许多位数字 以防止对密钥进行逐段破译,而且明 文的每一位数字也应影响密文的许多 位数字以便隐蔽明文数字统计特性
8.2 分组密码的设计原则 ◼ 有关实用密码的两个一般设计原则是 Shannon提出的混乱原则和扩散原则。 ◼ 混乱:人们所设计的密码应使得密钥 和明文以及密文之间的依赖关系相当 复杂以至于这种依赖性对密码分析者 来说是无法利用的。 ◼ 扩散:人们所设计的密码应使得密钥 的每一位数字影响密文的许多位数字 以防止对密钥进行逐段破译,而且明 文的每一位数字也应影响密文的许多 位数字以便隐蔽明文数字统计特性
12 ■软件实现的设计原则:使用子块和简 单的运算。密码运算在子块上进行, 9 3 要求子块的长度能自然地适应软件编 765 程,比如8、16、32比特等。在软件 实现中,按比特置换是难于实现的, 因此我们应尽量避免使用它。子块上 所进行的一些密码运算应该是一些易 于软件实现的运算,最好是用一些标 准处理器所具有的一些基本指令,比 如加法、乘法和移位等
◼ 软件实现的设计原则:使用子块和简 单的运算。密码运算在子块上进行, 要求子块的长度能自然地适应软件编 程,比如8、16、32比特等。在软件 实现中,按比特置换是难于实现的, 因此我们应尽量避免使用它。子块上 所进行的一些密码运算应该是一些易 于软件实现的运算,最好是用一些标 准处理器所具有的一些基本指令,比 如加法、乘法和移位等
12 ■硬件实现的设计原则:加密和解 9 3 密可用同样的器件来实现。尽量 765 使用规则结构,因为密码应有 个标准的组件结构以便其能适应 于用超大规模集成电路实现
◼ 硬件实现的设计原则:加密和解 密可用同样的器件来实现。尽量 使用规则结构,因为密码应有一 个标准的组件结构以便其能适应 于用超大规模集成电路实现