分组密码的要求 当分组长度较小时,攻击者通过 。分组长度要足够大 穷举明文空间,得到密码变换规 律,难于抵御选择明文攻击。 。密钥量要足够大 如果密钥量小,攻击者可以有效地通过 穷举密钥,对密文进行解密,以得到有 。密码变换足够复杂 意义的明文,难于抵御唯密文攻击。 。加密和解密运算简单 使攻击者除了穷举法攻击以外, 找不到其他简洁的数学破译方法。 。无数据扩展或压缩 便于软件和硬件实现,性能好。 8 CNR@HEU http://machunguang.hrbeu.edu.cn
分组密码的要求 分组长度要足够大 当分组长度较小时,攻击者通过 分组长度要足够大 穷举明文空间 得到密码变换规 密钥量要足够大 穷举明文空间,得到密码变换规 律,难于抵御选择明文攻击。 密钥量要足够大 密码变换足够复杂 如果密钥量小,攻击者可以有效地通过 穷举密钥,对密文进行解密,以得到有 意义的明文,难于抵御唯密文攻击。 密码变换足够复杂 加密和解密 算简单 意义的明文,难于抵御唯密文攻击。 使攻击者除了穷举法攻击以外 加密和解密运算简单 使攻击者除了穷举法攻击以外, 找不到其他简洁的数学破译方法。 无数据扩展或压缩 便于软件和硬件实现,性能好。 8
分组密码的设计思想 。扩散 ●混乱 9 CNR@HEU http://machunguang.hrbeu.edu.cn
分组密码的设计思想 扩散 混乱 9
扩散 所谓扩散,是指要将算法设计成明文每一比特的变化尽 可能多地影响到输出密文序列的变化,以便隐蔽明文的统计 特性。形象地称为雪崩效应。 扩散的另一层意思是密钥每一位的影响尽可能迅速地扩 展到较多的密文比特中去。即扩散的目的是希望密文中的任 一比特都要尽可能与明文、密钥相关联,或者说,明文和密 钥中任何一比特值发生改变,都会在某种程度上影响到密文 值的变化,以防止将密钥分解成若千个孤立的小部分,然后 各个击破。 10 CNR@HEU http://machunguang.hrbeu.edu.cn
扩散 所谓扩散,是指要将算法设计成明文每 是指要将算法设计成明文每 比特的变化尽 一比特的变化尽 可能多地影响到输出密文序列的变化,以便隐蔽明文的统计 特性。形象地称为雪崩效应。 扩散的另一层意思是密钥每一位的影响尽可能迅速地扩 展到较多的密文比特中去。即扩散的目的是希望密文中的任 一比特都要尽可能与明文 一比特都要尽可能与明文 一比特都要尽可能与明文 一比特都要尽可能与明文、密钥相关联,或者说,明文和密 钥中任何一比特值发生改变,都会在某种程度上影响到密文 值的变化,以防止将密钥分解成若干个孤立的小部分,然后 各个击破。 10
扩散的举例说明 明文 密文 00000000 XXXXXx1 无扩散技术 的加密 00000001 XXXXXX11 00000000 01011010 有扩散技术 的加密 00000001 11101011 11 CNR@HEU http://machunguang.hrbeu.edu.cn
扩散的举例说明 明文 密文 00000000 xxxxxx01 无扩散技术 的加密 00000001 xxxxxx11 有扩散技术 的加密 00000000 01011010 00000001 11101011 11
混乱 所谓混乱,是指在加解密变换过程中是明文、密钥以及密 文之间的关系尽可能地复杂化,以防密码破译者采用解析法(即 通过建立并求解一些方程)进行破译攻击。 混乱可以用“搅拌机”来形象地解释,将一组明文和一组 密钥输入到算法中,经过充分混合,最后变成密文。同时要求, 执行这种“混乱”作业的每一步都必须是可逆的,即明文混乱 以后能得到密文,反之,密文经过逆向的混乱操作以后能恢复 出明文。(按照混乱原则,分组密码算法应有复杂的非线性因 素) 12 CNR@HEU http://machunguang.hrbeu.edu.cn
混乱 所谓混乱,是指在加解密变换过程中是明文、密钥以及密 文之间的关系尽可能地复杂化,以防密码破译者采用解析法(即 通过建立并求解一些方程)进行破译攻击。 进行破译攻击。 混乱可以用“搅拌机”来形象地解释,将一组明文和一 将一组明文和一 将一组明文和一 将一组明文和一组 密钥输入到算法中,经过充分混合,最后变成密文。同时要求, 到算法中,经过充分混合,最后变成密文。同时要求, 执行这种“混乱”作业的每一步都必须是 作业的每一步都必须是可逆的,即明文混乱 以后能得到密文,反之,密文经过逆向的混乱操作以后能恢复 出明文。(按照混乱原则,分组密码算法应有复杂的非线性因 素) 12