Bitcoin Core rejects negative r and s in transaction signatures during DER validation in IsValidSignatureEncoding():
if (sig[4] & 0x80) return false;
if (sig[lenR + 6] & 0x80) return false;
Suggestion:
diff --git a/bip-0461.md b/bip-0461.md
index 444db94..608e093 100644
--- a/bip-0461.md
+++ b/bip-0461.md
@@ -134,9 +134,9 @@ The algorithm *verify(sig, P, msghash)* is defined as:
- If *y(P)<sup>2</sup> ≠ x(P)<sup>3</sup> + 7 mod p*:
- Return *false*
- Let *(r, s) = sig*
-- If *r = 0* or *r >= n*:
+- If *r <= 0* or *r >= n*:
- Return *false*
-- If *s = 0* or *s >= n*:
+- If *s <= 0* or *s >= n*:
- Return *false*
- Let *w = s<sup>-1</sup>*
- Let *u<sub>1</sub> = w * int(msghash) mod n*