基于流密码的认证加密完整性分析
1. 哈希函数的固定点
实际的哈希函数如 GHASH 和 Poly1305 存在固定点。对于 GHASH,当输入 $(A, C) = (\epsilon, \epsilon)$ 时,输出 $Y = 0^n$ 的概率为 1,Poly1305 也有相同的固定点,后续的攻击会利用这一特性。
2. 相关加密方案
- AEAD 方案 :设 $fStr$ 是一个任意固定的 $n$ 位字符串(如 $0^n$)。该方案由流密码 $SC$ 和哈希函数 $H$ 指定,记为 $AEAD[SC, H]$。若使用随机函数 $F \gets Rand(n, \ell)$ 作为流密码 $SC_K$,则记为 $AEAD[Rand(n, \ell), H]$。加密算法的伪代码如下:
// 这里可根据需要补充图 1 中伪代码的详细解读
不同编号的 AEAD 方案对哈希函数 $H$ 的使用方式有所不同,部分使用双输入,部分可处理双输入和单输入。
- ChaCha20 - Poly1305 方案 :
- 定义:设 $K_{CC} = {0, 1}^{256}$ 和 $K_{Poly} = {0, 1}^{128} \times {0, 1}^{128}$,ChaCha20 块函数记为 $CC: K_{CC} \times {0, 1}^{32} \times {0, 1}^{96} \to {0, 1}^{512}$,Poly1305 认证函
超级会员免费看
订阅专栏 解锁全文
5233

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



