Reading assignment: Hashing

  1. SHA256
  2. Because SHA256 is 256bits long string, so with brute-force we have 2^256 possibilities to check.
1 Like
  1. The hashing algorithm used in Bitcoin is called SHA-256

  2. This hashing algorithm is really hard to brute-force because the possibility of finding the input based on the output is almost impossible. Very difficult.

1 Like
  1. What is the hashing algorithm called used in Bitcoin?
    SHA-256

  2. Why is this hashing algorithm really hard (almost impossible) to brute-force?
    It is almost impossible to brute-force due to the high number of computational possibilities.

2 Likes

A hashing algorithm is a function which takes text of any length as it’s input and outputs text of a fixed length

It is nigh on impossible to guess or brute-force the hashing algorithm because of one of the 6 qualities of cryptographic hashing: Pre-Image Resistance. This states that it is impossible to determine the input data based on the output hash. The computing effort and amount of time required to come up with random guesses in order to crack the encryption is so great as to make brute-force decryption an unwelcome prospect.

1 Like
  1. SHA256
  2. It’s to long of a guessing game, and won’t work out.
1 Like
  1. What is the hashing algorithm called used in Bitcoin?

Secure Hashing Algortithm-256 (SHA-256)

  1. Why is this hashing algorithm really hard (almost impossible) to brute-force?

With the use of a sufficiently large Nonce number, there are too many permutations to use computers to penetrate the hash.

  1. The algorithm used in Bitcoin is SHA - 256

  2. There are too many computational possibilites to make brute force hacking a viable venture.

1 Like

Q1) Hashing Algorithm used in bitcoin is SHA256

Q2) Since hashing algorithms are deterministic is should be possible to determine the input from the output hash. But this only works when there is a small array of input data (ie numbers on dice - 6 possible inputs - 6 possible outputs). But when the possible array of input data is massively large it is infeasible (not impossible) to work out the input from the output hash. Only by brute-force of randomly guessing what the input is would this possible and this is extremely unlikely with the extremely high number of permutations that the input could be. Thinking picking the the correct grain of sand that exists in the world to being correct.

1 Like

1* SHA 256

2* SHa 256 is really hard to brute force because of the computational requirement is so high

1 Like
  1. What is the hashing algorithm called used in Bitcoin?
    SHA-256 (Secure Hashing Algorithm with a fixed hash length of 256 bit)

  2. Why is this hashing algorithm really hard (almost impossible) to brute-force?
    Because of the chosen high min-entropy of the nonce that has to be concatenated with the hash of the block it takes too long from a human time perspective and thus it is considered as highly pre-image resistant (it takes around 2^256 guesses according to the calculation of 3b1d on yt in 2017 which is 37 x longer than the universe is old, even with an ASICs packed “Kilo Google per person multiplanetary Giga Galactic computer”).

1 Like

You are talking about how mining works. Here we mean why it is hard to brute force a Sha256 hash.
Because it’s a 1way function, you need to keep guessing the input and check if it matches the hash you want to brute force. It will take you so much time and energy that it isn’t worth it.

1 Like

SHA-256
2.
Becouse there are too many possibilities and therefore it doesn’t make sense to try to brute force the chain “with today’s technology”.

On average it will take you 2^256 /2 tries (wich is 2^255)
Finding a nonce for a previous block isn’t that hard. It depends on the difficulty of mining (wich is another topic) Everybody is allow to re-mine previous blocks, but this will be very hard because you need a longer valid blockchain while other people are also mining.

Here you are describing sha256 being collision resistant. Brute forcing sha256 means you need to keep guessing the input and check if it matches the hash you want to brute force.

This is about hash collisions. Brute forcing means to keep guess the input from a Sha256 hash and check if it matches. It will take you almost forever.

Brute forcing a Sha256 is to keep guessing the input from a hash until you find the input that produces the hash you want to brute force.

1 Like

You are talking about a hash collision. Brute forcing a hash is to keep guessing the input from a given sha256 hash.

1 Like

Oh…, thanks for that!

1 Like

The likelihood of determining the original thread isn’t impossible but highly unlikely because there are a vast number of different algorithms to analyse and break down to find the answer. It would just take too long and therefore not viable.

It’s not about guessing the nonce. This is much easier depending on mining difficulty. Brute forcing a Sha256 hash will take you forever to guess the input.