进阶秘密钥匙系统
3-1 密码系统的安全性
· 破解因素:『计算上的安全』(Computationally Secure)
· 密码系统的抗拒能力:
o 算法的复杂度:
§ 混淆 (Confusion):密文与钥匙之间的复杂度。
§ 扩散 (Diffusion):明文与密文之间的复杂度。
o 分布式暴力攻击法:
· 『增加钥匙长度』
o 提高破解的困难度。
o 可能导致传输效益降低。
o 美国出口管制。
3-2 秘密钥匙系统之摘要
· 基本模型 (Festel 模型)
· 相关参数:
o 区块大小:64 bits
o 初始排列
o 排列格式:交叉排列
o S-替代盒
o 钥匙长度
o 子钥匙数量
o 重复回合次数
o 输出转换
3-3 Triple DES 密码系统
· 2 把钥匙:56 bits * 2
o 加密:C = EK1[DK2[EK1[P]]]
o 解密:P = DK1[EK2[DK1[C]]]
o 钥匙:K = K1 || K2(排列组合)
· 3 把钥匙:56 bits *3
o 加密:C = EK3[DK2[EK1[P]]]
o 解密:P = DK1[EK2[DK3[C]]]
o 钥匙:K = K1 || K2 || K3
3-4 IDEA (International Data Encryption Algorithm)
密码系统
· 特点:
o 区块长度:64 bits
o 初始转换:分为 4 个群组,每群组 16 bits (DES 为 2 群组)。
o 钥匙长度:128 bits (DES 为 56 bits)。
o 子钥匙:52 把/16 bits (DES 16 把/48 bits)
o 重复次数:8 次,每次 6 把子钥匙 (DES 16 次/1 把)
o S-替代盒:3 种运算器。
o 输出转换:类似 S-替代盒,使用 4 把子钥匙。
3-4-1 加密运作程序
3-5-1 IDEA 子钥匙产生
· 128 bits 母钥匙分为 8 个群组,每组 16 bits。
· 取出 8 把子钥匙。
· 左旋 25 bits。
· 再取出 8 把子钥匙,再左旋 25 bits。
3-5-2 编码器的设计
· XOR 运算子:位之间的 XOR 运算。
· 『216 余数』加法运算子:加法取 216 的余数。
· 『:加法取 216 +1 的余数。
· 输出转换器
3-5-3 IDEA 操作模式
· 与 DES 系统相同:
· 电子密码书模式
· 密文区段反馈模式
· J-位密文反馈模式
· J-位输出反馈模式
3-6 RC5 密码系统
· RSA Data Security Inc. 公司主要产品。
· 允许使用者自行定义:
o 钥匙长度
o 区段大小
o 重复编码次数
3-6-1 RC5 参数
· 由三个参数所描述,如 RC5-w/r/b 表示:
· w :表示每字的位数 (两个字符),如区块长度为 64 bits,则 w = 32。
· r :编码回合次数,由 0, 1, ..., 255。越高混淆程度越高。
· b :钥匙长度,以字节表示。
· 譬如:RC5-32/12/16,则表示区块为 64 bits、编码为 12 次、钥匙长度为 128 bits。
3-6-2 编码程序
· 子钥匙数目:t = 2r +2,S[0], S[1], ..., s[t-1]。
· 钥匙长度:w (如 32 bits)
· 初始排列与每一回合都使用到 2 把钥匙。
· 五种运算子:
o 加法运算子
o 减法运算子
o XOR 运算子
o 左移旋转运算子
o 右移旋转运算子
· 加密运算程序:
LE0 = A + S[0]