CBC-MAC and NMAC
本章节目标:给定一个短消息的PRF,构建一个长消息的PRF.
- 构建一:加密的CBC-MAC
这里是使用了一对密钥 ;系统框图如下:

- 构建二: NMAC (Nested MAC)

值得注意的是,最后一个步骤是完全有必要的,因为如果没有最后一步加密的话,我们就可以附加上任何一组信息(仅仅缀在后面就可以了 )。安全性分析我这里就不做了,没有什么必要...以后如果需要再过一遍吧。


MAC Padding
本小节目标 补全信息满足block size的整数倍;
从安全的角度来看,padding必须是可逆的(invertible);下面是ISO规定的padding方法:


PMAC and Carter-Wegman MAC
之前的ECBC和NMAC本质上都是线性的,在这里我们要构建一个可以并行的MAC.构建框图如下:

值得注意的是,是以增量(
)的方式进行. 因为,我们也很容易对原来的消息进行update.

One-Time MAC 对于任何的攻击者都是安全的,并且比PRF-based MACs要快得多. 在此基础上,又可以衍生出多次MAC.
Many-time MAC

HMAC (Hash-MAC)
这种形式的MAC在生活应用及其广泛,依赖的是哈希函数。
Summary

网友评论