This is related to my school work, I've basically created an example of a problem that I need to solve to better understand some things.
Say we are given a 128 bit message, m
We have a secure hash function H(x) that produces 256 bit output
We want to find a 128 bit value, t, such that H(m || t) gives us a result that has 50 leading zeros. Note: m || t is m concatenated with t.
The question is, how many times do we need to call the hash function so that we can expect to find at least one value of t that satisfies our requirement.
All help is appreciated.