• [^] # Re: Excellent article. Quelques précisions et ajouts

    Posté par . En réponse à la dépêche Gnuk, NeuG, FST-01 : entre cryptographie et matériel libre. Évalué à 4.

    Et entre les courbes Brainpool P-* et Curve 25519, quelles sont les différences

    Grosso modo les mêmes qu’entre la NIST P-256 et la Curve25519.

    Les courbes du NIST et les courbes Brainpool sont similaires. Elles sont décrites par une équation de Weierstrass dans les deux cas, seuls les paramètres étant différent :

    • NIST P-256: y2 = x3 − 3x + 41058363725152142129326129780047268409114441015993725554835256314039467401291
    • BrainpoolP256: y2 = x3 − 3x + 46214326585032579593829631435610129746736367449296220983687490401182983727876

    La vraie différence entre les deux réside dans la méthode utilisée pour générer les paramètres de la courbe. Le NIST a généré ses paramètres en condensant une graine sortie de nulle part (d’où les soupçons de manipulation évoqués plus haut : et si le NIST avait choisi cette graine en sachant que la courbe résultante était vulnérable à une attaque connue seulement de la NSA ?), alors que la graine utilisée pour la courbe Brainpool a été choisie selon une procédure décrite en annexe du RFC 5639.

    Personnellement, je ne vois pas vraiment d’intérêt aux courbes Brainpool. Mise à part le fait que leur génération est plus transparente, elles souffrent a priori des mêmes défaut que celles du NIST.

    La courbe 25519, elle, est décrite par une équation de Montgomery (y2 = x3 + 486662x2 + x). Entre autres avantages, cette forme permet de réaliser des opérations sur la courbe en temps constant, éliminant une source d’attaques par canaux cachés.