SHA-256 | COMPLETE Step-By-Step Explanation (W/ Example)

  Рет қаралды 81,097

RedBlockBlue

RedBlockBlue

2 жыл бұрын

No bs here - this video gives a detailed step-by-step explanation of how SHA-256 works under the hood via an example.

Пікірлер: 126
@valerio21m
@valerio21m Жыл бұрын
Great video! Btw, in the beginning you said that whatever bit length your input has, the padded message length would be the next 512 multiple. That is actually not fully true. That would only be true if the length of the input is smaller or equal to n*512 - 65 (if equal then k = 0). so if e.g. the input length is 960, the padded message will not be 1024 bits long, bc we would then have negative solution for k. But we cannot have a negative solution for k, so that’s why we would need to go with 1536.
@redblockblue
@redblockblue Жыл бұрын
Ah yes ofc, I'll pin your comment so others don't miss that. Thanks!
@valerio21m
@valerio21m Жыл бұрын
@@redblockblue Alright, great. But really bro..your video was fantastic, good job brother! Keep it up!👍🔥 Btw, do you have Twitter or tg?
@user-yj4bd9po7u
@user-yj4bd9po7u 10 ай бұрын
0:36
@user-yj4bd9po7u
@user-yj4bd9po7u 10 ай бұрын
▶️⏯️🎦🆚◀️
@user-yj4bd9po7u
@user-yj4bd9po7u 10 ай бұрын
​@@redblockblue3:25
@goldendovah7613
@goldendovah7613 Жыл бұрын
Love this type of video that goes into the meat of the algorithms instead of speaking abstractly. Thank you for this and well done!
@redblockblue
@redblockblue Жыл бұрын
Yep, that’s the style I’m going for with this channel, there are far too many channels using only analogies and never going deeper than that
@jamesgebler5738
@jamesgebler5738 Жыл бұрын
Thank you so much for this video, for going through the trouble of understanding how it works and breaking it down into something meaningful! Having the example is SUPER helpful. Exactly what I was looking for.
@AyushKumar-cr1rp
@AyushKumar-cr1rp 9 ай бұрын
Only Video of Real SHA 256 algorithm implementation. Thank you for this.❤
@nataliazkontekstu
@nataliazkontekstu Жыл бұрын
Oh my dear god, thanks for going through this insanity :D You're making it so much better than having to go through the whole paper itself. Same goes for Chaum's video! And I do enjoy the music and the humor! :)
@hardikmaind9833
@hardikmaind9833 Жыл бұрын
this is the best explanation you will find on youtube.
@shibainugamer
@shibainugamer 11 ай бұрын
Great video, you're really underrated for the amount of effort you put into this.
@mayumi8274
@mayumi8274 Жыл бұрын
Best one untill NOW..... Hats off
@thebestminecraftplayerfrom376
@thebestminecraftplayerfrom376 5 ай бұрын
This guy deserves more subscribers!!
@kashif3173
@kashif3173 3 ай бұрын
Great video for sure! Very nice, simple explanation. Good job!
@owenclark8166
@owenclark8166 6 ай бұрын
Amazing video. I was able to fully code the algorithm with the help of this explanation. Thank you!
@kenedi987
@kenedi987 3 ай бұрын
Amazing video, exactly what I was looking for.
@anamashraf8996
@anamashraf8996 3 ай бұрын
Wow, Thank you so much. Truly no bs.
@brandonjade2146
@brandonjade2146 Жыл бұрын
you teach in a better way i have seen anyone else, thank you so much when is the video on the ethereum white paper coming out?
@polymethh
@polymethh 2 жыл бұрын
insane explanations thanks man!
@slowgoins
@slowgoins 3 ай бұрын
Thanks for making this video. It was nice to see all the steps actually laid out and what a crazy series of mathematical knots the algorithm ties the input data up in. (Also, for future videos, it would be worth normalizing audio volume up, mastering up, or running some different compression).
@patkoono
@patkoono Жыл бұрын
Best explanation ever !!
@abdulrahmantahir3033
@abdulrahmantahir3033 4 ай бұрын
hey why you stopped making videos ?
@user-qe2dm9jb2y
@user-qe2dm9jb2y Ай бұрын
Love it, thank you for video!
@isidroarias6027
@isidroarias6027 Жыл бұрын
Thanks very much for the video!! I had to pause several times but I now understand better the algorithm. I also like that you show screenshots of the standard, it is a gentle introduction. I have some suggestions: - Use namespaced fonts. This avoid the misalignment of 10:34 - Do you make the animations using Manim? In this case would be great that you share the source code :)
@ahjsbkdjhavkcjhvac
@ahjsbkdjhavkcjhvac Жыл бұрын
very interesting, cant wait to implement it 😋
@chandanapolaki3179
@chandanapolaki3179 2 жыл бұрын
nice explanation i love it
@julianpinelli7627
@julianpinelli7627 2 ай бұрын
Great video!!!
@whramijg
@whramijg 9 ай бұрын
really nice video. Thank you for creating it
@pocketrockets488
@pocketrockets488 5 ай бұрын
Great video. Thank you for the content. Can you give the link to the paper you are referencing in the video?
@Daniel_Mathews
@Daniel_Mathews Жыл бұрын
Great explanation. The easiest to understand from what Ive seen on KZbin so far. But I dont quite get how the looping works... Are all the iterations added to eachother at the end?
@akashelangovan6924
@akashelangovan6924 10 ай бұрын
the best explanation
@bhimraddyyarabandi6512
@bhimraddyyarabandi6512 Жыл бұрын
amazing video
@PotatoMan1491
@PotatoMan1491 Жыл бұрын
First 2 min of the video is already better than me reading for 30 min on wiki
@adambui7935
@adambui7935 6 ай бұрын
This out of this world
@blahmore9010
@blahmore9010 2 жыл бұрын
OMG this was the best
@Antonio-pf6pn
@Antonio-pf6pn Жыл бұрын
Great Video!
@svetlanaulianova1210
@svetlanaulianova1210 Жыл бұрын
hmm I don't get it, why creating initial hash values at 3:28 introduces randomness? if we know, which prime numbers we are taking?
@bitcoinblackboard
@bitcoinblackboard Жыл бұрын
Amazing video. Your pedagogy skills are off the charts. ... but the music man ..............
@David-mk2hp
@David-mk2hp 3 ай бұрын
What is the source of the document you show screenshots of?
@justchill3330
@justchill3330 9 күн бұрын
what if some one uses the final hash and applies these all same operation in a reverse manner and get to the initial input?? (i know doing these operation in reverse will require hell lot of brains but this might be possible ?)
@JarppaGuru
@JarppaGuru 3 ай бұрын
8:05 are those calculated all original values or with answer we got so order is important LOL. i bet original numbers
@frostypact9252
@frostypact9252 10 күн бұрын
I searched this video thinking maybe I can reverse engineer this algorithm but turns out I have to give up on it😂😂
@laracroft4saknfettig697
@laracroft4saknfettig697 Жыл бұрын
Why wouldn't you say modulo to 32nd? How would modulo prevent it from being greater than 32 bits? That is the only reason for the modulo portion, correct?
@mahmoudkaffel3188
@mahmoudkaffel3188 Жыл бұрын
If you do the bitwise addition of Sigma0 shown at 07:24 then the result I found is 00000011100011111110100110110000. Would you please explain if there is sth wrong ?
@redblockblue
@redblockblue Жыл бұрын
Yep, you're correct. I believe I used the correct sum going forward though so the error doesn't carry forward through the rest of the steps. Good spot.
@seancantwell12
@seancantwell12 6 ай бұрын
I was having the same issue, appreciate this comment!
@rileycarlson3714
@rileycarlson3714 6 ай бұрын
Encountered the same thing. Glad I'm not crazy
@ricotaline
@ricotaline Жыл бұрын
Nice vidéo !
@firstevidentenigma
@firstevidentenigma 29 күн бұрын
Where is the document that is referenced in this video?
@laracroft4saknfettig697
@laracroft4saknfettig697 Жыл бұрын
8:50 - why do we only go through that for loop once? What does t=0 to 63 repreent what is the 't' in this case?
@tmahad5447
@tmahad5447 7 ай бұрын
when you're a not a programmer and tries to understand sha256
@Ashlim_Tamang
@Ashlim_Tamang 5 ай бұрын
Can you tell me the name of the book from which you have been explaining in the video?
@tanmay4751
@tanmay4751 4 ай бұрын
Did you find it? I'm also looking for it
@EwarRob
@EwarRob 6 ай бұрын
Question: at 7.23, how can you perform an xor on three inputs? There are only two bits available. I tried doing an xor function on the first two 32 byte numbers and then that output and the final input, and it still did not yield a correct answer??
@EwarRob
@EwarRob 6 ай бұрын
I found you could do xor in python using the ^ symbol, but it produced the answer: 00000011100011111110100110110000, which is incorrect
@hkey4852
@hkey4852 2 ай бұрын
@@EwarRobI think the content in the video is wrong, I get the same result as you in a different programming language!!!
@manle2052
@manle2052 Жыл бұрын
I have a question, Can you explain this to me? I have the character "耀". What are the steps to encode this character? It's not in the ascii encoding.
@JL11MUSIC
@JL11MUSIC 9 ай бұрын
yes it is
@huvarda
@huvarda 6 ай бұрын
if it wasnt then we couldnt see it
@eduardohenriquedasilva6139
@eduardohenriquedasilva6139 11 ай бұрын
One thing I dont get is, since every oitpit is the same lenght, can there be 2 strings with the same output?
@mirsaidabdullaev1431
@mirsaidabdullaev1431 11 ай бұрын
Yes, as a hashing function is many-to-one relationship, and involves a finite number of outputs given an infinite domain - if you are interested in this more, you might want to read up on hashing functions, hash maps and most importantly, how a function deals with "collisions" - which are what you outlined, hashes that are the same but given different outputs. :)
@hamburgerfatso
@hamburgerfatso 9 ай бұрын
yeah but there are so many gajillions of outputs, good luck finding two strings that give the same output
@capitanmarmota8562
@capitanmarmota8562 Жыл бұрын
Can you do the reverse example? getting a string to get a determined value from the function?
@redblockblue
@redblockblue Жыл бұрын
Do you mean: Given a 256 bit output, find the input? No this is not possible, SHA256 (as with all cryptographic hash functions) is a 'one-way' function' meaning its impossible to invert (go google those terms and look at wiki if you're unfamiliar). To convince yourself this is true just look at the inner workings of the algorithm: it's composed of several 'mini' one-way functions such as bit-wise addition mod 2 (i.e. we pass the bits through an XOR gate) if the output is 1 then the input is either 01 or 10.. we can't even invert this function! Same goes for 'shift' function in the video, SHIFT3(11011100) = 00011011... those first 3 bits of the input could be anything and still give same output (b/c they're set to zero regardless) so we cannot invert this mini function either
@capitanmarmota8562
@capitanmarmota8562 Жыл бұрын
@@redblockblue thank you for the response. I had a challenge to find a string that returns something with the substring b00da when passed through the Sha256. I'm no criptographer, I had to brute force it
@thachhoang157
@thachhoang157 7 ай бұрын
bạn có tài liệu như ở trong video không, tôi hiện đang rất cần nó, cảm ơn
@wayneswildworld
@wayneswildworld 3 ай бұрын
Knowing all the steps why can't people work backwords to get the original string?
@andrewsingleplayer9513
@andrewsingleplayer9513 Жыл бұрын
Can u do one for ripemd160?
@okmm2807
@okmm2807 10 ай бұрын
Thanks for the explainations. However the music is very distracting. If I want to listen to music while learning I would just have a video in the background.
@DWM864
@DWM864 Жыл бұрын
man the audio is very low, but amazing video
@spektara
@spektara 6 ай бұрын
7:24 when making addition modulo 2 for sigma0: Is the result shown correct? ("00000001 10001111 11101001 00000101") In my calculation it should be ("00000011 10001111 11101001 10110000")
@tukemo5788
@tukemo5788 4 ай бұрын
I agree, I also got 00000011100011111110100110110000
@Mhysthyckque
@Mhysthyckque Жыл бұрын
can u do the sha3 please?
@x86_architecture10
@x86_architecture10 Жыл бұрын
What will happen if the text we are trying to hash is 504 bits long? You don't have 64 bits to represent the length of the text in binary to be able to add to the end of the binary for it to be 512 bits in length. Your hash will instead be 568 bits long.
@kyrylopisariev9791
@kyrylopisariev9791 Жыл бұрын
you will then need to extend it it 1024 I guess
@valerio21m
@valerio21m Жыл бұрын
@@kyrylopisariev9791yes exactly
@diogocardoso265
@diogocardoso265 Жыл бұрын
Have you tried convert the text into shingles/ tokens? In that way, you avoid having text longer than 504 bits
@x86_architecture10
@x86_architecture10 7 ай бұрын
@@diogocardoso265 How do you do that?
@JarppaGuru
@JarppaGuru 3 ай бұрын
3:59 we still doing stuff allways same. we can reverse. we not even need calculate those if it allwats start 2 then 3 then 5. we allways have those "hashes"
@vishalkap62
@vishalkap62 Жыл бұрын
SHA-256 algorithm designed by the US National Security Agency, is this correct??
@redblockblue
@redblockblue Жыл бұрын
Yep, although that may sound dodgy it’s not an issue, the algorithm is completely described in detail and any ‘random’ numbers are generated in a natural way (fractional part of sqrt(2), etc.) and not just ‘hey, use *this* ‘random’ number. They have planted back doors into publicly used algorithms before though, watch the vid in description from computerphile
@UzairHassan-ns2tb
@UzairHassan-ns2tb 5 ай бұрын
If I am calculating W(16), on which bit I will have to apply the sigma0 and sigma1? Can anyone tell me?
@hyxl3r254
@hyxl3r254 4 ай бұрын
When it says (t-15) or (t-7) t is the loop from 16-63. t is going through the loop, when solving w16, t is 16 so w16 -15 = w1, if its w38 for example then its w38-15 = w23 if u get it?
@sojasauce6722
@sojasauce6722 Жыл бұрын
10:50 how is he calculating this binary number. I still don’t quite understand
@itealaaalaaeddin4080
@itealaaalaaeddin4080 Жыл бұрын
Wonderful video my dear friend I urgently need the presentation file you used please
@user-yr1ok4rf9v
@user-yr1ok4rf9v Жыл бұрын
..
@redblockblue
@redblockblue Жыл бұрын
nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf
@juliuschaesare4296
@juliuschaesare4296 Жыл бұрын
Can i use this for completing my school project
@redblockblue
@redblockblue Жыл бұрын
You can use it for whatever you’d like 👍
@juliuschaesare4296
@juliuschaesare4296 Жыл бұрын
@@redblockblue thanks mate
@JarppaGuru
@JarppaGuru 3 ай бұрын
10:18 well using prime number those are allways same and function ch result same thing or is efg change every step. hope fully. make no sende otherwise LOL
@laracroft4saknfettig697
@laracroft4saknfettig697 Жыл бұрын
3:46, why are the online decimal to binary tools inaccurate? They give me 0.00000010110100011001
@waytech4630
@waytech4630 5 ай бұрын
What do you mean? Perhaps you calculated incorrectly. Correct algorithm is: (**Psuedo code) n = 2 nSqrt = sqrt(n) = 1.4142135623730950488016887242097 .. nDecimals = 0.4142135623730950488016887242097.. nDecimals32Bits = nDecimals * (2^32) hexValue = hex(nDecimals32Bits) = "0x6a09e667" binaryValue = 01101010000010011110011001100111
@awskhanfar4743
@awskhanfar4743 Ай бұрын
i now understand why its impossible to decode the output of hash256
@_xilar
@_xilar 7 ай бұрын
3:25 ok i found myself solving Rubic's cube and thinking about what I can implement on my website 😅
@mayank9447
@mayank9447 10 ай бұрын
Only problem this video has is the low volume even with headphone
@rishav9934
@rishav9934 3 ай бұрын
I guess you need to change your headphones
@WADAFOK
@WADAFOK 2 ай бұрын
you are probably going deaf
@FallahPladasque
@FallahPladasque Ай бұрын
The frequencies carrying this recording are pretty low, could have used more mid/high, you should in any case try a better pair of headphones!
@IrfanKhan-ld4xk
@IrfanKhan-ld4xk 6 ай бұрын
what would we do if our N was more than 1
@hyxl3r254
@hyxl3r254 4 ай бұрын
If the n is number of blocks youre talking about then you have more than one block, follow the same steps just in the final when youre adding h0 = h0 +a Then you take h0 from the previous block and use the new a from the next block
@IrfanKhan-ld4xk
@IrfanKhan-ld4xk 4 ай бұрын
thanks@@hyxl3r254
@mohankumarmahesh2380
@mohankumarmahesh2380 Жыл бұрын
only understood first 3 mins
@vishalkap62
@vishalkap62 Жыл бұрын
Impossible, even for quantum computers to crack SHA-256??
@marsenault9683
@marsenault9683 10 ай бұрын
Encryption built by the government in the NSA but Bitcoin totally wasn't sure
@tim1190
@tim1190 Ай бұрын
holy hell
@billy-cg1qq
@billy-cg1qq Жыл бұрын
Can you link me to the paper you read from?
@redblockblue
@redblockblue Жыл бұрын
nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf
@billy-cg1qq
@billy-cg1qq Жыл бұрын
@@redblockblue thank you
@JarppaGuru
@JarppaGuru 3 ай бұрын
8:33 prime number that allways same
@dipunm
@dipunm Жыл бұрын
"that is it". Ya skipped so many parts and still it's tedious. 😅
@redblockblue
@redblockblue Жыл бұрын
I didn't skip anything, I gave example of going through entire loop once and then you repeat.. why would I make the video longer by going through same loop again?
@JarppaGuru
@JarppaGuru 3 ай бұрын
5:31 real messy LOL bcoz you explain it wrong. could just say ROR 7 times and make animation it roll 7 and not high light this and this if all they shift LOL now 18 ROR is easy. then 3 is easy but zero 3 after thats like without carry AND this is first time when math backward become cracking part we not know what those 3 bits was when they erased LOL so we need do 10 diff all plausable combo but from this point not matter LOL. what comes next i not yet reverse think lol
@javinashjoshi5249
@javinashjoshi5249 28 күн бұрын
kya hai ye kyo hai ye
@kateanf
@kateanf Жыл бұрын
the video is great but the audio is awful
@bonkuto7679
@bonkuto7679 2 жыл бұрын
Underaged thanks if I solve this some how lol u get half (‘if’)
@bonkuto7679
@bonkuto7679 2 жыл бұрын
I meant underrated
@redblockblue
@redblockblue 2 жыл бұрын
Thanks Bon, good luck solving whatever it is you’re trying to solve 👍
@FL1CK_OOP
@FL1CK_OOP 4 ай бұрын
WTF.. nice video. but that is some math bro..
@seroslav6934
@seroslav6934 4 ай бұрын
TL;DR - its a lot of complicated math.
@augustgkd6452
@augustgkd6452 4 ай бұрын
Great video!
Hashing vs Encryption Differences
19:38
Programming w/ Professor Sluiter
Рет қаралды 160 М.
The unsolved math problem which could be worth a billion dollars.
5:59
Matthew Weathers
Рет қаралды 2,4 МЛН
SHE WANTED CHIPS, BUT SHE GOT CARROTS 🤣🥕
00:19
OKUNJATA
Рет қаралды 13 МЛН
1 класс vs 11 класс (неаккуратность)
01:00
БЕРТ
Рет қаралды 1,9 МЛН
7 Cryptography Concepts EVERY Developer Should Know
11:55
Fireship
Рет қаралды 1,2 МЛН
SHA: Secure Hashing Algorithm - Computerphile
10:21
Computerphile
Рет қаралды 1,2 МЛН
Password Storage Tier List: encryption, hashing, salting, bcrypt, and beyond
10:16
But how does bitcoin actually work?
25:16
3Blue1Brown
Рет қаралды 15 МЛН
How secure is 256 bit security?
5:06
3Blue1Brown
Рет қаралды 3,1 МЛН
What are Digital Signatures? - Computerphile
10:17
Computerphile
Рет қаралды 318 М.
SSL, TLS, HTTPS Explained
5:54
ByteByteGo
Рет қаралды 662 М.
Why Do Computers Use 1s and 0s? Binary and Transistors Explained.
7:00
Basics Explained, H3Vtux
Рет қаралды 4,2 МЛН
How does SHA-256 work? (full explanation)
19:24
Boot dev
Рет қаралды 11 М.
SHE WANTED CHIPS, BUT SHE GOT CARROTS 🤣🥕
00:19
OKUNJATA
Рет қаралды 13 МЛН