How Does SHA-256 Work?

Поділитися
Вставка
  • Опубліковано 29 вер 2024

КОМЕНТАРІ • 1 тис.

  • @je.mengullo
    @je.mengullo 3 роки тому +723

    Other people: *creates animation*
    This awesome guy: *creates several programs*
    The dedication and presentation is really commendable!

  • @shadowkitty9326
    @shadowkitty9326 3 роки тому +17

    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.

    • @learnmeabitcoin
      @learnmeabitcoin  3 роки тому +6

      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.

    • @Nomorectrax
      @Nomorectrax 10 місяців тому

      @@learnmeabitcoincan’t find that page :(

  • @simonlovec5570
    @simonlovec5570 4 роки тому +13

    I was wondering how does it work, thank you for the great explanation, will try to code this in python.

    • @32KZ
      @32KZ 3 роки тому +1

      *Tips Fedora* Good Luck. Your gunna need it.

    • @craftthesky8928
      @craftthesky8928 3 роки тому +1

      @@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.

    • @32KZ
      @32KZ 3 роки тому

      @@craftthesky8928 *I Tip My Hat to You. From One Legend to Another*

  • @user-4e4918xcgv
    @user-4e4918xcgv 2 роки тому

    If I watched videos like this every day, I would grow up to be a smart

  • @maksimkuzmin5246
    @maksimkuzmin5246 3 роки тому +2

    That's the best video on sha256 ever. My sincere gratitude!

  • @saadatbaig
    @saadatbaig 3 роки тому +1

    you absolutely deserve many more views, god bless youtube for suggesting. Thank you for putting in the effort!

  • @vapovag597
    @vapovag597 3 роки тому

    That was awesome! No need to do more fancy animations, clean explanations, everything was interesting! Bravo!!! 🔥

  • @zZnighthunterZz
    @zZnighthunterZz 4 роки тому +2

    Very nice explanation!

  • @paulsturm8227
    @paulsturm8227 3 роки тому +1

    Very good video. You have helped me a lot and I am very grateful to you for that👍

  • @marlop1970
    @marlop1970 3 роки тому +1

    Excelent video, many thanks for sharing this info 👍 👍 👍 👍 👍.

  • @dexio85
    @dexio85 3 роки тому

    Good video. Actually implemented it in C as you explained. Now if I could only reverse it :D

    • @learnmeabitcoin
      @learnmeabitcoin  3 роки тому

      Wow, nice work. Must have been a fun task implementing it in C. I went with Ruby to make my life easier, ha.

    • @dexio85
      @dexio85 3 роки тому

      @@learnmeabitcoin I'm a Boomer :) C/C++ is my main language. Honestly - my code is no work compared to amount of effort you put in making all those animated scripts to explain this. It's really one thing to write something and totally different thing to explain it as nicely. Kudos to you for that.

  • @kylewhyte7976
    @kylewhyte7976 3 роки тому

    This was a fantastic video, thank you.

  • @stabilini
    @stabilini 3 роки тому

    Man this was so perfect !

  • @geekpie100
    @geekpie100 3 роки тому

    Does "hashing" have 2 quite distinct purposes:
    1. (like SHA256): to scramble an input value into a pretty much random output value (from an almost infinite set of possible output values).
    2. to hash an input into a smaller number of buckets than the domain of all possible inputs, so that you can save time by searching only in that bucket rather than searching across all the input values you started with.
    If so, is there any terminology that helps you determine which type of hashing you're talking about?

    • @learnmeabitcoin
      @learnmeabitcoin  3 роки тому +1

      That sounds correct. I'm not great with technical terminology, but for point 1 I believe the term might be "pseudo-random", and for point 2 I believe the term might be "collision resistance".

  • @BB-sd6sm
    @BB-sd6sm 4 роки тому +672

    Best video on SHA-256 I have ever seen. Bravo!

  • @gngn2973
    @gngn2973 3 роки тому +199

    this is the best 23 minutes ive ever spent on youtube. Thanks for making the source available.

  • @mohammedhussain2436
    @mohammedhussain2436 3 роки тому +66

    When a noob watches this: ah yes, 0 and 1 dancing with each other while shapeshifting into each other, very cool.

    • @rileybullock6164
      @rileybullock6164 3 роки тому +5

      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!

  • @kebman
    @kebman 4 роки тому +210

    When "lengthy introductions" are that interesting, I have no problem with it!

  • @Tina-bi5ri
    @Tina-bi5ri 4 роки тому +212

    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 :)

  • @hytago3338
    @hytago3338 3 роки тому +81

    This video is totaly underrated, I have searched for something like this for so long.

  • @abhinavaryal5416
    @abhinavaryal5416 4 роки тому +43

    Wow. This is amazing. The hard work and the way you showed everying is awesome. Thanks

  • @brunovaz
    @brunovaz 3 роки тому +43

    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

  • @deidara_8598
    @deidara_8598 3 роки тому +36

    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.

    • @mismis3153
      @mismis3153 3 роки тому

      I never thought about that before, but you are totally right

    • @ElSkizzle
      @ElSkizzle 3 роки тому +1

      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.

    • @deidara_8598
      @deidara_8598 3 роки тому

      @@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.

    • @learnmeabitcoin
      @learnmeabitcoin  3 роки тому +4

      Yes you're correct. That was an oversimplification on my part.

    • @gaganthapar9897
      @gaganthapar9897 3 роки тому +1

      @@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

  • @TheGemini1337
    @TheGemini1337 3 роки тому +61

    Think I used up my last brain cells trying to understand this. Thank you.

  • @VeeTheGator
    @VeeTheGator 2 роки тому +8

    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!~

  • @codewithk
    @codewithk 4 роки тому +18

    This is one of the most clear and simple explanations I found after weeks of searching. Awesome dude.

  • @altairezio6850
    @altairezio6850 3 роки тому +7

    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!

    • @learnmeabitcoin
      @learnmeabitcoin  3 роки тому +2

      I'm glad I could help. Good luck with your project.

  • @jaypeppone3477
    @jaypeppone3477 3 роки тому +5

    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...

  • @jerryspynx54
    @jerryspynx54 2 роки тому +4

    Thank you because your video is extremely helpful for understanding how SHA-256 works. My mind blew up partially!

  • @kevinchen8325
    @kevinchen8325 4 роки тому +11

    The introduction was so cool! It must have taken a long time to put in all the /b’s :)

    • @learnmeabitcoin
      @learnmeabitcoin  4 роки тому +4

      Thanks. I think the whole thing took about as long as it looks, lol.

  • @johnnygood7997
    @johnnygood7997 4 роки тому +9

    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

  • @fzigunov
    @fzigunov 3 роки тому +6

    I was going to build this so I could understand the SHA256 better. But you've already done it! Thanks for sharing!

  • @sirbtc
    @sirbtc 4 роки тому +7

    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.

  • @SuperSam4y0u
    @SuperSam4y0u 3 роки тому +6

    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!

  • @Theonekhaled1
    @Theonekhaled1 3 роки тому +4

    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!

    • @learnmeabitcoin
      @learnmeabitcoin  3 роки тому +1

      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

    • @Theonekhaled1
      @Theonekhaled1 3 роки тому

      @@learnmeabitcoin Thank so much!! I've looked everywhere to find that answer!

  • @erenenadream
    @erenenadream 2 роки тому +4

    Perfect! Everything explained as clear as water. Thank you a lot!

  • @rd9831
    @rd9831 3 роки тому +5

    This just sent my brains in a perpetual spin. Don't know if they will stop spinning.

  • @MaghrebProductions
    @MaghrebProductions 3 роки тому +2

    What Linux distro are you using in this video?

  • @ThisIsAYoutubeAccountAsd
    @ThisIsAYoutubeAccountAsd 2 роки тому +3

    This is probably the best video on SHA-256 you can find online. Absolutely well done

  • @injustice5814
    @injustice5814 3 роки тому +3

    “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.

  • @er88jo
    @er88jo 2 роки тому +1

    This was just amazing. After watching 2^30 videos about the blockchain i finally found one that started with 000000000000000000000000000000.

  • @HendiJustHendi
    @HendiJustHendi 3 роки тому +4

    Finally a video that gives me a real understanding on how that works.

  • @v.gedace1519
    @v.gedace1519 3 роки тому +1

    @1:09: Are you sure that each piece of data has its UNIQUE hash value?
    Empirically: The outcome of the "hash calculation" are 64 bytes,.
    Each byte can have 16 different states.
    Conclusion: 64 of the power of 16 = all possible combinations.
    In other words: The "calculation system" can provide this amount of different values.
    For sure this is a lot but less the infinite.
    Conclusion: There are n (with n >1) input values that produce the same hash value.
    Or in short:
    Hashvalues are not unique.
    Please notice that this is just the pure math behind it.
    It does not say anything about how safe the mechanism is, or how hard it is to find two different "input data" that produce the same output hash value.
    No I am not able to calculate it.I would be the richest man on earth in case I would be able to do so. ;-)
    EDIT:
    Sorry forgot: Very good video. Very good explained. Thanks for your effort!

  • @Smileyassassin47c
    @Smileyassassin47c 3 роки тому +3

    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.

  • @ECBSJ
    @ECBSJ Рік тому +1

    Create one for secp256k1 elliptic curve cryptography please

  • @QRebound
    @QRebound 4 роки тому +6

    "a unique, shorter summary, or fingerprint"... ah yes, much shorter than "greg" ;) Also, only *likely* unique. Great video otherwise!

  • @bygota
    @bygota 4 місяці тому +1

    The best SHA256 vídeo on UA-cam. Congrats!!!!

  • @viczking8520
    @viczking8520 3 роки тому +3

    GIVE THIS MAN A BEER!!! amazing video and worth every second

    • @learnmeabitcoin
      @learnmeabitcoin  3 роки тому +1

      The pleasure was all mine. Also, I am in full support of your suggestion.

  • @bskrksyp
    @bskrksyp 3 роки тому +1

    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 !

  • @bitterlemonboy
    @bitterlemonboy 3 роки тому +5

    That's actually quite simple. I'll try memorizing this and hashing values by pen and paper.

  • @KnowThyFulcrum
    @KnowThyFulcrum 2 роки тому +1

    @1:58 sounds like an interesting interpretation to schrodinger's cat problem

  • @needmoreyoutube
    @needmoreyoutube 4 роки тому +4

    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...

    • @learnmeabitcoin
      @learnmeabitcoin  4 роки тому +3

      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.

    • @needmoreyoutube
      @needmoreyoutube 4 роки тому

      @@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?

    • @learnmeabitcoin
      @learnmeabitcoin  4 роки тому +3

      @@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
      @needmoreyoutube 4 роки тому

      Yeah but since it's impossible (according to your reply) how 51% control of the network helps you with that?

    • @learnmeabitcoin
      @learnmeabitcoin  4 роки тому +1

      @@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.

  • @venisani8871
    @venisani8871 Рік тому +1

    You should make a video about how to create a Crypto wallet by hand.

  • @va9if
    @va9if 3 роки тому +3

    finally. a real explanation.

  • @yeldarbnivot
    @yeldarbnivot 2 роки тому +2

    I’m a bit confused, are the constants both squared/cubed per prime or “randomly” chosen?

    • @bennetthudson9537
      @bennetthudson9537 2 роки тому +2

      They're squared/cubed per prime, but because of the properties of prime numbers the square/cube root of a prime is irrational and is pseudo-random. That's why they make good hashing constants - because they're almost random but not quite.

    • @learnmeabitcoin
      @learnmeabitcoin  2 роки тому

      Great explanation, thank you.

  • @godlymajins
    @godlymajins 3 роки тому +10

    How did you prepare this presentation over the terminal? This was amazing!

    • @learnmeabitcoin
      @learnmeabitcoin  3 роки тому +27

      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

    • @yudatriananda3558
      @yudatriananda3558 3 роки тому

      @@learnmeabitcoin very cool

  • @chadwolfeschledgelsteinhau9697
    @chadwolfeschledgelsteinhau9697 3 роки тому +2

    Btc uses this

  • @EntangledFrequency
    @EntangledFrequency 3 роки тому +3

    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.

  • @_PranavDesai
    @_PranavDesai 3 роки тому +2

    Thank you for putting out this tutorial. Really helped me understand the SHA256 algorithm. The only thing left is to code it up myself!

  • @dkf2711
    @dkf2711 4 роки тому +4

    Seems like you understand this so well you can mine bitcoin in your head. Just with a pen and paper. :D

    • @kebman
      @kebman 4 роки тому +1

      That's what I do. I've mined 10.000 until now!!11111111 I WISH!

    • @mycrazyfuture
      @mycrazyfuture 3 роки тому

      @@kebman oh tell me about how many days or months you spend
      to mine 10 BTC

  • @vytisagafonovas3887
    @vytisagafonovas3887 3 роки тому +1

    I have not decided yet on what impreses me more, how sha 256 works or this video explaining it O.o need help deciding

    • @learnmeabitcoin
      @learnmeabitcoin  3 роки тому

      I've got nothing on the people who initially designed it, but thank you for the kind words :)

  • @izaakkemp8938
    @izaakkemp8938 3 роки тому +2

    Amazing video, this should be required viewing for anyone studying computer science today.

  • @racuchplacuch
    @racuchplacuch 3 роки тому +2

    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.

  • @Jaaaarod
    @Jaaaarod 2 роки тому +1

    Hi, Thank a lot for this, I've learn SHA-252 well from this VDO(made some codding). Question is BITCOIN Difficult parameter is only increase a Nonce number?

    • @learnmeabitcoin
      @learnmeabitcoin  2 роки тому

      When mining, each block hash has to get below a certain "target" value. This was initially set as:
      00000000ffff0000000000000000000000000000000000000000000000000000
      This target value moves up or down after every 2016 blocks depending on how long it took to mine those blocks (the aim is to get an average of 10 minutes between blocks).
      The change in the target value compared to the original target is what's known as the "difficulty". In other words, the difficulty is just a measure of how much more "difficult" it is to mine blocks today compared to at the start of bitcoin.
      So the target is the parameter that adjusts, and the difficulty is just another way of describing it.
      The nonce in a block header is just used to give yourself more attempts at mining the same block (in an attempt to get below the current target).

  • @BobGeorgeMalem
    @BobGeorgeMalem 3 роки тому +1

    Here's my question... Am I really this stupid? I can't comprehend what this guy is talking about... I don't know how a human being came about to be this detail oriented. Simply can't understand. And I will never learn.

    • @holthuizenoemoet591
      @holthuizenoemoet591 3 роки тому

      this is complex theory, no worries. To understand this, you do NOT need to memorize all the steps or the details. You only need a overview and a solid understanding of the basics. If you understand binary operations like, XOR , rotation and things like majority, than you have sufficient knowledge to know why this hash function works.

  • @attaramadhan3562
    @attaramadhan3562 7 місяців тому +2

    hi Greg.. thank a lot for the explanation, your youtube and your website is like crypto bible.. would you explain my question, currently I still confuse about private key is generated at random while same input is same output as result.. in this video I don't see the input (correct me if I'm wrong) but in the end of video hashing output arrived.

    • @attaramadhan3562
      @attaramadhan3562 7 місяців тому +1

      after see twice I see the input is abc..thank greg..the question again this is possible to reverse of hashing back to input.. what the math formula for calculation it?

    • @learnmeabitcoin
      @learnmeabitcoin  7 місяців тому

      @@attaramadhan3562 The algorithm is designed so that it should be impossible to work backwards from an output to figure out what the input was. Nobody has figured out how to do it.
      Lots of data gets "thrown away" during the hashing process, so it's not easy to make backwards steps.

    • @attaramadhan3562
      @attaramadhan3562 7 місяців тому

      @@learnmeabitcoin thank greg..please make video about conversion hexadecimal to base58 on bitcoin

    • @learnmeabitcoin
      @learnmeabitcoin  7 місяців тому

      @@attaramadhan3562 No problem. Okay I'll see what I can do. Until then, I've written this text article on converting to Base58 that might be helpful: learnmeabitcoin.com/technical/base58

  • @dj_averion
    @dj_averion Рік тому +1

    I like your website, it´s really good explained and much content was found on it... Thanks for it.

  • @ednice9597
    @ednice9597 Рік тому +1

    I love this video very much. it explains so much, with clear examples. Great video. Only thing im a little confused about is when the bitcoin header is being split into messages. is it only using the first 448bits(56 bytes) from the header for each message?

    • @learnmeabitcoin
      @learnmeabitcoin  Рік тому

      The block header is 80 bytes, so 640 bits in total.
      The hash function works on 512 bit chunks of data, so there will end up being two message blocks, and the second message block will be compressed on top of the result of the first message block.
      You can see an example here: twitter.com/in3rsha/status/1259813566871371777

  • @oguz.
    @oguz. 2 роки тому +1

    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.

  • @rrashi4484
    @rrashi4484 2 роки тому +1

    Dude! upload frequently and conquer the UA-cam algorithm , this channel is criminally underrated

  • @dellafsemiga
    @dellafsemiga 3 роки тому +1

    thatttt iisssss aaammmmaaaazizziiiiiiiiiiinnnnnnggggggggg!!!!!!!!!!!!!!!!!!!!! thhhhaaaannnkkkkkkyyyyoooooouuuuuuuuu!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  • @niasniass7311
    @niasniass7311 2 роки тому +1

    I know it, you know it, you have absolutely and utterly crushed the topic, props and wish you the best! Good luck, brother

  • @カビ生えてんじゃん
    @カビ生えてんじゃん 3 роки тому +1

    Great video. Finally I can hand mine some bitcoin by doing sha-256 math without the help of computer programs. You are about to make me a millionaire.

  • @shreyanjoshi3622
    @shreyanjoshi3622 Рік тому +1

    I can't fully explain in words how beautiful I find this video to be. You, sir, are brilliant.

  • @zarbi_
    @zarbi_ 3 роки тому +2

    it's 4am what am I looking at. But great vid btw

  • @HarshilDarji
    @HarshilDarji 3 роки тому +1

    @learnmeabitcoin Which Linux distro are you using?

    • @learnmeabitcoin
      @learnmeabitcoin  3 роки тому +1

      I'm using Xubuntu (Ubuntu + XFCE).
      I like Ubuntu because it has all the programs I want to use, and XFCE is a lightweight desktop environment that does the job. It reminds me of the old Windows 98 design.
      I've tried using tiling window managers like i3wm, and they are very cool, but I like the freedom of floating windows by default, as well as having a desktop to keep my working files and folders on.

    • @HarshilDarji
      @HarshilDarji 2 роки тому

      @@learnmeabitcoin Thanks 😄

  • @amrkhaled8139
    @amrkhaled8139 2 роки тому +2

    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.

  • @johnyrocketch
    @johnyrocketch 3 роки тому +1

    This is great thanks so much I had no idea but now I finally get how bitcoin works and why I cant become a millionaire by doing sha 256 backwards 😐😑

  • @johnjordan3552
    @johnjordan3552 3 роки тому +1

    08:06 hey there, awesome video but I couldn't get how that mod thing works and what it actually does. If I find it online I'll update this comment within 8 hours

    • @learnmeabitcoin
      @learnmeabitcoin  3 роки тому +1

      It's just the number that gets "left over" when performing division. For example, 10 / 7 = 3.
      The modulus function is handy for keeping numbers in a certain range. For example, if I was performing some complex calculations and wanted to keep all of my results between 0 and 100 (for whatever reason), I would just always take the result of each calculation "mod 100". That will take the result, and give me the equivalent number between 0 and 100.
      It's handy in computer science because sometimes we want to keep numbers within ranges that will fit inside the registers of a CPU. SHA-256 was designed to run efficiently on 32-bit CPUs, which is why we use "mod 2^32" (2^32 is the largest possible 32-bit number).

  • @lonniehardy3985
    @lonniehardy3985 3 роки тому +2

    Thank you ! I have been searching for weeks for a great illustration of how SHA-256 works. Finally !!
    Wonderful work !!

  • @abundant-goldenrod-breath
    @abundant-goldenrod-breath 2 роки тому +2

    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
      @learnmeabitcoin  2 роки тому +1

      My pleasure! The trickiest part for me was calculating the constants, but everything else was somewhat enjoyable. Enjoy.

  • @lucasrodriguez3795
    @lucasrodriguez3795 2 роки тому +1

    is this account still active? i cannot explain how useful your videos are to me, if it it please consider comming back. thank you

    • @learnmeabitcoin
      @learnmeabitcoin  2 роки тому +1

      Yes I'm still around, got some plans in the works for future videos.
      Thank you.

  • @schmulygluck4905
    @schmulygluck4905 3 роки тому +1

    Thank You! Wow! This video alone makes UA-cam worth existing!

  • @ElSkizzle
    @ElSkizzle 3 роки тому +2

    Fantastic!

  • @AjmerPhull
    @AjmerPhull 3 роки тому +2

    Absolutely amazing demonstration... I followed all that up until "Message Schedule" and the part where the 16th word operations

    • @learnmeabitcoin
      @learnmeabitcoin  3 роки тому

      Yeah that's where it starts to get more complex. That's where it combines the previous operations together.

  • @PaoloBatori
    @PaoloBatori 2 роки тому +1

    Finally! The best video on SHA256! THANK YOU!

  • @ujjwalsingh5188
    @ujjwalsingh5188 3 роки тому +1

    Thankyou sir , you teach that hard topic like a piece of cake . Thanks a lot. (ノ^_^)ノ

  • @MrTrumanPurnell
    @MrTrumanPurnell 3 роки тому +1

    Can you PLZ PLZ do this for SHA 3?? I've read they are very different

  • @TizzyT455
    @TizzyT455 3 роки тому +1

    for exclusive or aka XOR I think its easier to remember it as, if the two inputs are different it outputs a 1, otherwise it outputs 0

  • @saidurgarao8358
    @saidurgarao8358 3 роки тому +2

    The best explanation i have ever had on sha256. Really awesome and remarkable effort.

  • @matusen
    @matusen 3 роки тому +2

    Great work... honestly I understood nothing but I saw the full video spellbound 🤣

  • @SomeNavyGuy
    @SomeNavyGuy 3 роки тому +2

    Damn. That was AWESOME!! Thank you so very much!

  • @axewellll
    @axewellll 2 роки тому +1

    better explanation for xor: output 1 if inputs are different, 0 if they're identical

    • @learnmeabitcoin
      @learnmeabitcoin  2 роки тому

      That's an easier way to explain it, thank you!

  • @attaramadhan3562
    @attaramadhan3562 7 місяців тому +1

    hi Greg, I'm comment again..I think is good for us if you make telegram or discord group..you have community here

  • @iliemihai775
    @iliemihai775 3 роки тому +1

    can we have a SHA-3 keccak256 tutorial as well pls? :D

  • @invisibilities3164
    @invisibilities3164 3 роки тому +2

    Interesting af tbh...

  • @gaurideshpande8858
    @gaurideshpande8858 4 роки тому +2

    Amazing! Thank you so much. Understood the algo properly after seeing this video :)

  • @lisandroeliasacuna7694
    @lisandroeliasacuna7694 2 роки тому +1

    This video is amazing, thanks for your great job!

  • @presidas
    @presidas 2 роки тому +1

    Tks Greg!! Amazing work!!!

  • @zacdagostino8774
    @zacdagostino8774 3 роки тому +1

    you need a nobel price my guy!!!!!