Thursday, April 30, 2026
HomeBitcoinscript - Does SHA-256d's mounted second-hash padding create measurable inner construction past...

script – Does SHA-256d’s mounted second-hash padding create measurable inner construction past random oracle habits?

Bitcoin safety by no means trusted resistance to length-extension as a result of preimages are public anyway, and customary perception is that the double was used only for defense-in-depth.

I do not suppose Bitcoin ever makes use of hashes in a approach that might endure from size extensions, however I assume Satoshi went with the secure selection of stopping it in all places.

To keep away from this property, Ferguson and Schneier urged utilizing SHA256d = SHA256(SHA256(x)) which avoids length-extension assaults. This development has some minor weaknesses (not related to bitcoin), so I would not advocate it for brand new protocols, and would use HMAC with fixed key, or truncated SHA512 as a substitute.

https://bitcoin.stackexchange.com/a/8461/137501


The paper’s discovery is fascinating in that it will transfer SHA256d additional away from a random oracle which has implications for secondary on-chain makes use of (e.g. in good contracts or as 32-byte P2SH wrapper).

Curiously, Bitcoin builders did not suppose that securing towards length-extension issues in order that they went with plain SHA256 for SegWit P2WSH deal with hashes.

Later, Bitcoin Money builders selected SHA256d for P2SH32, thus sustaining consistency with the remainder of the protocol, and unlinkability between never-spent-from addresses.

Readers may be excited about some older associated work, that has already proven a weak spot towards an unique use-case (Dodis et al., 2013):

We exhibit a cryptographic setting, referred to as mutual proofs of labor, wherein the highlighted construction of H2 could be exploited. In mutual proofs of labor, two events show to one another that they’ve computed some asserted quantity of computational effort. This job is impressed by, and much like, consumer puzzles [20, 21, 27, 28, 40] and puzzle auctions [42]. We give a protocol for mutual proofs of labor whose computational job is computing hash chains. This protocol is safe when utilizing a random oracle, however when utilizing as a substitute H2 an attacker can cheat by abusing the structural properties mentioned above.

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments