22、从内部状态重构 RC4 密钥的研究

从内部状态重构 RC4 密钥的研究

1. 引言

同步流密码是对称密码系统,适用于对吞吐量要求高的软件应用,或资源受限(如存储、门数或功耗有限)的硬件应用。RC4 可能是目前使用最广泛的流密码。本文将研究从 RC4 已知内部状态恢复密钥的算法。

此前,Roos 在 1995 年发现初始排列的某些元素对秘密密钥字节的线性组合存在偏差。Paul 和 Maitra 给出了这些偏差的理论证明,后来 Biham 和 Carmeli 对其进行了推广。在相关研究中,虽然已有从内部状态重建密钥的算法,但存在复杂度高、成功概率低等问题。本文的主要思路是充分利用表达这些偏差的噪声的整体分布,在假设检验模型中研究仅利用噪声分布能达到的效果。经过对噪声分布的仔细分析,提出了一种逐位恢复密钥位的方法,从密钥字节的最低有效位(LSB)开始,到最高有效位(MSB)结束。该算法的优点是能够估计其复杂度与成功概率的关系,有望以合理的时间复杂度高概率恢复密钥。

2. RC4 描述及符号说明

RC4 由密钥调度算法(KSA)和伪随机生成算法(PRGA)组成。它在整数集 $Z_N = {0, …, N - 1}$ 上工作,内部状态是 $Z_N$ 上的一个排列 $S = (S[0], …, S[N - 1])$(实际中 $N = 256$)。RC4 使用长度为 $l$(通常 $5 \leq l \leq 16$)的密钥 $k = (k[0], …, k[l - 1])$。KSA 根据密钥 $k$ 计算内部状态,供 PRGA 生成 $Z_N$ 上的整数密钥流序列。

相关符号说明如下:
- $K = (K[0], …, K[N - 1])$ 是 $Z_N$ 上大小为 $N$

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值