I was reading the Wikipedia page for SHA-256 (SHA-2) and came across the following statement:
For a hash function for which $L$ is the number of bits in the message digest, finding a message that corresponds to a given message digest can always be done using a brute force search in $2^L$ evaluations.
Why is this true? Is it some property of SHA-256 or am I missing something? I know that there must be a collision within $2^{256} + 1$ unique inputs, but I don't see why this would mean that there must be a specified digest from some list of unique inputs of length $2^{256} + 1$.