认证加密原语与可审计信封协议解析
认证加密原语相关内容
在认证加密领域,EAX 是一种知名的认证加密关联数据(AEAD)模式。在 EAX 的实现中,有一些关键操作和特性值得关注。
首先,在处理字节向量时,会进行一些特殊操作。例如,AD - DPADBYTE(x) 会按照相关规则为向量块添加终止标记,PART 表示该操作应用于非块大小的字节向量。所有临时变量 t1、t2、t3 和 t4 都是块大小的单元。
EAX 的最内层操作在代码的 8 - 11 行体现得很明显。计数器(在 t1 中)驱动块密码,将密钥流生成到 t4 中,并且在每一轮将 CBC - MAC 累积到 t2 中。t3 是临时缓冲区,用于保证 ci 的完整性。
这种实现方式具有高效性。在特定处理器(如 OMAP2/OMAP3 处理器,采用 ARM 架构并嵌入 AES 块实现)上,支持加密和解密的 EAX 算法用 C 语言实现后编译为 742 字节,算法的内存(栈)消耗固定为 168 字节,满足相关要求。
下面是 EAX 加密在模型 1 下的算法:
Algorithm 7. Encryption, model 1
Input: N, H, K, M = {m0, m1, ..., mn−1}
Output: C = {c0, c1, ..., cn−1}, T ag
1: N ⇐ OMAC0 K(N)
2: H ⇐ OMAC1 K(H)
3: for all i ∈ 0 ... n − 1 do
4:
ci ⇐ CTRN K (mi)
5:
return ci
6:
C
超级会员免费看
订阅专栏 解锁全文
1万+

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



