【代替-置换网络】【对代替-置换网络的攻击】【现代密码学】

代替-置换网络

混淆扩散范例

  • 混淆

F k ( x ) = f 1 ( x 1 ) ⋯ f 16 ( x 16 ) F_k(x) = f_1(x_1)\cdots f_{16}(x_{16}) Fk(x)=f1(x1)f16(x16)

  • 分散
    • 对得到的值进行重新排列
  • 混淆-分散
    • 重复使用混淆与扩散确保输入中任何微小的改变都将混合以及传递到所有的输出比特

代替置换(SP)网络

  • 单轮
    1. 输入明文 m m m,子密钥 K 1 K_1 K1,输出 m ⊕ K 1 m \oplus K_1 mK1,作为S盒的输入
    2. S盒对输入进行(区域)混淆,输出混淆值
    3. 对S盒的输出进行重排列,输出密文 c c c
  • 安全性的决定因素
    • S盒(Sbox)
    • 混合置换(MP, mixing permutations)
    • 密钥编排
设计原则
  1. S盒可逆
    • 必须可逆,为了解密 c c c
    • 需要小心的设计,而是盲目的随机选择,为了满足雪崩效应
  2. 雪崩效应
    • 随机混合置换产生非常弱的雪崩效应
    • 雪崩效应的要求
      1. S盒输入改变单比特,输出至少改变两比特
      2. 混合置换的设计要使任何给定的 S S S盒的输出比特被传递到下一轮不同的 S S S盒中

攻击1、2、3轮代替置换网络

  • 1轮 y = F k ( x ) y = F_k(x) y=Fk(x)
    1. y 2 ← M P − 1 y y_2 \overset{MP^{-1}}{\leftarrow} y y2MP1y
    2. y 1 ← S b o x − 1 y 2 y_1 \overset{Sbox^{-1}}{\leftarrow} y_2 y1Sbox1y2
    3. k = x ⊕ y 1 k = x \oplus y_1 k=xy1
  • 2轮 b l o c k = 64 b i t S b o x = 4 b i t k ∈ { 0 , 1 } 128 block = 64bit \quad Sbox = 4bit \quad k \in \{0, 1\}^{128}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值