Para cualquier firma ECDSA válida (r, s), el par (r, n − s) también supera la verificación: cambiar el signo del nonce invierte el signo de s, mientras que k·G y −k·G comparten la coordenada x. La regla low-S elige el representante con s ≤ n/2; un firmante normaliza sustituyendo s por n − s siempre que s sea mayor. En secp256k1, n/2 redondeado hacia abajo es 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0.
Bitcoin Core solo retransmite firmas low-S desde la versión 0.11.1 (2015) y las genera desde la 0.9.0, como documenta BIP 146; el verificador de libsecp256k1 rechaza las firmas high-S. EIP-2 de Ethereum (Homestead, 2016) invalidó las transacciones con s por encima de n/2, pero el precompilado ecrecover sigue aceptando valores high-S, así que los contratos que verifican firmas deben imponer el límite por su cuenta.
Los verificadores genéricos (OpenSSL, WebCrypto, Java, Go) aceptan ambas formas, y los firmantes genéricos como OpenSSL no normalizan, así que aproximadamente la mitad de sus firmas no superan una comprobación low-S hasta que se normalizan. EdDSA evita el problema exigiendo que S sea menor que el orden del grupo (RFC 8032 §5.1.7).