软考
APP下载

信息安全工程师考试知识点:Hash函数

1.Hash 函数将任意长的报文 M映射为定长的 hash 码 h, 其形为:h=H(M) 。

2.hash函数特点:单向性,指由 Hash 码不能得出相应的报文;抗弱碰撞性,保证不能找到与给定报文具有相同 Hash 值的另一报文,可以通过对 Hash 函数值加密来防止伪造;抗强碰撞性,涉及 Hash 函数抗生日攻击这类攻击的能力强弱问题。

3.安全 Hash 算法(SHA)是由美国标准与技术研究所(NIST)设计并于 1993 年公布(FIPS PUB 180), 1995 年又公布了 FIPS PUB 180-1 ,通常称之为 SHA-1 。其输入为长度小于 264位的报文,输出为 160 位的报文摘要,该算法对输入按 512 位进行分组,并以分组为单位进行处理。

4.SM3 算法是国家密码管理局于2010年的安全密码杂凑算法。SM3 算法采用了典型的 Merk1e-Damgård 迭代结构,简称为 M-D 结构,算法填充方式为消息末尾添加消崽长度,即 M | I || O(z) || L(M) , 其中 M 是消息, L(M)是消息的长度的 64 比特二进制表示, (Z) 是使得填充后消息长度为512长度倍数的最小填充"零" 的长度,这种填充方式的 M-D 结构被称为加强型 Merk1e-Damgård 结构;压缩函数包含消息扩展和压缩主函数两个部分,压缩主函数采用了非对称 Feistel 结构。

5.完整性指数据正确无误、完整不缺,使数据免受未授权的毁坏,就是确保数据的完整性。报文内容认证使接收方能够确认报文内容的真实性和完整性,这可通过验证认证码 (Authentication Code) 的正确性来实现。

【练习题】

(1)下面( )不是Hash函数的等价提法

A、压缩信息函数

B、哈希函数

C、单向散列函数

D、杂凑函数

(2)下面( )不是Hash函数具有的特性

A、单向性

B、可逆性

C、压缩性

D、抗碰撞性

(3)线代密码学中很多应用包含散列运算,而应用中不包含散列运算的是( )

A、消息机密性

B、消息完整性

C、消息认证码

D、数字签名

(4)分组加密算法(如AES)与散列函数算法(如SHA)的实现过程最大不同是( )

A、分组

B、迭代

C、非线性

D、可逆

(5)下面( )不是Hash函数的主要应用

A、文件校验

B、数字签名

C、数据加密

D、认证协议

【参考答案】

(1—5)A B A D C

备考资料 免费领取:信息安全工程师报考指南+考情分析+思维导图等 立即下载
真题演练 精准解析历年真题,助你高效备考! 立即做题
相关阅读
信息安全工程师题库