NMAC和HMAC与1996年提出,1997年HMAC成为RFC2012,事实上是Internet标准
-
NMAC构造:
NMAC(k1,k2)(M)=Hk1(Hk2(M)) -
HMAC构造:使用标准初始值
Hk(M)=H(K’ XOR opad||H(K’ XOR ipad ||M ))
其中K’代表在密钥K后面添加若干个0使其成为一个完整的消息分组。ipad和opad为两个b个消息分组的常数。ipad通过重复地级联字节0x5c直到达到一个完整的b 比特的消息分组,opad通过重复地级联0x36而形成一个完整的消息分组。