用于消息认证的蒙哥马利素数哈希
蒙哥马利素数哈希(MPH)是一种用于消息认证的哈希方法,在消息认证领域有着独特的应用和特点。下面将详细介绍MPH的相关内容。
1. MPH概述
MPH在消息认证方面有其独特之处,但随着消息长度的增加,其安全边界会降低。这一点与多项式哈希(如“PolyCW”算法)和Krawczyk的LFSR哈希类似。对于最坏情况下长度为1500字节的WLAN消息,32位情况下MPH的安全边界为$2^{-23.4}$,64位情况下为$2^{-55.4}$,比对应的MMH安全边界约低6位。不过,这种安全降低是为了换取更短的密钥长度。
MPH的密钥推导过程主要是选择一个秘密模数。模数的选择有一定要求,需有一个大素数因子,这使得选择MPH密钥比选择MMH密钥慢。但密钥推导过程的运行时间并非首要考虑因素。这里有一个在安全意义上最优的密钥推导算法,它能以精确的分布选择模数,达到宣称的安全边界,且速度也较为合理。在800 MHz的奔腾III上用C语言编码时,32位情况下平均运行时间为0.3毫秒,64位情况下为1.3毫秒。
在相关工作方面,基于通用哈希的消息认证受到了广泛关注。MPH与基于LSFR的方案有相似之处,在一定程度上,MPH是GF(p)对GF(2n)方案的类比。RIPE项目的IBC - Hash方法使用消息相对于随机素数的余数,而MPH使用消息相对于随机结构化合数的蒙哥马利余数,这在实现和安全方面产生了不同的特性。
2. MPH的定义
MPH通过计算消息相对于随机选择的模数M的余数来工作。模数M的选择受两个正整数常量D和W的约束,规则如下:
- R1 :$2^D
蒙哥马利素数哈希用于消息认证
超级会员免费看
订阅专栏 解锁全文
33

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



