OCB3认证加密模式:原理、设计与性能分析
1. 基础概念
在加密领域,分组密码是一种确定性算法,记为 $E : K×{0, 1}^n →{0, 1}^n$,其中 $K$ 是有限集,$n\geq1$ 为分组长度。对于所有 $K \in K$,$E_K(·)=E(K, ·)$ 必须是一个置换。其逆映射 $D = E^{-1}$ 定义为:对于 $D_K(Y) = D(K, Y)$,存在唯一的 $X$ 使得 $E_K(X) = Y$。
基于随机数的认证加密方案是一个三元组 $\Pi = (K, E, D)$。密钥空间 $K$ 是有限非空集合。加密算法 $E$ 接收密钥 $K \in K$、随机数 $N \in N \subseteq{0, 1}^ $、明文 $M \in M \subseteq{0, 1}^ $ 和关联数据 $A \in A \subseteq{0, 1}^ $,确定性地返回密文 $C = E_{N, A}^K(M) \in C \subseteq{0, 1}^ $ 或特殊值 Invalid
。集合 $N$、$M$、$C$ 和 $A$ 分别称为随机数空间、消息空间、密文空间和关联数据空间。解密算法 $D$ 接收元组 $(K, N, A, C) \in K × N × A × C$,确定性地返回 Invalid
或字符串 $M = D_{N, A}^K(C) \in M \subseteq{0, 1}^*$。同时,要求对于任意 $C = E_{N, A}^K(M)$,有 $D_{N, A}^K(C) = M$,并且当输入不在 $K×N ×A×M$ 或 $K × N × A × C$ 范围内