27、对称密钥原语的实用构建与攻击分析

对称密钥原语的实用构建与攻击分析

1. 两轮SPN攻击概述

两轮替代 - 置换网络(SPN)并非优秀的伪随机置换。由于两轮不足以产生雪崩效应(当然,这取决于密码的块长度和S盒的输入/输出长度,但在合理参数下确实如此),攻击者若得知两个仅相差一位的输入经SPN计算后的结果,就能区分两轮SPN与均匀置换,因为部分输出位不会改变。虽然可以扩展思路对使用独立子密钥的两轮SPN进行优于暴力破解的攻击,但这里将其留作练习。

2. Feistel网络介绍

2.1 Feistel网络特点

Feistel网络为构建分组密码提供了另一种方法。与SPN相比,其优势在于所使用的底层函数(与SPN中的S盒不同)无需可逆。这意味着Feistel网络能由不可逆组件构建可逆函数,这一点很重要,因为优秀的分组密码应具有“无结构”行为(看起来随机),而要求构建组件都可逆会引入结构,还会对S盒设计增加额外约束,使其更难设计。

2.2 Feistel网络工作原理

Feistel网络按轮次运行,每一轮应用一个带密钥的轮函数。轮函数无需可逆,通常由S盒和混合置换等组件构成,但Feistel网络能处理任何轮函数,不论其设计如何。

在一个块长度为ℓ位的(平衡)Feistel网络中,第i轮函数$\hat{f}_i$以子密钥$k_i$和一个$\frac{\ell}{2}$位的字符串为输入,生成一个$\frac{\ell}{2}$位的输出。与SPN类似,使用主密钥k派生每一轮的子密钥。当选择某个主密钥确定每个子密钥$k_i$后,定义$f_i:{0,1}^{\frac{\ell}{2}}\to{0,1}^{\frac{\ell}{2}}$为$f

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值