让我们假设纯文本P=[P_1,\ldots,P_n]上的第一个标记计算为;
\begin{align} C_1 &= E_k(O \oplus P_1)\\ C_2 &= E_k(C_1 \oplus P_2)\\ \vdots & \quad\quad\vdots \\ C_n &= E_k(C_{n-1} \oplus P_n)\\ t &= C_n \end{align}第二个标签用于纯文本Q =[Q_1,\ldots,Q_m] as;
\begin{align} C_1' &= E_k(O \oplus Q_1)\\ C_2' &= E_k(C_1' \oplus Q_2)\\ \vdots & \quad\quad\vdots \\ C_m' &= E_k(C_{m-1}' \oplus Q_m)\\ t' &= C_m' \end{align}- 现在,我们能把这两者结合起来吗?是的,只要稍加修改,我们就会有一个带有标记t'的新消息。考虑m = [P_1,P_2,\ldots,P_n, \color{red}{Q_1 \oplus C_n},Q_2,\ldots,Q_m] --从第一条消息看,P_i's的过程是明显的。现在,将注意力集中在\color{red}{\text{red}}部件上,而将C_n作为CBC链的下一个块的IV;E_k( C_n \oplus (Q_1 \oplus C_n)) = E_k(0 \oplus Q_1) = C_1'现在,其余的进程与第二个标记相同。如果没有将消息长度包含到标记计算中,则会造成伪造。