⊙分组密码的设计应满足如下要求: o1)分组长度L应足够大,使分组代换字母 表中的元素个数2足够大,防止明文穷 举攻击。 例如若采用L=64的分组,在生日攻击下用23分 组密文成功概率为05,并需要23×64bit 25MB存储,因此穷举攻击实际上是不可行 的 2)密钥量要足够大,即置换子集中的元素 足够多,尽可能消除弱密钥并使所有密 钥同样好。同时为了佰干密钥管理。密
分组密码的设计应满足如下要求: 1)分组长度 L应足够大,使分组代换字母 表中的元素个数 2 L足够大,防止明文穷 举攻击。 例如若采用L=64的分组,在生日攻击下用 232 分 组密文成功概率为 0.5 ,并需要 232 ×64bit =215MB存储,因此穷举攻击实际上是不可行 的 2)密钥量要足够大,即置换子集中的元素 足够多,尽可能消除弱密钥并使所有密 钥同样好 。同时为了便于密钥管理 , 密
3)由密钥确定的置换算法要足够复杂,实现明文 与密文的扩散和混乱,没有简单的关系可循, 并能抗差分攻击、线性攻击等已知的密码攻击 方法。 4)设计的算法采用规则的模块结构,加密和解密 运算简单,便于软件和硬件的实现。 在主要以软件实现为手段的密码算法中,应选用 以标准处理器进行运算的基本运算,而避免采 用如逐位置换那种较难用软件实现的运算。 在主要以硬件实现为手段的密码算法中,应使得 加密和解密过程之间的差别仅在由密钥所生成 的密钥表的不同,使得加密和解密可以用同一
3)由密钥确定的置换算法要足够复杂,实现明文 与密文的扩散和混乱,没有简单的关系可循, 并能抗差分攻击、线性攻击等已知的密码攻击 方法。 4)设计的算法采用规则的模块结构,加密和解密 运算简单,便于软件和硬件的实现。 在主要以软件实现为手段的密码算法中,应选用 以标准处理器进行运算的基本运算,而避免采 用如逐位置换那种较难用软件实现的运算。 在主要以硬件实现为手段的密码算法中,应使得 加密和解密过程之间的差别仅在由密钥所生成 的密钥表的不同,使得加密和解密可以用同一 器件实现
在实际设计密码算法时,要实现上述各 要求也不容易。 为了便于实现,通常可将较简单且易实 现的密码系统进行组合,构成比较复杂、 密钥量大的密码系统
在实际设计密码算法时,要实现上述各 要求也不容易。 为了便于实现,通常可将较简单且易实 现的密码系统进行组合,构成比较复杂、 密钥量大的密码系统
o Shannon提出了设计分组密码采用方法 的建议: (1)“概率加权和”方法,以一定的概率随机从一些简 单密码系统中选择一个用于加密当前明文。设选用的密 码系统有r个,用E1,E2",En表示,被选用的概率是 p,",p,其中∑p=1。概率和系统可表示成 C=P1E1+p2E2+“+pEr°
Shannon提出了设计分组密码采用方法 的建议: (1)“概率加权和”方法,以一定的概率随机从一些简 单密码系统中选择一个用于加密当前明文。设选用的密 码系统有 r 个,用 E1,E2,…,En 表示,被选用的概率是 p1,p2, … ,pr ,其中 1 1 r i pi 。概率和系统可表示成 C=p1E1+p2E2+…+prEr
Q(2)乘积”方法,用两个密码算法E1和 E2对明文进行加密。先用E对明文进行 加密,然后再用E2对所得结果加密。 (3).用扩散和混乱方法。 ρ所谓扩散就是使每位明文和密钥的影响 散布到尽可能多的输出密文中,以隐蔽 明文的统计特性,防止对密钥逐段破译 ⊙混乱就是使作用于明文的密钥与密文之 间的关系复杂化,使明文与密文之间、 密文与密钥之间的统计相关性极小化 以便抗统计分析攻击
(2)“乘积”方法,用两个密码算法 E 1 和 E 2对明文进行加密。先用 E 1对明文进行 加密,然后再用 E 2对所得结果加密。 (3)采用扩散和混乱方法。 所谓扩散就是使每位明文和密钥的影响 散布到尽可能多的输出密文中,以隐蔽 明文的统计特性,防止对密钥逐段破译 混乱就是使作用于明文的密钥与密文之 间的关系复杂化,使明文与密文之间、 密文与密钥之间的统计相关性极小化, 以便抗统计分析攻击