Aller au contenu
ecdsa.com
RecommandéeWeierstrass réduite

P-521

P-521 (secp521r1) est la plus grande courbe du NIST sur corps premier, définie modulo le nombre premier de Mersenne 2^521 − 1, soit 521 bits et non 512.

P-521 est une courbe de Weierstrass réduite y² = x³ + ax + b sur un corps premier de 521 bits, avec un sous-groupe d’ordre premier de 521 bits et un cofacteur de 1 ; son niveau de sécurité estimé est de 256 bits. Statut : recommandée pour les nouveaux systèmes.

P-521 est la courbe y² = x³ − 3x + b sur le corps défini par le nombre premier de Mersenne 2^521 − 1, ce qui ramène la réduction modulaire à un décalage et une addition. L’ordre du groupe est un nombre premier de 521 bits, pour environ 256 bits de sécurité.

Cette taille inhabituelle piège les implémentations : les coordonnées et les clés privées occupent 66 octets, une signature ECDSA brute 132 octets, et l’algorithme ES512 de JOSE désigne P-521 avec SHA-512, alors que les deux noms évoquent 512 bits (RFC 7518, §3.4). Un code qui complète ou tronque ces valeurs à 64 octets produit des clés et des signatures que les autres bibliothèques rejettent.

Elle est enregistrée pour TLS (secp521r1, non marquée comme recommandée par l’IANA), JOSE, COSE (ES512, ESP512) et SSH (ecdsa-sha2-nistp521), mais les déploiements choisissent surtout P-256 ou P-384, plus rapides.

Noms dans les normes

NormeNom
NIST FIPS 186-5 / SP 800-186P-521
SEC 2secp521r1
JOSE / COSEP-521
SSHnistp521

Identifiants d’objet

Paramètres de domaine

corps premier de 521 bits · sécurité d’environ 256 bits

Nombre premier p du corps
0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
Coefficient a
0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
Coefficient b
0x51953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00
Coordonnée x du point de base
0xc6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66
Coordonnée y du point de base
0x11839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650
Ordre n du point de base
0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409
Cofacteur h
0x1
Graine
0xd09e8800291cb85396cc6717393284aaa0da64ba

Utilisée dans

  • TLS 1.3
  • X.509
  • JOSE (ES512)
  • COSE (ES512, ESP512)
  • SSH (ecdsa-sha2-nistp521)

Identifiants dans les registres

Groupes pris en charge par TLS
secp521r1 0x0019
Schémas de signature TLS
ecdsa_secp521r1_sha512 0x0603
Algorithmes JOSE
ES512HPKE-2HPKE-2-KE
Courbes JWK
P-521
Algorithmes COSE
ESP512 -52
Courbes elliptiques COSE
P-521 3
Méthodes d’échange de clés SSH
ecdh-sha2-nistp521gss-nistp521-sha512-*
Algorithmes de clé publique SSH
ecdsa-sha2-nistp521x509v3-ecdsa-sha2-nistp521
Identifiants de KEM HPKE
DHKEM(P-521, HKDF-SHA512) 0x0012DHKEM(CP-521, HKDF-SHA512) 0x0015

Normes et références

Toutes les courbes