
Introduction : une géométrie devenue infrastructure mondiale
Une courbe dessinée sur un plan semble très éloignée d’une clé privée.
Pourtant, les courbes elliptiques sont au cœur de nombreux systèmes cryptographiques modernes.
Elles servent notamment à :
- établir des secrets partagés;
- signer des logiciels;
- authentifier des serveurs;
- sécuriser des connexions;
- protéger des échanges;
- valider des transactions;
- construire certains protocoles distribués.
Leur efficacité repose sur une asymétrie.
À partir d’un point public G et d’un entier secret k, il est facile de calculer :
Mais à partir de G et Q, retrouver k est difficile lorsque la courbe et le sous-groupe sont bien choisis.
Le calcul direct est efficace.
Le calcul inverse résiste aux meilleurs algorithmes classiques connus à grande échelle.
Cette dissymétrie transforme une géométrie algébrique en outil cryptographique.
Pourquoi le nom est trompeur
Une courbe elliptique n’est généralement pas une ellipse.
Le mot vient de l’histoire des intégrales elliptiques, qui apparaissaient dans le calcul de longueurs d’arcs d’ellipse.
Les courbes elliptiques modernes sont plutôt des courbes algébriques de genre un munies d’un point distingué.
Dans une forme affine simple :
Cette équation cubique peut produire :
- une composante fermée et une composante ouverte;
- une seule composante;
- différentes formes selon a et b.
La courbe réelle sert d’intuition.
La cryptographie travaille surtout sur des corps finis.
La forme de Weierstrass
Sur un corps de caractéristique différente de 2 et 3, une courbe elliptique peut souvent être écrite sous la forme courte :
Les paramètres a et b appartiennent au corps.
La courbe doit être non singulière.
La condition est :
4a³ + 27b² ≠ 0
On utilise aussi le discriminant :
et on exige :
Delta ≠ 0
Si Delta = 0, la courbe possède un point singulier :
- cuspide;
- intersection;
- tangente mal définie.
La loi de groupe elliptique perd alors les propriétés requises.
Singularités et discriminant
La singularité ne correspond pas seulement à une courbe visuellement étrange.
Elle signale qu’au moins un point annule simultanément :
et ses dérivées partielles :
À un point singulier, la tangente peut ne pas être unique.
La structure algébrique change.
L’interface doit permettre de faire varier a et b et de voir la courbe approcher une singularité.
La loi de groupe sur les réels
Les points d’une courbe elliptique peuvent être additionnés.
Prenons deux points P et Q.
- Tracer la droite passant par P et Q.
- Cette droite rencontre la cubique en un troisième point R.
- Réfléchir R par rapport à l’axe x.
- Le point réfléchi est P + Q.
La règle paraît artificielle.
Elle est pourtant cohérente avec l’algèbre des intersections d’une droite et d’une cubique.
Avec le point à l’infini O, les points forment un groupe abélien.
Le point à l’infini
Toute droite verticale doit rencontrer la courbe en un point supplémentaire dans la géométrie projective.
Ce point est noté :
O
Il agit comme élément neutre :
L’inverse de :
est :
Ainsi :
Le point à l’infini n’est pas un très grand nombre.
C’est un objet projectif ajouté pour fermer proprement la loi.
Addition de deux points
Pour :
avec P ≠ Q et x_1 ≠ x_2, la pente est :
Puis :
Alors :
Sur les réels, les divisions sont ordinaires.
Sur un corps fini, elles utilisent l’inverse modulaire.
Doublement d’un point
Pour calculer 2P, la droite devient la tangente en P.
La pente est :
Puis les mêmes formules donnent x_3 et y_3.
Si y_1 = 0, la tangente est verticale et :
Les cas limites doivent être explicitement traités dans le code.
Pourquoi les formules forment un groupe
Une loi de groupe doit satisfaire :
- fermeture;
- associativité;
- élément neutre;
- inverse;
- commutativité.
La fermeture découle de l’intersection algébrique.
Le neutre est O.
L’inverse est la réflexion.
La commutativité est visible par la symétrie de la droite entre P et Q.
L’associativité est beaucoup moins évidente.
Sa preuve utilise la géométrie algébrique, les fonctions rationnelles ou la théorie des diviseurs.
Une figure ne doit pas prétendre démontrer complètement l’associativité.
Passer du continu au fini
Sur les réels, la courbe est continue.
En cryptographie, on choisit souvent un nombre premier p.
Les coordonnées appartiennent au corps fini :
Tous les calculs sont effectués modulo p.
L’équation devient :
≡ + ax + b mod p
La courbe n’est plus une ligne.
Elle devient un ensemble discret de points.
Chaque point peut être dessiné sur une grille p × p.
Arithmétique modulo p
Dans :
- addition;
- soustraction;
- multiplication;
- inversion des éléments non nuls.
Diviser par d signifie multiplier par :
L’inverse peut être calculé avec l’algorithme d’Euclide étendu.
Comme p est premier, tout d non nul possède un inverse.
Exemple modulo 17 :
Donc :
Les points d’une courbe sur
Pour chaque x, on calcule :
Puis on demande si r est un résidu quadratique.
Il peut y avoir :
- zéro solution y;
- deux solutions y et -y;
- une solution y = 0.
On ajoute aussi O.
Le nombre total est noté :
#E()
Il ne vaut pas simplement p.
Ordre du groupe et théorème de Hasse
Le théorème de Hasse donne :
Ainsi, le nombre de points est proche de p+1.
Pour la cryptographie, on choisit une courbe dont l’ordre contient un grand facteur premier n.
Un point générateur G possède idéalement l’ordre n.
Le sous-groupe est :
<G> = {O,G,2G,...,(n-1)G}
et :
Sous-groupes, générateurs et cofacteur
Le groupe complet peut avoir l’ordre :
où :
- n est un grand nombre premier;
- h est le cofacteur.
Si h = 1, tout point non neutre peut être dans le grand sous-groupe selon la structure.
Si h > 1, de petits sous-groupes peuvent exister.
Le protocole doit gérer :
- validation;
- cofactor clearing;
- encodage;
- points d’ordre faible.
Le cofacteur n’est pas un détail administratif.
Il fait partie de la sécurité.
Multiplication scalaire
La clé publique est souvent :
où d est la clé privée.
Calculer dG par d additions successives serait trop lent.
On utilise les bits de d.
Exemple :
Le calcul s’effectue par doublements et additions.
Double-and-add
Pour un entier k en binaire :
- partir de O;
- lire les bits;
- doubler l’accumulateur;
- ajouter G lorsque le bit vaut 1.
Complexité :
O(log k)
Le nombre de doublements est proportionnel à la longueur binaire.
Des variantes incluent :
- right-to-left;
- windowed methods;
- wNAF;
- comb methods;
- fixed-base precomputation;
- Montgomery ladder.
Les méthodes rapides doivent être évaluées aussi pour leurs canaux auxiliaires.
Représentations projectives
Les formules affines nécessitent des inversions modulaires.
L’inversion est relativement coûteuse.
Les coordonnées projectives représentent un point avec plusieurs coordonnées, par exemple Jacobiennes :
X:Y:Z
correspondant à :
Les additions utilisent surtout :
- multiplications;
- carrés;
- additions.
Une seule inversion peut être reportée à la fin.
Le choix des coordonnées influence :
- vitesse;
- mémoire;
- complexité;
- résistance aux fuites.
Le logarithme discret elliptique
Étant donné :
G et
le problème consiste à retrouver k.
C’est l’ECDLP :
Elliptic Curve Discrete Logarithm Problem.
L’attaque générique baby-step giant-step utilise environ :
temps et mémoire.
Pollard rho utilise environ :
opérations avec peu de mémoire.
Pour un sous-groupe de taille proche de 2^256, l’ordre de grandeur générique est proche de 2^128 opérations.
Ce n’est pas une preuve absolue.
C’est le fondement pratique du niveau de sécurité classique.
Pourquoi les meilleurs algorithmes génériques restent coûteux
Pour les logarithmes discrets dans certains groupes multiplicatifs, des algorithmes sous-exponentiels existent.
Pour des courbes elliptiques génériques bien choisies, aucun algorithme classique sous-exponentiel comparable n’est connu.
Certaines courbes spéciales sont vulnérables :
- ordre trop lisse;
- embedding degree faible;
- courbes anormales;
- sous-groupes petits;
- mauvaises constructions.
La sélection de la courbe doit exclure ces cas.
Courbes et niveaux de sécurité
Les estimations standard associent approximativement :
- groupe de 224 bits : environ 112 bits de sécurité classique;
- groupe de 256 bits : environ 128 bits;
- groupe de 384 bits : environ 192 bits;
- groupe de 512 bits et plus : environ 256 bits.
La taille du champ, l’ordre du sous-groupe et l’algorithme comptent tous.
Une clé publique ECC de 256 bits n’est pas simplement « 256 bits de sécurité ».
Elle vise généralement environ 128 bits contre les attaques génériques classiques.
ECDH : construire un secret partagé
Alice choisit :
a
et publie :
Bob choisit :
b
et publie :
Alice calcule :
Bob calcule :
Ils obtiennent le même point.
Un observateur connaît G, A et B, mais pas a ni b.
ECDH établit une valeur partagée.
Il ne fournit pas automatiquement :
- authentification;
- chiffrement;
- intégrité;
- confirmation de clé.
Ces propriétés viennent du protocole autour.
Pourquoi une KDF est obligatoire
Le point partagé ne doit généralement pas être utilisé directement comme clé symétrique.
On utilise une fonction de dérivation de clé :
K = KDF( encodage(S), contexte, identités, transcript )
La KDF :
- extrait l’entropie;
- sépare les usages;
- lie la clé au protocole;
- produit plusieurs clés;
- évite des ambiguïtés d’encodage.
Le contexte peut inclure :
- noms des algorithmes;
- clés publiques;
- identités;
- rôle initiateur/répondeur;
- transcript.
ECDSA : signer sans chiffrer
ECDSA utilise :
- un groupe d’ordre premier n;
- générateur G;
- clé privée d;
- clé publique .
Pour signer un message m :
- calculer e = H(m);
- choisir un nonce secret k dans [1,n-1];
- calculer R = kG;
- poser ;
- calculer :
La signature est :
(r,s)
La vérification reconstruit une combinaison de G et Q.
ECDSA prouve la possession de d sans révéler d.
Le nonce qui ne doit jamais se répéter
Si le même k signe deux messages :
Alors :
Puis :
La clé privée est récupérable.
Un nonce biaisé ou partiellement divulgué peut aussi être dangereux.
La page peut montrer cette catastrophe uniquement dans un petit groupe jouet.
Aucune vraie clé ne doit être acceptée.
ECDSA déterministe
RFC 6979 dérive k de façon déterministe à partir : [1] [2]
- de la clé privée;
- du hachage du message.
Cela réduit la dépendance à un générateur aléatoire de nonce au moment de signer.
Il ne rend pas toute implémentation invulnérable.
Des attaques par faute, fuite de clé ou canaux auxiliaires restent possibles.
FIPS 186-5 approuve une variante déterministe d’ECDSA.
EdDSA et courbes Edwards
Une courbe Edwards tordue peut s’écrire : [3]
Elle possède souvent des formules d’addition plus uniformes.
EdDSA, notamment Ed25519 et Ed448, utilise :
- hachage de la graine secrète;
- scalaire dérivé;
- nonce déterministe dérivé du message;
- équation de vérification structurée.
Avantages pratiques :
- signatures déterministes;
- encodages définis;
- formules rapides;
- meilleure simplicité d’implémentation dans plusieurs contextes.
Mais la sécurité dépend toujours d’une bibliothèque éprouvée.
X25519 et la Montgomery ladder
X25519 est une fonction de multiplication scalaire sur une courbe de Montgomery associée à Curve25519. [4]
La forme Montgomery est :
X25519 utilise principalement la coordonnée u.
La Montgomery ladder traite les bits avec un schéma régulier de doublement et addition différentielle.
Elle offre une voie favorable à une implémentation constante dans le temps.
X25519 sert à l’accord de clé.
Ed25519 sert à la signature.
Les noms se ressemblent, mais les opérations et encodages ne sont pas interchangeables.
Weierstrass, Montgomery et Edwards
Weierstrass
Forme générale et largement standardisée.
Exemples :
- P-256;
- P-384;
- secp256k1.
Montgomery
Très efficace pour la multiplication de la coordonnée x ou u.
Exemples :
- Curve25519;
- Curve448.
Edwards
Formules d’addition souvent uniformes et rapides.
Exemples :
- edwards25519;
- edwards448.
Des birational maps peuvent relier certaines représentations.
La même courbe mathématique peut apparaître sous plusieurs modèles.
Mais le protocole et l’encodage doivent rester exacts.
Encodage et compression des points
Sur une courbe courte de Weierstrass, connaître x permet souvent de retrouver deux valeurs possibles :
y et -y
On peut stocker :
- x;
- un bit indiquant la parité ou le choix de y.
Formats SEC 1 classiques :
- 0x04 : point non compressé;
- 0x02 ou 0x03 : point compressé selon y;
- 0x00 : point à l’infini dans certains contextes.
La décompression nécessite :
- vérifier que x est dans le champ;
- calculer le membre droit;
- trouver une racine carrée modulaire;
- choisir la bonne branche;
- valider le point.
Validation des clés publiques
Recevoir des coordonnées ne suffit pas.
Selon le protocole, il faut vérifier :
- encodage canonique;
- coordonnées dans le champ;
- point sur la courbe;
- point non neutre;
- appartenance au bon sous-groupe;
- ordre approprié;
- traitement du cofacteur.
Une validation incomplète peut permettre :
- invalid-curve attack;
- small-subgroup attack;
- extraction progressive d’un secret;
- résultats non canoniques.
Les API modernes essaient souvent d’encapsuler ces règles.
Cofacteur et petits sous-groupes
Si :
avec h > 1, un attaquant peut fournir un point de petit ordre.
La multiplication par la clé privée révèle alors de l’information modulo ce petit ordre si le protocole expose une réponse exploitable.
Contremesures :
- validation de sous-groupe;
- multiplication par le cofacteur;
- protocoles robustes;
- groupes abstraits de premier ordre;
- refus d’encodages non canoniques.
Le bon choix dépend du système.
Ristretto et groupes de premier ordre
Ristretto255 construit une abstraction de groupe de premier ordre à partir d’une courbe à cofacteur 8 liée à Curve25519. [5]
L’objectif est d’offrir :
- encodage canonique;
- élimination des ambiguïtés de cosets;
- interface de groupe de premier ordre;
- utilisation plus sûre dans les protocoles avancés.
Decaf448 joue un rôle analogue pour Curve448.
RFC 9496 standardise ces groupes.
Ristretto n’est pas une nouvelle courbe indépendante au sens simple.
C’est une abstraction de groupe.
Hash-to-curve
Certains protocoles doivent transformer une chaîne arbitraire en point de courbe. [6]
Essayer :
puis incrémenter jusqu’à trouver un point peut introduire :
- biais;
- temps variable;
- difficultés de preuve;
- incompatibilités.
RFC 9380 définit des suites complètes :
- hash_to_field;
- mapping vers la courbe;
- clear_cofactor;
- encodages de domaine;
- suites nommées.
Hash-to-curve est essentiel pour :
- signatures BLS;
- preuves;
- protocoles de mots de passe;
- engagements.
secp256k1 et Bitcoin
Bitcoin utilise secp256k1 pour les signatures historiques ECDSA et, avec Taproot, des signatures Schnorr selon BIP 340.
La courbe est :
avec :
Elle possède :
- a = 0;
- b = 7;
- cofacteur 1;
- grand sous-groupe premier.
Une transaction Bitcoin n’est pas chiffrée par ECC.
Les signatures autorisent la dépense.
Les adresses et scripts utilisent aussi des fonctions de hachage et des règles de protocole.
P-256, TLS et infrastructures Web
P-256 est une courbe de Weierstrass recommandée dans plusieurs standards.
Dans TLS, l’ECC peut intervenir pour :
- ECDHE, accord de clé éphémère;
- ECDSA, authentification par certificat;
- groupes X25519 selon les négociations modernes.
TLS 1.3 sépare :
- secret d’accord;
- transcript;
- HKDF;
- clés de trafic;
- authentification.
La sécurité ne vient jamais d’une courbe seule.
Elle vient de la composition protocolaire.
Ed25519 et SSH
Ed25519 est largement utilisé pour les signatures SSH. [7]
Avantages :
- petites clés;
- petites signatures;
- déterminisme;
- performance;
- écosystème mature.
RFC 8709 définit son usage dans SSH.
La clé privée doit toujours être protégée :
- permissions;
- agent;
- chiffrement au repos;
- matériel sécurisé lorsque requis;
- rotation et révocation.
Signal et les accords de clés
Les protocoles de messagerie modernes combinent plusieurs idées.
Le X3DH de Signal utilise des accords Diffie-Hellman sur courbe pour établir un secret initial asynchrone.
Le Double Ratchet fait ensuite évoluer les clés.
Les objectifs incluent :
- confidentialité persistante;
- récupération après compromission;
- authentification;
- évolution des clés.
ECC n’est qu’un composant.
Les fonctions de hachage, KDF, ratchets et signatures complètent le système.
Courbes avec pairings et signatures BLS
Un pairing est une application bilinéaire :
avec une propriété :
Des courbes spéciales permettent des pairings efficaces.
Applications :
- signatures BLS;
- agrégation de signatures;
- identité cryptographique;
- preuves à connaissance nulle;
- engagements.
Ces courbes ont des paramètres spécifiques.
Une courbe ordinaire choisie pour ECDH n’est pas automatiquement adaptée.
Attaques par canaux auxiliaires
La mathématique peut être correcte et l’implémentation vulnérable.
Canaux possibles :
- temps d’exécution;
- consommation électrique;
- rayonnement électromagnétique;
- cache;
- prédiction de branche;
- mémoire;
- fautes;
- observations partagées.
Un double-and-add naïf révèle potentiellement les bits du scalaire par son schéma d’opérations.
Contremesures :
- temps constant;
- accès mémoire indépendant du secret;
- ladder régulière;
- blinding;
- coordonnées randomisées;
- bibliothèques auditées;
- matériel adapté.
Attaques par faute et invalid-curve
Une faute peut perturber :
- un calcul de point;
- un nonce;
- une multiplication;
- une vérification;
- une mémoire.
Comparer des sorties fautées peut révéler le secret.
Une invalid-curve attack envoie un point appartenant à une autre courbe mais compatible avec des formules partielles.
Si l’implémentation ne valide pas, le calcul peut tomber dans un petit sous-groupe contrôlé.
La sécurité exige une validation au bon niveau du protocole.
Comparaison ECC et RSA
RSA repose sur la difficulté de factoriser un grand entier.
ECC repose sur le logarithme discret elliptique.
À niveau classique comparable, ECC utilise généralement :
- clés plus petites;
- signatures compactes;
- moins de bande passante;
- opérations différentes.
Exemple approximatif souvent standardisé :
- ECC 256 bits de groupe : environ 128 bits de sécurité;
- RSA 3072 bits : environ 128 bits de sécurité.
Mais la performance dépend :
- signature;
- vérification;
- matériel;
- bibliothèque;
- accélération;
- protocole.
RSA et ECC sont tous deux vulnérables à Shor sur un ordinateur quantique cryptographiquement pertinent.
Ce que signifie « 128 bits de sécurité »
Un niveau de 128 bits signifie qu’une attaque générique idéale demande un ordre de grandeur comparable à :
2^128
opérations élémentaires.
Cela ne signifie pas :
- clé de 128 bits;
- probabilité de 1 sur 2^128 pour toute attaque;
- garantie éternelle;
- protection contre une implémentation défectueuse.
Le niveau suppose :
- paramètres valides;
- primitives sûres;
- clés aléatoires;
- protocoles corrects;
- absence de fuite.
La menace quantique
L’algorithme de Shor résout :
- factorisation;
- logarithme discret;
- logarithme discret elliptique;
en temps polynomial sur un ordinateur quantique suffisamment grand et tolérant aux fautes.
Cela menace :
- RSA;
- Diffie-Hellman classique;
- ECDH;
- ECDSA;
- EdDSA.
Les machines actuelles ne disposent pas encore publiquement des ressources nécessaires pour casser les courbes déployées à grande échelle.
Mais les systèmes à longue durée de confidentialité doivent planifier :
« collecter maintenant, déchiffrer plus tard ».
Standards postquantiques
NIST a publié en 2024 : [8]
- FIPS 203 : ML-KEM;
- FIPS 204 : ML-DSA;
- FIPS 205 : SLH-DSA.
ML-KEM vise l’établissement de clés.
ML-DSA et SLH-DSA visent les signatures.
Ces algorithmes ne reposent pas sur les courbes elliptiques ordinaires.
La transition postquantique ne retire pas la valeur historique et actuelle de l’ECC.
Elle change son horizon de déploiement à long terme.
Transition hybride
Une transition hybride peut combiner :
- X25519;
- ML-KEM;
puis dériver une clé à partir des deux secrets.
L’objectif est qu’un secret demeure sûr si au moins une famille résiste, selon une composition correcte.
Les défis incluent :
- tailles de messages;
- négociation;
- compatibilité;
- downgrade;
- certificats;
- inventaire cryptographique;
- durée de vie des données;
- équipements anciens.
La migration est un projet d’architecture, pas un simple changement de fonction.
Laboratoire interactif
La page doit proposer au moins six modules.
Module 1 : courbe réelle
Contrôles :
- a;
- b;
- zoom.
Afficher :
- courbe;
- discriminant;
- singularité;
- composantes.
Module 2 : addition corde-tangente
Choisir P et Q.
Afficher :
- droite;
- troisième intersection;
- réflexion;
- P + Q;
- cas P = Q;
- cas P = -Q.
Module 3 : courbe sur
Choisir un petit premier p.
Afficher :
- points;
- ordre du groupe;
- distribution de y;
- multiples de G;
- cycles.
Module 4 : multiplication scalaire
Entrer un petit k.
Afficher :
- représentation binaire;
- double-and-add;
- coût;
- arbre d’opérations;
- résultat.
Module 5 : ECDH jouet
Alice et Bob choisissent des scalaires jouets.
Afficher :
- clés publiques;
- calculs croisés;
- point partagé;
- passage dans une KDF pédagogique.
Module 6 : ECDSA jouet
Signer un petit message dans un groupe jouet.
Afficher :
- nonce;
- r;
- s;
- vérification.
Option pédagogique :
réutiliser volontairement le nonce et montrer mathématiquement la récupération de la clé.
Avertissement majeur :
« Démonstration jouet. Ne jamais utiliser avec de vraies clés. »
Module 7 : modèles de courbe
Comparer :
- Weierstrass;
- Montgomery;
- Edwards.
Afficher les représentations reliées sur de petits paramètres.
Module 8 : transition postquantique
Chronologie :
- ECC classique;
- récolte maintenant;
- migration hybride;
- ML-KEM et ML-DSA;
- retrait progressif selon politiques.
Où est la spirale?
Une courbe elliptique n’est pas une spirale.
La suite :
G, 2G, 3G, ...
est une orbite dans un groupe fini.
Elle finit par revenir à O lorsque l’ordre est atteint.
Dans une projection sur une grille ou un cercle, cette orbite peut sembler tourner ou tracer un motif.
Mais cette apparence dépend de la représentation.
Le lien authentique est la répétition d’une règle simple produisant une structure complexe.
Les mêmes opérations :
- doubler;
- additionner;
- réduire modulo p;
font émerger une trajectoire difficile à inverser.
La convergence se trouve ici entre domaines :
géométrie algébrique, théorie des nombres, algorithmique, protocoles et sécurité.
Conclusion
Les courbes elliptiques transforment une équation en groupe.
Le groupe transforme des points en opérations.
Les opérations transforment un entier secret en clé publique.
La difficulté d’inverser cette transformation permet :
- accords de clés;
- signatures;
- authentification;
- protocoles mondiaux.
Mais la sécurité réelle ne réside jamais dans une jolie courbe seule.
Elle exige :
- paramètres sûrs;
- sous-groupes corrects;
- encodages canoniques;
- validation;
- nonces sûrs;
- temps constant;
- KDF;
- protocoles authentifiés;
- migration planifiée.
L’ECC est un exemple remarquable d’une idée mathématique devenue infrastructure.
Elle montre aussi une vérité plus générale :
une structure peut être facile à parcourir dans un sens et extrêmement difficile à remonter dans l’autre.
Références
- [1]Pornin, Thomas. (2013). Deterministic Usage of the Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA). RFC 6979. DOI: 10.17487/RFC6979. https://www.rfc-editor.org/info/rfc6979/
- [2]National Institute of Standards and Technology. (2023). Digital Signature Standard (DSS). FIPS 186-5. DOI: 10.6028/NIST.FIPS.186-5. https://csrc.nist.gov/pubs/fips/186-5/final
- [3]Josefsson, Simon; Liusvaara, Ilari. (2017). Edwards-Curve Digital Signature Algorithm (EdDSA). RFC 8032. DOI: 10.17487/RFC8032. https://www.rfc-editor.org/info/rfc8032/
- [4]Langley, Adam; Hamburg, Mike; Turner, Sean. (2016). Elliptic Curves for Security. RFC 7748. DOI: 10.17487/RFC7748. https://www.rfc-editor.org/info/rfc7748/
- [5]de Valence, Henry; Grigg, Jack; Hamburg, Mike; Lovecruft, Isis; Tankersley, George; Valsorda, Filippo. (2023). The ristretto255 and decaf448 Groups. RFC 9496. DOI: 10.17487/RFC9496. https://www.rfc-editor.org/info/rfc9496/
- [6]Faz-Hernandez, Armando; Scott, Sam; Sullivan, Nick; Wahby, Riad S.; Wood, Christopher A.. (2023). Hashing to Elliptic Curves. RFC 9380. DOI: 10.17487/RFC9380. https://www.rfc-editor.org/info/rfc9380/
- [7]Harris, Ben; Velvindron, Loganaden. (2020). Ed25519 and Ed448 Public Key Algorithms for the Secure Shell (SSH) Protocol. RFC 8709. DOI: 10.17487/RFC8709. https://www.rfc-editor.org/info/rfc8709/
- [8]National Institute of Standards and Technology. (2024). Module-Lattice-Based Key-Encapsulation Mechanism Standard. FIPS 203. DOI: 10.6028/NIST.FIPS.203. https://csrc.nist.gov/pubs/fips/203/final