Wow, this is such a good intro! I love the detail you went into for everything. This is one of the few explanations where all the building blocks are set down and built upon -- no moments of WTF where did that come from? Or what even is that? It's all just crystal clear, super grateful, thanks :)
There needs to be more people like you when it comes to explaining how these hash functions (and block ciphers) work, cause most of my research into this specific hash function and a few block ciphers, have little to no info on how they actually work on the inside. I can only imagine how long it took to code all of those separate programs to show exactly what was going on with each step, and it was the most helpful thing imaginable. Literally coded my own implementation thanks to this, so cheers mate.
Thank you so much, this means a lot. It took about 4 weeks altogether to figure out how it worked and to code the animations (and write the explanation). Credit to the NIST specification as well (nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf); it's expertly written and explains the functions clearly. I'm sure it would have taken me a lot longer to understand the mechanics if it wasn't for that. I plan on doing more in the future. Thank you again.
This guy makes one of the best videos out there about the hashing function, a presentation better than university professors, and still out here after 2 years responding on comments, icant say anything except thank you, and you're one of the nicest people ever.
This is fantastic, thank you so much! Really clear, no bits left out or alluded to, everything was explained in depth but not so complicated or convoluted that it made the overall gist hard to follow. Genuinely a gold standard for teaching!~
My graduation project is about hash functions. I'm currently working on understanding SHA-2. This video helped me a lot! Thank you very much, kind sir!
Just found your series about two weeks ago, was bummed that it had been so long since you did any videos. Your walk throughs are thorough yet simple, very easy to follow along. Am glad to see new content, please if you have the time continue with more and possibly updating existing content
This is some next level of explaining, I could probably explain this to someone else now after watching this video and that speaks so much abt how easy you made it to understand! Thanks!
Amazing job, as usual. Thanks for doing that and sharing it. On a side note, Would be interesting to see visually in binary notation how changing a single letter changes the whole result.
Really the best video on the platform. Great work explaining everything, especially the detail about the basic functions and even how the constants are created. This translates easily into any programming language. And of course, the animations are the cherry on top.
No obnoxious techno music, no “hey guys, like and subscribe, a word from our sponsor blah blah blah”, straight to the point, useful animations with programs. This is some good shit right here.
man I program quite a lot and that was still my first thought... some fancy magic that makes this stuff run... this video helped explain that magic though!
Great job explaining this tricky topic ! And WTF ! SHA256 what a crazy concept - always boggles my mind what alien ideas dedicated human beings can come up with...
this video is literally my favourite video on youtube right now. such beautiful animation combined with a very good and understandable explenation and the feeling of getting to learn something very important and interessting isn't something I found a lot on yt. congrats man with quality vids like that your channel is going to be huge one day!
@@32KZ I managed to and it was not all that hard, although I did struggle with the conversion of base2 and base10, wich I needed a lot, because I could not find a way to add two base2 and was to lazy to do it myself, wich I should have done, because it is very simple.
“I just created the entire program in Python with only two weeks of experience and with my cs major textbook on logic gates just because of this video.” Talk about being concise.
1:09 False. There's a limited, although unthinkably huge, number of hashes. Collisions are bound to exist by the simple fact that you cannot uniquely map a countably infinite set to a finite set.
Yes, that's correct in theory but no one was ever able to find a collision. There are 2^256 possibilities. For comparison there are less than 2^90 atoms in the entire universe.
@@ElSkizzle Yeah 256 bits of entropy is impossible to match with current technology, maybe when quantum computers become sufficiently powerful we'll find a way to reduce that.
@@ElSkizzle actually approx 10^78 - 10^82 atoms in the universe. For 10^82 atoms = 2^272-ish. Technically still possible for a collision although EXTREMELY rare
@@learnmeabitcoin Quick question - If we have more than 1 block, and we reach 8 final hash values for each block, what do we do and which hash values would we have to concatenate to get the final 64 bit result?
@@eliasabsawy7347 After you have compressed the first block, those 8 values are used as the initial hash values for the next message block to be compressed on to. If you notice, for the first message block we had to use some constants for the initial hash values. But for successive message blocks, we just use what is already left over from the compression of the last block. Does that make sense?
This video is amazing! Not only you explained how SHA-256 works, but you explained the algorithm very detailed, and someone can make a SHA-256 hash function using only this video. Thank you so much.
Thank you so much for the nice paced fundamental introduction into this! I have one question; Is the only use of primes in the SHA256 the sqrt of the first 64 primes and the cuberoot of the one you mentioned? Is there any other use of primes in there that i am missing. Also are those primes hard coded into the SHA256 algo or is there another say directory with more and longer primes? Thank you so much for the video!
The only specified use of primes I found in SHA-256 were for the constants. The fractional parts you get after square and cube rooting them make for good random bits that can be used as "nothing up my sleeve" constants. These are generally hard coded in when constructing the algorithm. There are no other directories of primes that get used. The only other primes I noticed were in the number of bit rotations in the sigma functions (i.e. 2, 11, 13, 7, 17, 19), but I don't know if they were chosen specifically because they're prime or if that was just a coincidence. github.com/in3rsha/sha256-animation#3-functions
My friend, you clarified the point of bitcoin with your videos. I can perfectly understand it now. Thank you very much! I am a bit confused with the 51% attack tho. I don't get if the attacker needs to build an entire blockchain or replace some prevBlocks and the new ones...
The attacker just needs to build a longer chain than the current one, they can choose how many blocks they want to try and replace. For example, if they wanted to replace the third block from the top, they just need to replace that block and keep mining to above the current height in the chain (to create a new longest chain). The deeper a block is in the blockchain the more time and effort it will take to try and replace it.
@@learnmeabitcoin and in order to change some transactions (for his profit) he need to change the merkle root? Oh so the block that he wants to change will generate a completely different hash. Ohh.. so now he will need to mine the next block that will generate a different hash too. But isn't easy to just change the last block and then mine the next one? I mean why it needs that much computational power?
@@needmoreyoutube You've got it. If you want to change the last block, you have to mine a new block of your own to replace it. But once you've done that, other nodes will be receiving it after the current top block in their chain, so they will not include it as part of their valid blockchain just yet. To force other nodes to adopt this block, you have to mine another block on top of it to create a new "longest chain" (because all nodes accept the longest chain of blocks as the valid blockchain). The problem with this is: you're mining on your own, whereas every other miner is working to build upon the same chain. So whilst you're mining a block to replace the current top block in the chain, by the time you are finished, the chain might be a few blocks longer. So now you have to mine even more blocks to build the new longest chain. You effectively have to outpace the combined efforts of all other miners on the network to replace blocks that are already in the chain.
@@needmoreyoutube It's not impossible, you just need to "out-mine" everyone else to build a new longest chain for everyone else to accept. If you've got less than 50% of the total mining power, you're probably never going to be able to catch up and overtake the current chain. But if you've got 51% or more of the total mining power, it's only a matter of time before you can build a new longest chain.
Very good break down. This helps me understand how it can not be reversed as the shifting to the right losses the data. That is unrecoverable. That along with the adding multiple lines can not be reversed. So that is increases confidence that it is at least not reversible or not invertible.
Thank you. I wrote some scripts in Ruby that perform the hash calculation and print the results in the terminal. They clear the terminal and reprint the current full state of the calculation at each step, so it looks like an animation when it runs. It's not the most efficient way to make an animation in the terminal (i.e. redrawing the entire screen), but it worked out okay for this. You can find all the code for it here: github.com/in3rsha/sha256-animation
I know your channel is based on explaining Bitcoin technology, and I don't even know how much time and effort you have put into this video, but it is immensely, insanely educational and invaluable to me! Thank you so much! I love your style of teaching with step-by-step scripts, I have seen this style of teaching for the first time on RUclips and I love it. If you could explain AES-256 with the same style that would be wonderful!
Amazing explanation, thank you so much! This is all I was looking for since I'm trying to implement SHA256 myself as a little educational project. Now I have a good explanation + a reference implementation if I get stuck :)
@@learnmeabitcoin I'm still trying to work the function out. Could You tell me, what would happen if my initial message was like 500 bits long? Would it be padded to 1024 bits or would message size word get cut down?
Every message must have at least 65 bits of padding added to it (1 bit for the "1" separator plus 64 bits for the message size). If your initial message is 500 bits long, the message+padding will be 565 bits, which is greater than 512 bits. Therefore, you will need to pad with 459 zeros to take the message+padding up to the next multiple of 512, which is 1024 bits. The zero bits go between the separator and the size, like so: [message] [separator] {zeros} [size]
@@itap8880 If your initial message was 500 bits, the initial step of padding (1-bit separator and 64-bit size) would take the message up to 565 bits. This is greater than 512, so you'd pad it with 459 zeros to take the message+padding up to 1024 bits. You never cut the original message down; you just pad with zeros to take it up to the next multiple of 512.
I watched this video 2 days before but i couldn't make it. Unfortunately i felll asleep. Yesterday i opened it again, yet again i fell asleep. I realized this is a perfect sleeping pill for me. It has exactly enough time to make me sleep around 10-15 minutes and it has monotone vocal. No flashing screen just a dark command prompt. It has everything to make me sleep. Thank you for that. I open every night.
This is such a great video! Simply and very clearly explained - and of course the dedication on the presentation/animations is phenomenal! Big up's for you ;)
The fact that you've also included some small details like showing the process of rotational or sigma going on in the background, is well thought. Like someone else said, there are no wtf moments where you wonder "where did this came from??" Thank you for the explanation.
I am really impressed by your explanation. One the the best ever explanations I have ever seen. Despite of a lengthy video, I watched and understood every single bit. Thank you. Bravo!!!
Thank you very much for your effort and that much condensed knowledge with nice animations! The best explanation of sha256 on the internet. Only examples for messages longer then hash would be great too.
I cannot explain how valuable this video is. There is so little in depth information like this on how SHA256 works, obviously because documenting this monster is huge work.
Thank you. It took about 4 weeks altogether to prepare and make this video. I thought it might take longer, but the NIST specification was very good in outlining the technical details.
you the one who made me to realise that why I shouldn't have hated Mathematics and shouldn't have given little importance to Logic Design, Hopefully I'll re-LEARN the BASICs first, inorder to digest what's expalined here for SHA256 Excellent !
Incredible! Had the AHA! moment, laughing out loud amid the pleasure of comprehension. Thank you for the building block approach and the animations. Wonderful work!
Other people: *creates animation*
This awesome guy: *creates several programs*
The dedication and presentation is really commendable!
Thank you for the kind words good sir.
Best video on SHA-256 I have ever seen. Bravo!
Thank you
@Coinroad That's technically impossible lol
@@eliasabsawy7347 Nothing is impossible :)
😙👌
he definitely killed it
this is the best 23 minutes ive ever spent on youtube. Thanks for making the source available.
Thank you so much.
💀
When "lengthy introductions" are that interesting, I have no problem with it!
This video is totaly underrated, I have searched for something like this for so long.
Thanks, that means a lot.
Wow, this is such a good intro! I love the detail you went into for everything. This is one of the few explanations where all the building blocks are set down and built upon -- no moments of WTF where did that come from? Or what even is that? It's all just crystal clear, super grateful, thanks :)
Thank you :)
Luv
Luv
It wasn't the intention of the video but your explanation of how mining works was one of the best I've seen. Really easy to follow
The best SHA256 vídeo on RUclips. Congrats!!!!
There needs to be more people like you when it comes to explaining how these hash functions (and block ciphers) work, cause most of my research into this specific hash function and a few block ciphers, have little to no info on how they actually work on the inside. I can only imagine how long it took to code all of those separate programs to show exactly what was going on with each step, and it was the most helpful thing imaginable. Literally coded my own implementation thanks to this, so cheers mate.
Thank you so much, this means a lot.
It took about 4 weeks altogether to figure out how it worked and to code the animations (and write the explanation). Credit to the NIST specification as well (nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf); it's expertly written and explains the functions clearly. I'm sure it would have taken me a lot longer to understand the mechanics if it wasn't for that.
I plan on doing more in the future. Thank you again.
@@learnmeabitcoincan’t find that page :(
Wow. This is amazing. The hard work and the way you showed everying is awesome. Thanks
Thank you, this means a lot.
This is one of the most clear and simple explanations I found after weeks of searching. Awesome dude.
My pleasure :)
This guy makes one of the best videos out there about the hashing function, a presentation better than university professors, and still out here after 2 years responding on comments, icant say anything except thank you, and you're one of the nicest people ever.
This is amazingly kind of you, thank you.
This is fantastic, thank you so much! Really clear, no bits left out or alluded to, everything was explained in depth but not so complicated or convoluted that it made the overall gist hard to follow. Genuinely a gold standard for teaching!~
Thank you, means a lot.
This is probably the best video on SHA-256 you can find online. Absolutely well done
Think I used up my last brain cells trying to understand this. Thank you.
You're welcome.
It is sparking neurogenisis bro. No pain no gain 😆
My graduation project is about hash functions. I'm currently working on understanding SHA-2. This video helped me a lot! Thank you very much, kind sir!
I'm glad I could help. Good luck with your project.
Just found your series about two weeks ago, was bummed that it had been so long since you did any videos. Your walk throughs are thorough yet simple, very easy to follow along. Am glad to see new content, please if you have the time continue with more and possibly updating existing content
I was going to build this so I could understand the SHA256 better. But you've already done it! Thanks for sharing!
The introduction was so cool! It must have taken a long time to put in all the /b’s :)
Thanks. I think the whole thing took about as long as it looks, lol.
Thank You! Wow! This video alone makes RUclips worth existing!
Ha, thank you very much!
This is some next level of explaining, I could probably explain this to someone else now after watching this video and that speaks so much abt how easy you made it to understand! Thanks!
Thank you.
Amazing demonstration, seeing all the data types really helps a lot, and I love the calm narrated style.
Thank you.
Amazing job, as usual. Thanks for doing that and sharing it. On a side note, Would be interesting to see visually in binary notation how changing a single letter changes the whole result.
That's part 2
This video must be preserved under FIPS journals. Excellent video!
Thank you :)
Perfect! Everything explained as clear as water. Thank you a lot!
The best explanation i have ever had on sha256. Really awesome and remarkable effort.
Thank you.
Finally a video that gives me a real understanding on how that works.
Thank you ! I have been searching for weeks for a great illustration of how SHA-256 works. Finally !!
Wonderful work !!
Thank you :)
Really the best video on the platform. Great work explaining everything, especially the detail about the basic functions and even how the constants are created. This translates easily into any programming language. And of course, the animations are the cherry on top.
Thank you.
No obnoxious techno music, no “hey guys, like and subscribe, a word from our sponsor blah blah blah”, straight to the point, useful animations with programs. This is some good shit right here.
Thank you, I appreciate it.
Thank you because your video is extremely helpful for understanding how SHA-256 works. My mind blew up partially!
Amazing video, this should be required viewing for anyone studying computer science today.
When a noob watches this: ah yes, 0 and 1 dancing with each other while shapeshifting into each other, very cool.
man I program quite a lot and that was still my first thought... some fancy magic that makes this stuff run... this video helped explain that magic though!
This should be taught in schools. Congratulations for the great work put in this video!
Thank you :)
Great job explaining this tricky topic ! And WTF ! SHA256 what a crazy concept - always boggles my mind what alien ideas dedicated human beings can come up with...
this video is literally my favourite video on youtube right now. such beautiful animation combined with a very good and understandable explenation and the feeling of getting to learn something very important and interessting isn't something I found a lot on yt. congrats man with quality vids like that your channel is going to be huge one day!
Thank you.
I was wondering how does it work, thank you for the great explanation, will try to code this in python.
*Tips Fedora* Good Luck. Your gunna need it.
@@32KZ I managed to and it was not all that hard, although I did struggle with the conversion of base2 and base10, wich I needed a lot, because I could not find a way to add two base2 and was to lazy to do it myself, wich I should have done, because it is very simple.
@@craftthesky8928 *I Tip My Hat to You. From One Legend to Another*
Thank you for the video. This is what I was looking for. The step by step example is very helpful to fully understand how it works.
Thank you, glad it helped.
“I just created the entire program in Python with only two weeks of experience and with my cs major textbook on logic gates just because of this video.”
Talk about being concise.
Man wtf, he could be a billionaire 😂😂🤞🏻
Absolutely amazing demonstration... I followed all that up until "Message Schedule" and the part where the 16th word operations
Yeah that's where it starts to get more complex. That's where it combines the previous operations together.
1:09 False. There's a limited, although unthinkably huge, number of hashes. Collisions are bound to exist by the simple fact that you cannot uniquely map a countably infinite set to a finite set.
I never thought about that before, but you are totally right
Yes, that's correct in theory but no one was ever able to find a collision. There are 2^256 possibilities. For comparison there are less than 2^90 atoms in the entire universe.
@@ElSkizzle Yeah 256 bits of entropy is impossible to match with current technology, maybe when quantum computers become sufficiently powerful we'll find a way to reduce that.
Yes you're correct. That was an oversimplification on my part.
@@ElSkizzle actually approx 10^78 - 10^82 atoms in the universe. For 10^82 atoms = 2^272-ish. Technically still possible for a collision although EXTREMELY rare
Been trying to understand this for a minute, this video is the best ive seen so far.
Thank you.
GIVE THIS MAN A BEER!!! amazing video and worth every second
The pleasure was all mine. Also, I am in full support of your suggestion.
I watched from 0:00 to 22:59 and I was amazed by your explanation every second, thank you so much man.
Thank you, this means a lot :)
@@learnmeabitcoin Quick question - If we have more than 1 block, and we reach 8 final hash values for each block, what do we do and which hash values would we have to concatenate to get the final 64 bit result?
@@eliasabsawy7347 After you have compressed the first block, those 8 values are used as the initial hash values for the next message block to be compressed on to.
If you notice, for the first message block we had to use some constants for the initial hash values. But for successive message blocks, we just use what is already left over from the compression of the last block.
Does that make sense?
@@learnmeabitcoin Oh I see, yes it does make sense. Thank you so so much for explaining, I really appreciate that.
finally. a real explanation.
Dude! upload frequently and conquer the RUclips algorithm , this channel is criminally underrated
Thank you :)
This just sent my brains in a perpetual spin. Don't know if they will stop spinning.
You're welcome.
This video is amazing! Not only you explained how SHA-256 works, but you explained the algorithm very detailed, and someone can make a SHA-256 hash function using only this video. Thank you so much.
That's what I was hoping for. Thank you.
Thank you so much for the nice paced fundamental introduction into this! I have one question; Is the only use of primes in the SHA256 the sqrt of the first 64 primes and the cuberoot of the one you mentioned? Is there any other use of primes in there that i am missing. Also are those primes hard coded into the SHA256 algo or is there another say directory with more and longer primes? Thank you so much for the video!
The only specified use of primes I found in SHA-256 were for the constants.
The fractional parts you get after square and cube rooting them make for good random bits that can be used as "nothing up my sleeve" constants.
These are generally hard coded in when constructing the algorithm. There are no other directories of primes that get used.
The only other primes I noticed were in the number of bit rotations in the sigma functions (i.e. 2, 11, 13, 7, 17, 19), but I don't know if they were chosen specifically because they're prime or if that was just a coincidence.
github.com/in3rsha/sha256-animation#3-functions
@@learnmeabitcoin Thank so much!! I've looked everywhere to find that answer!
I can't fully explain in words how beautiful I find this video to be. You, sir, are brilliant.
Thank you, this means a lot.
My friend, you clarified the point of bitcoin with your videos. I can perfectly understand it now. Thank you very much! I am a bit confused with the 51% attack tho. I don't get if the attacker needs to build an entire blockchain or replace some prevBlocks and the new ones...
The attacker just needs to build a longer chain than the current one, they can choose how many blocks they want to try and replace. For example, if they wanted to replace the third block from the top, they just need to replace that block and keep mining to above the current height in the chain (to create a new longest chain).
The deeper a block is in the blockchain the more time and effort it will take to try and replace it.
@@learnmeabitcoin and in order to change some transactions (for his profit) he need to change the merkle root? Oh so the block that he wants to change will generate a completely different hash. Ohh.. so now he will need to mine the next block that will generate a different hash too. But isn't easy to just change the last block and then mine the next one? I mean why it needs that much computational power?
@@needmoreyoutube You've got it.
If you want to change the last block, you have to mine a new block of your own to replace it. But once you've done that, other nodes will be receiving it after the current top block in their chain, so they will not include it as part of their valid blockchain just yet. To force other nodes to adopt this block, you have to mine another block on top of it to create a new "longest chain" (because all nodes accept the longest chain of blocks as the valid blockchain).
The problem with this is: you're mining on your own, whereas every other miner is working to build upon the same chain. So whilst you're mining a block to replace the current top block in the chain, by the time you are finished, the chain might be a few blocks longer. So now you have to mine even more blocks to build the new longest chain.
You effectively have to outpace the combined efforts of all other miners on the network to replace blocks that are already in the chain.
Yeah but since it's impossible (according to your reply) how 51% control of the network helps you with that?
@@needmoreyoutube It's not impossible, you just need to "out-mine" everyone else to build a new longest chain for everyone else to accept. If you've got less than 50% of the total mining power, you're probably never going to be able to catch up and overtake the current chain. But if you've got 51% or more of the total mining power, it's only a matter of time before you can build a new longest chain.
Cannot ask for anything better. Best of best with animations. Wow, thank you.
My pleasure, thank you.
Very good break down. This helps me understand how it can not be reversed as the shifting to the right losses the data. That is unrecoverable. That along with the adding multiple lines can not be reversed. So that is increases confidence that it is at least not reversible or not invertible.
This really helps to demonstrate just how secure SHA-256 is. It's almost impossible to reverse this algorithm. Thanks a lot for the hard work.
My pleasure, thank you.
That's actually quite simple. I'll try memorizing this and hashing values by pen and paper.
Amazing video, well visualized and even some details while keeping the total length manageable. Thanks a lot.
Thank you.
How did you prepare this presentation over the terminal? This was amazing!
Thank you.
I wrote some scripts in Ruby that perform the hash calculation and print the results in the terminal. They clear the terminal and reprint the current full state of the calculation at each step, so it looks like an animation when it runs. It's not the most efficient way to make an animation in the terminal (i.e. redrawing the entire screen), but it worked out okay for this.
You can find all the code for it here: github.com/in3rsha/sha256-animation
@@learnmeabitcoin very cool
Hats off Sir! The amount of work and attention to detail...wow...can only repeat what everyone else has said. Amazing work, thank you so very much!
My pleasure, I enjoyed making it.
"a unique, shorter summary, or fingerprint"... ah yes, much shorter than "greg" ;) Also, only *likely* unique. Great video otherwise!
I know your channel is based on explaining Bitcoin technology, and I don't even know how much time and effort you have put into this video, but it is immensely, insanely educational and invaluable to me! Thank you so much! I love your style of teaching with step-by-step scripts, I have seen this style of teaching for the first time on RUclips and I love it.
If you could explain AES-256 with the same style that would be wonderful!
This means a lot, thank you.
I'll see what I can do.
Seems like you understand this so well you can mine bitcoin in your head. Just with a pen and paper. :D
That's what I do. I've mined 10.000 until now!!11111111 I WISH!
@@kebman oh tell me about how many days or months you spend
to mine 10 BTC
This type of animation was so insightful. This was such a great video.
Thank you.
That's the best video on sha256 ever. My sincere gratitude!
Thank you.
Fantastic. Super thorough explanation. Thanks for taking the time to put this together!
Thank you.
Very concise explanation. The animation is icing on the cake
Thank you.
I know it, you know it, you have absolutely and utterly crushed the topic, props and wish you the best! Good luck, brother
Thank you.
Amazing explanation, thank you so much! This is all I was looking for since I'm trying to implement SHA256 myself as a little educational project. Now I have a good explanation + a reference implementation if I get stuck :)
My pleasure! The trickiest part for me was calculating the constants, but everything else was somewhat enjoyable. Enjoy.
Wow! So much effort put into the tutorial and how easy and clearly we could understand the SHA256. I feel so thankful to you.
My pleasure, thank you for the kind words.
Best video! Mathematically complete, concise, and self-contained. Educationally simple but not simpler.
Thank you, that means a lot.
Thank You for explaining this function, especially while most other channels don't even bother to dive that deep into operations of SHA-256.
No problem, I enjoyed figuring out how it worked.
@@learnmeabitcoin I'm still trying to work the function out. Could You tell me, what would happen if my initial message was like 500 bits long? Would it be padded to 1024 bits or would message size word get cut down?
Every message must have at least 65 bits of padding added to it (1 bit for the "1" separator plus 64 bits for the message size).
If your initial message is 500 bits long, the message+padding will be 565 bits, which is greater than 512 bits.
Therefore, you will need to pad with 459 zeros to take the message+padding up to the next multiple of 512, which is 1024 bits.
The zero bits go between the separator and the size, like so:
[message] [separator] {zeros} [size]
@@learnmeabitcoin Thank You again.
@@itap8880 If your initial message was 500 bits, the initial step of padding (1-bit separator and 64-bit size) would take the message up to 565 bits. This is greater than 512, so you'd pad it with 459 zeros to take the message+padding up to 1024 bits.
You never cut the original message down; you just pad with zeros to take it up to the next multiple of 512.
you absolutely deserve many more views, god bless youtube for suggesting. Thank you for putting in the effort!
Thank you, and my pleasure!
I watched this video 2 days before but i couldn't make it. Unfortunately i felll asleep. Yesterday i opened it again, yet again i fell asleep. I realized this is a perfect sleeping pill for me. It has exactly enough time to make me sleep around 10-15 minutes and it has monotone vocal. No flashing screen just a dark command prompt. It has everything to make me sleep. Thank you for that. I open every night.
My pleasure.
This is very informative, I would love to see you explain other hashing algorithms as well
It's something I'd like to do when I get time. Thank you for the encouragement.
The animation to explain each part is great, helps a lot to visualize what is happening
This is such a great video! Simply and very clearly explained - and of course the dedication on the presentation/animations is phenomenal!
Big up's for you ;)
Thank you, I appreciate it.
this is BY FAR the best explanation of SHA-256 working on the internet. Thanks a lot for this man!
My pleasure, thank you so much.
The fact that you've also included some small details like showing the process of rotational or sigma going on in the background, is well thought. Like someone else said, there are no wtf moments where you wonder "where did this came from??" Thank you for the explanation.
Thank you. I tried to make it easy to follow, so I'm glad it worked out okay.
I always wondered how this works. Amazing explanation, fantastic video!
It took me less than 23mn to watch the entire 23mn of this video. The best video about sha256
:)
Thank you for putting out this tutorial. Really helped me understand the SHA256 algorithm. The only thing left is to code it up myself!
Finally! The best video on SHA256! THANK YOU!
Thank you.
This is a great video. Love the way things were animated in the terminal.
Thank you.
Great work... honestly I understood nothing but I saw the full video spellbound 🤣
That's what I was aiming for.
gained lots of insights thanks to this video.
you are criminally underrated 😍
My pleasure, and thank you :)
@@learnmeabitcoin welcome :)
I am really impressed by your explanation. One the the best ever explanations I have ever seen. Despite of a lengthy video, I watched and understood every single bit. Thank you. Bravo!!!
Thank you
I believe it is the first time I understand how it works. Thanks for your video, I subscribed and will watch the other you made!
Thank you very much for your effort and that much condensed knowledge with nice animations! The best explanation of sha256 on the internet. Only examples for messages longer then hash would be great too.
Thank you
Hahaha just quickly described the mining process so that I can totally understand the basics in 3 minutes. Awesome stuff!
U killed it, my brother. I am new but I have a clear understanding of SHA 256
Thank you, glad it helped.
Best explanation of sha-256 on the internet
Thank you
That was awesome! No need to do more fancy animations, clean explanations, everything was interesting! Bravo!!! 🔥
Thank you, this means a lot.
Sorry for the long introduction? That was the best part, concise, and well presented. Thanks!
Thank you :)
this is just too well explained, congrats to you man!! keep doing these they are awesome!!
Thanks, will do my best.
Excellent video! This has been an incredibly valuable resource for me!
Thank you.
I cannot explain how valuable this video is. There is so little in depth information like this on how SHA256 works, obviously because documenting this monster is huge work.
Thank you. It took about 4 weeks altogether to prepare and make this video. I thought it might take longer, but the NIST specification was very good in outlining the technical details.
you the one who made me to realise that why I shouldn't have hated Mathematics and shouldn't have given little importance to Logic Design, Hopefully I'll re-LEARN the BASICs first, inorder to digest what's expalined here for SHA256
Excellent !
Thank you
Great video with a very clear explanation of the topic. Would love to see more content from you.
Thank you, I will try.
Great video, thanks for putting in so much effort!
My pleasure, thank you.
What Linux distro are you using in this video?
Xubuntu (Ubuntu + XFCE)
Incredible! Had the AHA! moment, laughing out loud amid the pleasure of comprehension. Thank you for the building block approach and the animations. Wonderful work!
My pleasure, thank you.