每时钟周期生成一字节:新型 RC4 硬件设计
1. 引言
RC4 是一种广泛使用的软件流密码,因其简单性、易于实现、速度和效率而备受青睐。它被应用于众多网络协议,如 SSL、TLS、WEP 和 WPA,同时也在 Microsoft Windows、Lotus Notes 等软件中有所应用。尽管在 RC4 之后发现了许多其他高效且安全的流密码,但它仍然是最受欢迎的流密码算法之一。经过二十多年的分析,其优缺点仍受到业界的广泛关注。只要使用得当,RC4 仍然是安全的。
RC4 算法由 Ron Rivest 于 1987 年为 RSA Data Security 设计,包含密钥调度算法(KSA)和伪随机生成算法(PRGA)两部分。KSA 使用密钥生成 0 到 N - 1 的伪随机排列 S,PRGA 则使用这个排列生成伪随机密钥流字节。
2. RC4 算法
- KSA 算法 :
Input: Secret Key K.
Output: S-Box S generated by K.
for i = 0, ..., N - 1 do
S[i] = i;
end
Initialize counter: j = 0;
for i = 0, ..., N - 1 do
j = j + S[i] + K[i];
Swap S[i] ↔ S[j];
end
- PRGA 算法 :
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



