密码杂凑函数指的是将任意长度的数字消息映射成固定长度的数字串的函数,又称散列函数。
杂凑函数H作用于任意长的消息M,得到一个固定长度的杂凑值h,即h=H(M)。目的是生成数字文件、消息的“指纹”,是安全高效实现数字签名和认证的重要工具。杂凑函数分两类:带密钥的杂凑函数和不带密钥的杂凑函数。安全的杂凑函数应满足以下条件:①能应用到任何大小的数据块上。②能生成固定长度的输出。③对任意给定消息,使用硬件和软件计算杂凑值简单、易行。④对任意的杂凑值,找到相应的消息相当困难。⑤对任意给定的消息,找到另一个与其杂凑值相等的消息相当困难。⑥找到杂凑值相等的两个不同消息相当困难。条件①、②、③是实际需要,条件④是单向性的要求,条件⑤防止伪造,条件⑥防止生日攻击。满足条件①、②、③、④的杂凑函数称为单向杂凑函数;满足条件①、②、③、④、⑤的杂凑函数称为弱杂凑函数;满足条件①、②、③、④、⑤、⑥的杂凑函数称为强杂凑函数。攻击杂凑函数的目的是寻找映射为同一杂凑值的两个不同消息。
发布者:中国军事百科全书编审室