Post
Topic
Board Development & Technical Discussion
Re: New transaction malleability attack wave? Another stresstest?
by
dexX7
on 07/10/2015, 12:50:11 UTC
How do I determine whether it is signed with highS or not ?

Step 1: find the signature in the scriptSig

In your example the format is:

Code:


To visually explore it, the ASM code or a block explorer of your choice may help. I really like this one:

http://srv1.yogh.io/#tx:id:36d047abcb966f58aa668f050d60254730a3c07c9fd51e869e8b1a773c05d516



Step 2: split the signature into components



Via bitcoin.stackexchange.com

Note that the image also includes the "signature hash type", which is not part of the DER encoding, but usually shown on explorers.

Step 3: check, whether the S value is below the curve order

Compare:

Code:
7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1 <- order n of G
6a5611667d1eb147d6a7352cbf37a2ddec8d9b37fcad17a0c9a9c6caff287f24 <- the S value

In this case the S value is indeed smaller than n, and therefore it's "low S".