随机化CBC - MAC的安全性分析
1. 引言
在密码学领域,消息认证码(MAC)是一种重要的技术,用于验证消息的完整性和真实性。本文将探讨标准确定性CBC - MAC算法(DMAC)以及如何从DMAC构建随机化CBC - MAC(RMAC),并分析RMAC的安全性。
2. 预备知识
2.1 标准确定性CBC - MAC(DMAC)
DMAC是一种基于CBC(Cipher Block Chaining)模式的消息认证码算法。给定两个n位的随机置换$f_1$和$f_2$,DMAC定义在长度为n的倍数的消息上。对于消息$M = (M_1, M_2, \cdots, M_l)$,计算过程如下:
- $C_0 = 0^n$
- $C_i = f_1(M_i \oplus C_{i - 1})$,其中$i$从1到$l$
- $CBC_{f_1}(M) = C_l$
- $DMAC_{f_1,f_2}(M) = f_2(CBC_{f_1}(M))$
初始值$C_0$通常选择为全零块$0^n$。下面是DMAC算法的流程图:
graph LR
A[消息M] --> B[初始值0^n]
B --> C[f1]
A1(M1) --> C
C --> D[f1]
A2(M2) --> D
D --> E[f1]
A3(Ml) --> E
E --> F[f2]
F --> G[DMAC输出]