我是靠谱客的博主 土豪便当,最近开发中收集的这篇文章主要介绍散列函数与消息鉴别 SHA-1计算,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、完成计算字符串“helloWorld”的SHA-1散列值(只需写出t=0时计算得到的SHA-1,请写明计算过程)
解:helloWorld对应的十进制数为:104 101 108 108 111 87 111 114 108 100
转换为二进制数为:01101000 01100101 01101100 01101100 01101111 01010111 01101111 01110010 01101100 01100100 说明消息长度为80
根据填充可得
01101000 01100101 01101100 01101100
01101111 01010111 01101111 01110010
01101100 01100100 10000000 00000000
00000000 00000000 00000000 00000000

00000000 00000000 00000000 01010000 最后的字化为十六进制为:00000050
确认常数K的初始值
K1=5A827999
K2=6ED9EBA1
K3=8F1BBCDC
K4=CA62C1D6
五个寄存器的初始值为:
A=67452301 B=EFCDAB89 C=98BADCFE D=10325476 E=C3D2E1F0
化为二进制数为:A=01100111 01000101 00100011 00000001
B=11101111 11001101 10101011 10001001
C=10011000 10111010 11011100 11111110
D=00010000 00110010 01010100 01110110
E=11000011 11010010 11100001 11110000
W0=68656c6c,W1=W2=…=W14=00000000 W15=00000050
进行压缩操作:A=(E⊕f0(B,C,D)⊕A<<<5⊕W0⊕K0)
W0=68656c6c=01101000011001010110110001101100
K0=5A827999=01011010100000100111100110011001
A<<<5=11101000101001000110000000101100
f0(B,C,D)=(B与C)或(非C与D)=10001000100010001000100010001000=88888888
所以A=(E⊕f0(B,C,D)⊕A<<<5⊕W0⊕K0)
=(C3D2E1F0⊕88888888⊕E8A4602C⊕68656c6c⊕5A827999)=
( 11000011 11010010 11100001 11110000
⊕10001000 10001000 10001000 10001000
⊕11101000 10100100 01100000 00101100
⊕01101000 01100101 01101100 01101100
⊕01011010 10000010 01111001 10011001)
=10010001 00011001 00011100 10100001=91191CA1
B=67452301
C=01111011111100110110101011100010=7BF36AE2
D=98BADCFE
E=10325476
最后得到结果为:
H0=67452301+91191CA1=F85E3FA2
H1=EFCDAB89+67452301=15712CE8A
H2=98BADCFE+7BF36AE2=114AE47E0
H3=10325476+98BADCFE=A8ED3174
H4=C3D2E1F0+10325476=D4053666

2、计算字符串“myworld”的SHA-1中对应的w16,w17,w18,w19
解:myworld对应的十进制数为:109 121 119 111 114 108 100
转换为二进制数为:01101101 01111001 01110111 01101111 01110010 01101100 01100100消息长度为56
所以W0=6D79776F W1=726C6480 W2=W3=…=W14=00000000 W15=00000038
所以W16=(WO⊕W2⊕W8⊕W13)<<<1=daf2eede
W17=(W1⊕W3⊕W9⊕W14)<<<1=e4d8c900
W18=(W2⊕W4⊕W10⊕W15)<<<1=00000070
W19=(W3⊕W5⊕W11⊕W16)<<<1=b5e5ddbd

最后

以上就是土豪便当为你收集整理的散列函数与消息鉴别 SHA-1计算的全部内容,希望文章能够帮你解决散列函数与消息鉴别 SHA-1计算所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部