I noticed that the brute force times (the time it takes to find a message that hashes to a given hash) of various hashing algorithms seems to be `2^(num_bits / 2)`. For example, people say that brute forcing `SHA1` (without using the vulnerability that reduces the brute force time to `2^69`) is `2^80`. In fact, if you look at [this table](https://en.wikipedia.org/wiki/SHA-1#Comparison_of_SHA_functions), the "Security (bits)" column seems to always be half the number of bits, and I believe that's referring to the search time. How are they getting these numbers? I would think that to brute force a 160-bit hash, one would have to at least try `2^160` messages, or maybe `2^159` values on average to find a messages. I don't think the birthday attack is relevant here, as that seems to be about any collision, as opposed to a specific collision.