研究对象
仅仅是例子,可以广义化理解为在每轮之间根据分支数来设计的扩散的分组密码:
方法
将消息切分为 d 个分支的分组密码:
OP: 将第 r 轮的数据表示为 需要研究某一个分支的扩散性能需要从第 0 轮开始(或者解密,从最终轮开始)。研究某个分支 的扩散性,就将其设为 1 ,其余分支设为 0 ,即 ,一个设计合理的分组密码会保证在某些轮之后达到雪崩效应,即一个分支会影响到全部分支。
用 表示第 r 轮数据的汉明重量(单位=branch),按照以上步骤,明显在第 0 轮 ,并且会在 r 轮之后 ,这个状态叫做充分扩散(FD (Full Diffusion)),记录下限制第 i 个分支,达到 FD 所需要的轮数 。
仅对某个分支做以上操作是远远不够的,需要对每个分支进行 OP 操作,然后会得到一个 列表,取其中最大值即为整个密码系统达到 FD 所需的最大轮数,令
对于解密而言,也是相同的做法,只不过将该过程做逆。