HMAC属于很简单也很强大的功能,它定义了一个最简单的算法,来验证消息的一致性。和所有做大做强的家伙一样,它只定义框架,将真正计算的功能,交给那些有专长(hash函数)的家伙。
HMAC的定义非常简单,以至于你有时不好意思说这也算是一门知识,我的意思是你在跟别人吹牛的时候。
- H(K XOR opad, H(K XOR ipad, text))
作为一个在江湖混了这么久的老江湖,HMAC对于跟它混的人,也是有要求的,不是啥阿猫阿狗都可以的。总结起来就是
- 对于KEY:一般也就是要求够长,但是也不能太长。看来这世界上啥东西都是相通的,想邪恶了。另外,需要够random,并且及时更新。这里面有些是算法的要求,有些是作为一个保密界的基本素质。
- 对于IV,其中就是K XOR opad及K XOR ipad,是否可以计算出来之后,就保存在内存中,不必每次重新计算。这是计算方法的实现细节决定的。
- 输出截断。首先,所说截断了有好处,但是截断之后,不能太短,
- 保密性:即冲突性的产生条件。这要求hash函数不能太差吧。
阅读(926) | 评论(0) | 转发(0) |