Il doit son nom à la norme IEEE Std 1363-2000. Les longueurs sont fixes : 64 octets pour P-256 et secp256k1, 96 pour P-384, 132 pour P-521. L’alternative est DER : une SEQUENCE de deux INTEGER big-endian minimaux, chacun précédé d’un 0x00 lorsque son bit de poids fort vaut 1, ce qui donne de 70 à 72 octets pour P-256 et une longueur variable par construction.
Le format brut est utilisé par JWS ES256 et consorts (RFC 7518 §3.4), COSE (RFC 9053 §2.1), WebCrypto, PKCS #11 CKM_ECDSA, Windows CNG et Apple CryptoKit. DER est utilisé par X.509 et CMS, CertificateVerify de TLS, les signatures d’assertion WebAuthn, OpenSSL, SHA256withECDSA de Java, ecdsa.SignASN1 de Go et crypto.sign() de Node. Pour basculer : Node dsaEncoding: "ieee-p1363", Java SHA256withECDSAinP1363Format, Python encode_dss_signature et decode_dss_signature.
Les conversions doivent appliquer le remplissage : r ou s fait moins de 32 octets dans environ une signature sur 128, et conserver l’octet de signe de DER ou omettre le remplissage produit des signatures « brutes » de 63 ou 65 octets, qui échouent ailleurs. Le convertisseur DER ⇄ brut montre les deux formes.