Scream:高效软件流密码的解析与应用
1. 引言
在当今数字化时代,数据安全至关重要,流密码作为保障数据安全的重要手段之一,其性能和安全性备受关注。Scream 作为一种新的流密码,具有与 SEAL 相似的设计风格,且在速度和安全性上有独特的优势。本文将深入探讨 Scream 流密码的原理、实现、性能以及安全性分析。
2. Scream 流密码概述
Scream 流密码主要有 Scream - 0 和 Scream 两种类型。Scream - 0 的密钥和随机数设置过程较为直接,通过轮函数 F 推导所需的所有量。密钥设置例程会用初始值填充表 W,这些值在随机数设置例程中会被修改,同时也作为随机数设置例程的“密钥调度”。
Scream 与 Scream - 0 类似,但 Scream 的 S 盒 S1[·]、S2[·] 是根据 Rijndael S 盒 S[·] 以密钥相关的方式推导得出。具体来说,将 Scream - 0 密钥设置中的第 0a 行替换为:
0a. set S1[x] := S[... S[S[x + seed0] + seed1] ... + seed15] for all x
在软件速度方面,除了密钥设置,Scream - S 与 Scream - 0 一样快,但 Scream - S 具有更大的秘密状态。由于 S2[x] = S1[x ⊕ 00010101],空间高效的实现只需存储 S1。
3. 实现与性能
3.1 F 函数的软件实现
F 函
Scream流密码解析、性能与安全分析
超级会员免费看
订阅专栏 解锁全文
1万+

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



