大家好,欢迎来到IT知识分享网。
1.HMAC算法
1.1 HMAC算法简介
1.2 HMAC算法定义
1.3 HMAC算法步骤
2. SHA-256算法
2.1 SHA-256算法简介
2.2 SHA-256算法描述
首先进行信息预处理,如图2所示,将原始消息(Message)拆解成512-bit大小的消息块。最后一个的消息块需要进行信息补全,并附上原消息的长度信息。消息被分为n块后,需要进行n次迭代,最后一次的结果就是最终的哈希值,即256bit的数字摘要。
SHA256算法的最小运算单元为“字”(word, 32-bit)。图3中256-bit的中间状态Hi被描述为8个字。512-bit的消息块Mi将由16个字扩展为64个字,并与Hi混合,压缩成新的散列值Hi+1。第i块数据经Map函数映射的结果,将作为第i+1块的输入,即Map(H_(i-1))=H_i。H0是预设好的hash初值(自然数中前8个质数的平方根的小数部分,取前32-bit),依次对数据进行Hash映射,得到的最后一个状态Hn便是最终的数字摘要。
而其中最关键的操作为映射函数Map,其内部相当于是一个循环加密的过程,不断将原始信息进行打乱。
2.3 SHA-256算法步骤
3. HAMAC-SHA256算法定义
3.1 HMAC-SHA256算法描述
3.2 HMAC-SHA256算法步骤
HMAC-SHA256的简单理解如下:
- 密钥处理:如果密钥长度超过SHA256算法的块长度(64字节),则需要将密钥先通过SHA256算法进行散列,然后再将散列结果作为新的密钥,使得最终密钥长度小于等于SHA256算法的块长度。
- 填充消息:根据SHA256算法的要求,需要对消息进行填充,使其长度为512位的整数倍。
- HMAC运算:将填充后的消息与密钥分别进行异或操作,并通过SHA256算法计算散列值。其中,消息和密钥的异或结果分别作为SHA256算法的输入。
- 结果输出:将SHA256算法的散列结果作为HMAC-SHA256算法的输出。
HMAC-SHA256算法的安全性主要依赖于SHA256算法的安全性和密钥的长度和随机性。由于SHA256算法是一种较为安全的哈希函数,因此HMAC-SHA256算法也被广泛应用于安全领域,如数字签名、消息认证等。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/131399.html