• [^] # Re: X25519

    Posté par . En réponse à la dépêche Sortie de la version 1.0.0 de age. Évalué à 7. Dernière modification le 02 novembre 2021 à 20:44.

    Fournir aux développeurs une interface simple ne leur laissant pas la possibilité de faire n’importe quoi (ce qui en effet chaudement recommandé par tous les cryptologues aujourd’hui, on sent bien qu’à un moment ils ont en eu marre de se taper la tête contre les murs :D ) ne nécessite pas forcément de renoncer à l’agilité cryptographique et d’imposer un algorithme unique.

    La bibliothèque Javascript SJCL par exemple offre l’interface la plus simple qui soit, impossible de l’utiliser de travers : deux fonctions, une pour chiffrer, une pour déchiffrer, prenant en paramètre les données à chiffrer ou déchiffrer et le mot de passe. Tous les choix algorithmiques sont effectuées par la bibliothèque elle-même, sans que le développeur ne puisse s’en mêler et donc faire des bêtises.

    Pour autant, la bibliothèque et le format utilisé pour les données chiffrées permettent un minimum d’agilité cryptographique : l’algorithme de chiffrement, le mode d’opération, et les paramètres de l’algorithme de dérivation de clef ne sont pas fixés et peuvent être changés si besoin par les développeurs de SJCL (ou les développeurs d’une implémentation compatible) sans nécessiter un nouveau format ou la moindre rupture de rétro-compatibilité.

    Ne pas supporter l’agilité cryptographique est un choix indépendant de la volonté (louable) de ne pas donner aux développeurs de quoi se tirer une balle dans le pied.