Let's say I have a binary string
s, that is generated by a cryptographically secure random byte generator, and a hash function SHA-256.
I am using the hash
h=sha256(s) as a one-time password verifier and send it to the server, how many bits of security does this provide?
I guess the question is how easy it is to find a preimage of
h, and the security margin from sha256 seems to be 2^254.9 according to Wikipedia, am I correct in that assumption?
Does anything change if 256 bits of a 512-bit string are already known? Does this make it easier to find a preimage?