P-256 ist die Kurve in kurzer Weierstraß-Form y² = x³ − 3x + b über der Primzahl p = 2^256 − 2^224 + 2^192 + 2^96 − 1, deren spezielle Form eine schnelle Reduktion erlaubt. Die Gruppe der Kurve hat eine Primordnung von etwa 2^256 (Kofaktor 1), was ein Sicherheitsniveau von rund 128 Bit ergibt. Dieselbe Kurve trägt drei Namen: P-256 (NIST, JOSE, COSE), secp256r1 (SEC 2, TLS) und prime256v1 (ANSI X9.62, OpenSSL).
Ein öffentlicher Schlüssel ist ein Punkt: unkomprimiert 65 Byte (0x04 ‖ x ‖ y), komprimiert 33 Byte. Eine ECDSA-Signatur ist im Rohformat r ‖ s (JOSE, WebCrypto) 64 Byte lang und in DER (X.509, TLS, OpenSSL, WebAuthn-Assertions) meist 70–72 Byte; die beiden Kodierungen zu verwechseln ist einer der häufigsten Interoperabilitätsfehler, und der Konverter DER ⇄ Raw wandelt zwischen ihnen um.
Die Hardwareunterstützung ist breit: Die Secure Enclave von Apple erzeugt nur P-256-Schlüssel, und FIDO2-Sicherheitsschlüssel sowie Plattform-Authenticators erzeugen in der Regel P-256-Passkeys (COSE-Algorithmus −7, ES256). Wie bei den anderen NIST-Kurven wurde b aus einem SHA-1-Seed abgeleitet, dessen Herkunft nicht dokumentiert ist – ein Grund, warum manche Protokollentwickler Curve25519 bevorzugen; eine Schwäche in P-256 wurde bislang nicht gefunden.