分组密码(一) — 密码学复习(四) (3)

  由Nr轮组成,在每一轮(最后一轮稍有不同),先用异或操作混入该轮的轮密钥,再用∏s进行m次代换,然后用∏p进行一次置换

密码体制 3.1 代换-置换网络

分组密码(一) — 密码学复习(四)

 

 

 

 

 

算法 3.1

分组密码(一) — 密码学复习(四)

① 对密钥编排方案适当修改并用S盒的逆代替S盒,该算法也能用于解密。

② 第一个和最后一个异或轮密钥(白化)使得一个不知道密钥的攻击者,无法开始进行一个加密或解密操作。

分组密码(一) — 密码学复习(四)

  非线性替换S一般称为混乱层,主要起混乱的作用;线性置换P一般称为扩散层,主要起扩散的作用。

 

  Fristel体制

  ① 单轮Feistel

  Feistel模型将输入(2w位)分成相同长度的两部分Li和Ri,按如下方式进行变换。

分组密码(一) — 密码学复习(四)

  

分组密码(一) — 密码学复习(四)

  ② Feistel模型的特点

  (1)每轮的输入(明文分组或上轮的输出)被分成左右两半;

  (2)右边一半数据直接作为输出的左边一半;

  (3)输出的右边一半由输入的左边一半异或右边一半输入在一个函数F作用下的结果而得到的;

  (4)F函数是轮变换的核心,它被称为轮函数。轮函数F有两个输入:本轮的右边一半输入和本轮的轮(子)密钥;

  (5)轮函数F得到结构式固定不变的,这是各轮的输入不断变化;

  (6)轮函数中包含了代换、置换以及换入子密钥的操作;

  (7)加解密算法的结构相同,只是子密钥的使用出相反。

 

  ③ Feistel模型的设计要求

分组大小:

  分组越大,安全性越高,但速度也就越慢。

密钥大小:

  密钥越长,安全性越高,但速度也就越慢。

循环次数:

  循环越多,安全性越高。

圈函数:

  复杂性越高则抗击密码分析的能力就越强。

子密钥产生算法:

  复杂性越高,则密码分析的难度就越大。

  此外还要考虑算法的执行速度,设计算法便于分析。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwzjfp.html