3 ms·
Second Preimage Resistance is important with most cryptocurrencies based off bitcoin because they are often calculated as a hash of a hash, which is what second
by merlincorey 9y ago
Second Preimage Resistance is important with most cryptocurrencies based off bitcoin because they are often calculated as a hash of a hash, which is what second preimage resistance is all about preventing predicting.
In this case, the `curl` function is not being used as a hash function, but a different type of mapping. Unfortunately, that mapping is supposed to be psuedo-random and now it is known that it is not.
- QML 9y agoHow would using the hash of a hash strengthen the property of second preimage resistance? The space of all possible hashes is still 2^256. The only impact I see is that the cost of computing a hash is doubled.
- sneurlax 9y agoThe post was referring to Bitcoin-based cryptocurrencies which compute addresses using two hashing fictions, RIPEMD160 and SHA256. It's not just the same hash, twice. The PoW for blocks is SHA256(SHA256()), though
- comex 9y agoThe "second" in "second preimage" doesn't refer to hashing something twice. It means that you already have one preimage for a hash (presumably because you started with the "preimage" and calculated the hash from that), and you want to find a second, different one.
- QML 9y agoIn simpler terms, given H(x), it is impossible to find x’ such that H(x’) == H(x) in polynomial time.
- comex 9y agoTo be pedantic: given x and H(x), it is impossible to find x’ such that H(x’) == H(x) in a practical amount of time. (You need x, and an attack doesn't need to be polynomial to break the hash function; it just needs to be fast enough, considering constant factors, to fit within some plausible attacker's computational resources.)