P-521 ist eine Kurve in kurzer Weierstraß-Form y² = x³ + ax + b über einem 521-Bit-Primkörper mit einer 521-Bit-Untergruppe von Primordnung und dem Kofaktor 1; das geschätzte Sicherheitsniveau beträgt 256 Bit. Status: empfohlen für Neuentwicklungen.
P-521 ist y² = x³ − 3x + b über dem Körper der Mersenne-Primzahl 2^521 − 1, wodurch die modulare Reduktion zu einer Bitverschiebung und einer Addition wird. Die Gruppenordnung ist eine 521-Bit-Primzahl, was ein Sicherheitsniveau von etwa 256 Bit ergibt.
Die ungewöhnliche Größe bringt Implementierungen ins Stolpern: Koordinaten und private Schlüssel belegen 66 Byte, eine ECDSA-Signatur im Rohformat 132 Byte, und ES512 aus JOSE bedeutet P-521 mit SHA-512, obwohl beide Namen 512 Bit nahelegen (RFC 7518 §3.4). Code, der auf 64 Byte auffüllt oder kürzt, erzeugt Schlüssel und Signaturen, die andere Bibliotheken ablehnen.
Die Kurve ist für TLS (secp521r1, von IANA nicht als „Recommended“ markiert), JOSE, COSE (ES512, ESP512) und SSH (ecdsa-sha2-nistp521) registriert, doch in der Praxis fällt die Wahl meist auf P-256 oder P-384, die schneller sind.
Domainparameter
521-Bit-Primkörper · etwa 256-Bit-Sicherheit
- Primzahl p des Körpers
- 0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
- Koeffizient a
- 0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
- Koeffizient b
- 0x51953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00
- x-Koordinate des Basispunkts
- 0xc6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66
- y-Koordinate des Basispunkts
- 0x11839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650
- Ordnung n des Basispunkts
- 0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409
- Kofaktor h
- 0x1
- Seed
- 0xd09e8800291cb85396cc6717393284aaa0da64ba