分组密码的基本原理 √乘积密码体制 √实际上,乘积密码就是扩散和混淆两 0 种基本密码操作的组合变换,这样能 0 够产生比各自单独使用时更强大的密 0 码系统。选择某些较简单的受密钥控 制的密码变换,通过乘积和迭代可以 0 0 取得比较好的扩散和混淆效果。 SP网络
分组密码的基本原理 乘积密码体制 实际上,乘积密码就是扩散和混淆两 种基本密码操作的组合变换,这样能 够产生比各自单独使用时更强大的密 码系统。选择某些较简单的受密钥控 制的密码变换,通过乘积和迭代可以 取得比较好的扩散和混淆效果。 SP网络
数据加密标准DES √1977年1月,美国政府宣布:将BM公司设计的方案作为非机密数据的正式数据加密 标准(Data Encryption Standard,DEs)。 √DS是第一个广泛用于商用数据保密的密码算法,其分组长度为64位,密钥长度也为 64位(其中有8位奇偶校验位,故实际密钥长度为56位)。 尽管DES目前因密钥空间的限制,已经被高级加密标准AES取代,但其设计思想仍有 重要的参考价值
数据加密标准DES 1977年1月,美国政府宣布:将IBM公司设计的方案作为非机密数据的正式数据加密 标准(Data Encryption Standard,DES)。 DES是第一个广泛用于商用数据保密的密码算法,其分组长度为64位,密钥长度也为 64位(其中有8位奇偶校验位,故实际密钥长度为56位)。 尽管DES目前因密钥空间的限制,已经被高级加密标准AES取代,但其设计思想仍有 重要的参考价值
数据加密标准(DES) √美国国家标准化局(NBS)于1977年公布 √是Feistel密码体系(FCS,由Horst Feistel发明)的一个具体的实 现 √对称的加密和解密结构 √使用四个基本运算:异或,置换,替换和循环位移 √从70年代中期到2000年早期被广泛使用 √逐步被AES和其他更好的算法所取代 计算机网络安全的理论与实践(第2版)》,【美】王杰,高等教育出版社,2011军
《计算机网络安全的理论与实践(第2版)》. 【美】王杰, 高等教育出版社, 2011年. 29 美国国家标准化局(NBS)于1977年公布 是Feistel 密码体系(FCS,由Horst Feistel发明)的一个具体的实 现 对称的加密和解密结构 使用四个基本运算: 异或, 置换, 替换和循环位移 从70年代中期到2000年早期被广泛使用 逐步被AES 和其他更好的算法所取代 数据加密标准(DES)
Feistel 密码体系(FCS) 将M分成21-bits长的分组(必要时需要对最后一个分组填充) 仅使用异或和替换运算 /从密钥K中生成n个固定长度子密钥:K1,…,K √将一个21-bit的输入分组分为两个部分:Lo和R,长度均为1(分 别表示分组的前缀和后缀) √对一个1-bt的输入串执行一个替换函数F和一个子密钥得到一个 1-bit的输出 √加密和解密均执行轮相同的序列的运算 计算机网络安全的理论与实践(第2版)》,【美】王杰,高等教育出版社,2011哩
《计算机网络安全的理论与实践(第2版)》. 【美】王杰, 高等教育出版社, 2011年. 30 Feistel 密码体系(FCS) 将M 分成2l-bits长的分组 (必要时需要对最后一个分组填充) 仅使用异或和替换运算 从密钥K中生成n个固定长度子密钥: K1 ,…,Kn 将一个2l-bit 的输入分组分为两个部分: L0 和 R0 , 长度均为l (分 别表示分组的前缀和后缀) 对一个l-bit的输入串执行一个替换函数F 和一个子密钥得到一个 l-bit的输出 加密和解密均执行n轮相同的序列的运算
Feistel密码结构 Fεistel结构的具体实现依赖于以下参数和特征。 分组长度:分组长度越长意味着安全性越高(其他数据不变) ,但是会降低加密和解密的速度。这种安全性的增加来自更好 的扩散性。传统上,64位的分组长度比较合理,在分组密码设 计里很常用。然而,高级加密标准使用的是128位的分组长度。 密钥长度:密钥长度较长同样意味着安全性较高,但会降低加 密和解密的速度。这种安全性的增加来自更好的抗穷尽攻击能 力和更好的混淆性。现在一般认为64位的密钥还不够,通常使 用的密钥长度是128位。 ■ 迭代轮数:Feistel密码的本质在于单轮不能提供足够的安全性 ,而多轮加密可取得很高的安全性。迭代轮数的典型值是16。 ■ 子密钥产生算法:子密钥产生越复杂,密码分析攻击就越因难 轮函数:轮函数越复杂,抗攻击能力就越强
Feistel结构的具体实现依赖于以下参数和特征。 分组长度:分组长度越长意味着安全性越高(其他数据不变) ,但是会降低加密和解密的速度。这种安全性的增加来自更好 的扩散性。传统上,64位的分组长度比较合理,在分组密码设 计里很常用。然而,高级加密标准使用的是128位的分组长度。 密钥长度:密钥长度较长同样意味着安全性较高,但会降低加 密和解密的速度。这种安全性的增加来自更好的抗穷尽攻击能 力和更好的混淆性。现在一般认为64位的密钥还不够,通常使 用的密钥长度是128位。 迭代轮数:Feistel密码的本质在于单轮不能提供足够的安全性 ,而多轮加密可取得很高的安全性。迭代轮数的典型值是16。 子密钥产生算法:子密钥产生越复杂,密码分析攻击就越困难 。 轮函数:轮函数越复杂,抗攻击能力就越强。 Feistel密码结构