This was so helpful! I have to give a presentation (which I totally forgot about till today) on SHA-1 to my entire uni class & professor tomorrow and didn't know anything about it, but this video was so comprehensive, even to the uninitiated that I feel quite confident now!
Yeah (512 MOD 448) is 64. and reverse way (448 MOD 512) is 448. So Right thing is i feeel (448 MOD 512) as later padding 64 bit length of array length gives 512 bit total length.
Although the video is really helpful and explains everything in great detail, I have to add that the shown h and k values are fundamentally different to those used in practice, thus producing completely different results. But otherwise it is a wonderful lesson dives deep in the workings of the SHA1 algorithm.
Too bad the most important part (step 11) didn't contain any detailed information other than the sentence "a bunch of xor". Thanks God we have the screenshot of his code !
initialize some variables... umm wat? what happened to explain things? in-fact after this point the whole explanation went out the window for most following steps
Wow what a great video and a great explanation. I understand the steps you are taking but I am missing a lot of knowledge to understand what is going on. Whats should I know before fully comprehending SHA functions? Should I learn binary/bit wise operations/programming? I'll rewatch a couple of times but as a noob to this, I think this is too advanced for me yet. What can I learn to make this easier to understand? Thanks!
So I don’t know if I’m understanding it wrong but the purpose of a hash function might be to verify that a message hasn’t been corrupted. That is down by hashing the message then sending the hash result along with it and the way the receiver checks it is by hashing the message and see if it matches? Ok then so how come a hacker won’t just also change the hash output so that it seems like nothing has been hacked. And if you check it against the hash that the sender stored then in sending that hash to the receiver to verify it, couldn’t a hacker change that too? Please explain this to me.
You dont send both in the same message/at the same time. To be really safe youd have to use 2 different "methods of communication" I guess, like E-Mail and regular offline mail or telephone.
The Hash value can be encrypted using a shared secret key and when the message is received the hash value is decrypted and then checked. This way the hash value cannot be changed
At Step 7: it is 64 Bits as you show 64 bit padding zeros in front. Step 8: Do we need to append to 64 bit to binary msg 512 bit(both msg + array length 64bit) or step 5 is already 512 bit and added 64 bit length gives 512+ 64 = 578. Which one is correct? Confused!
I think there are some issues with this! you are running a nested loop. and getting words[i][j], j is running until 80, since each word is 32 bit long, this should return a segmentation fault!
Too rushed. Taking the number from step 3 doesn’t give us 48 or the binary for 48. It makes no sense. No explanation of appending 1. And no need to pad the ASCII numbers with 0’s in the front since they should already be there! Waste of my time.
SHA1 Explanation starts: (8:08)
This was so helpful! I have to give a presentation (which I totally forgot about till today) on SHA-1 to my entire uni class & professor tomorrow and didn't know anything about it, but this video was so comprehensive, even to the uninitiated that I feel quite confident now!
How did your presentation go? :)
@@user-km6hc3ez6o It went great! Thanks for asking :)
Best I've seen so far. Nice work.
Definitely loved you walking through the algorithm. It's so much better breaking it down into understandable chunks
Thanks, this is most concise explanation in the youtube
It truly was a "great presentation Sam" :-) Thanks a lot!
Wo, this is what I was looking for a long time, appreciate your job, thanks
9:52
Isn't that 448 mod 512?
Yup. I caught that too. He might have accidently swapped them.
Thanks Sam. That was really a great presentation 👍🏻
I didn't follow your reasoning on the 448 aspect of 512 mod 448. shouldn't it be mod 512 == 0 ?
Yeah (512 MOD 448) is 64. and reverse way (448 MOD 512) is 448.
So Right thing is i feeel (448 MOD 512) as later padding 64 bit length of array length gives 512 bit total length.
@@darkzero4608 Yes you're right
9:14 what's the reason of adding 1 at step 4
Although the video is really helpful and explains everything in great detail, I have to add that the shown h and k values are fundamentally different to those used in practice, thus producing completely different results.
But otherwise it is a wonderful lesson dives deep in the workings of the SHA1 algorithm.
The explanation is wonderful!
amazing this explanation is the best one I've seen, kudos to the presenter
Thank you very much for this video! Really interesting and educational! :)
Too bad the most important part (step 11) didn't contain any detailed information other than the sentence "a bunch of xor". Thanks God we have the screenshot of his code !
way more than EXCELLENT .LOVED IT. :)
I don't get the step 11 in how sha-1 works :/
initialize some variables... umm wat? what happened to explain things? in-fact after this point the whole explanation went out the window for most following steps
lol
Wow what a great video and a great explanation. I understand the steps you are taking but I am missing a lot of knowledge to understand what is going on. Whats should I know before fully comprehending SHA functions? Should I learn binary/bit wise operations/programming? I'll rewatch a couple of times but as a noob to this, I think this is too advanced for me yet. What can I learn to make this easier to understand? Thanks!
So I don’t know if I’m understanding it wrong but the purpose of a hash function might be to verify that a message hasn’t been corrupted.
That is down by hashing the message then sending the hash result along with it and the way the receiver checks it is by hashing the message and see if it matches?
Ok then so how come a hacker won’t just also change the hash output so that it seems like nothing has been hacked.
And if you check it against the hash that the sender stored then in sending that hash to the receiver to verify it, couldn’t a hacker change that too?
Please explain this to me.
You dont send both in the same message/at the same time.
To be really safe youd have to use 2 different "methods of communication" I guess, like E-Mail and regular offline mail or telephone.
The Hash value can be encrypted using a shared secret key and when the message is received the hash value is decrypted and then checked. This way the hash value cannot be changed
In Hashing (encryption is done but decryption is not possible)
Nothing is impossible it may look now not possible but maybe after 100 years it is nothing
@@tanishqkumar1640 I doubt it will take 100 years more like 5 years or 10 with quantum computing
At Step 7: it is 64 Bits as you show 64 bit padding zeros in front.
Step 8: Do we need to append to 64 bit to binary msg 512 bit(both msg + array length 64bit) or
step 5 is already 512 bit and added 64 bit length gives 512+ 64 = 578.
Which one is correct? Confused!
actually in step 5 the length of (padding zero and binary data )is 448
There's a siren sound in the video.
I thought it was from windows lol
Maybe explain the actual interesting bits like step 13 and not the pre proccesing
Super Video sir :)
At step-6. how did we get 48 from step 3
input was '"A Test" 6 chars * 8 bits = 48 bits
the explanation of the actually complicated part was too short imo
why in step 4 you add 1? is that necessary?
Two's complement. Yes its necessary.
I didn't realize since part 11
Woop-woop! That's the sound of da police!
would you please send me this code I need it for my presentation
thank U amigo!
Could you go faster than that ?
I think there are some issues with this! you are running a nested loop. and getting words[i][j], j is running until 80, since each word is 32 bit long, this should return a segmentation fault!
someone, please snatch those horrible siren sounding in the background.
dragons
yes
"the entire text of the bible" 💀
Too rushed. Taking the number from step 3 doesn’t give us 48 or the binary for 48. It makes no sense. No explanation of appending 1. And no need to pad the ASCII numbers with 0’s in the front since they should already be there! Waste of my time.
after watching this video, I still don't really understand how SHA-1 works. so.... not good!
Step 11 makes no sense
Im not undertanding
seriously? 9 mins to actually start saying something of value?
No j runs from 0 to 79 it's correct (minutes ago I tested the code presented in the clip)