Contexte : Les ordinateurs quantiques ne sont pas encore assez puissants, mais on envisage dans un avenir plus ou moins lointain qu'ils le soient suffisamment pour casser les protocoles de chiffrement actuel. Le NIST (un organisme américain) a donc travaillé sur des algorithmes résistants à ces attaques (on les appelle "algorithmes post-quantiques").
Signal, l'application de messagerie chiffrée, s'y intéresse bien évidemment. Mais plutôt que de remplacer leur algo actuel (ECC) par ces nouveaux algos post-quantiques, ils les ont combiné dans le protocole de Signal. Casser le chiffrement d'un message Signal va donc exiger de casser les *deux* algos en même temps (l'actuel ECC et le nouveau post-quantique).
Le nouveau protocol Signal, appelée PQXDH, remplace donc l'ancien X3DH. Il est déjà déployé dans Signal. (Permalink)
rPGP c’est un bibliothèque Rust qui va vous permettre de jouer avec OpenPGP comme des grands ! Plus besoin de vous taper des kilomètres de C pour avoir un bout de code qui chiffre trois mails bourrés de fautes. Maintenant, on a le droit à une implémentation 100% Rust, avec une API minimaliste mais qui fait le taf. Et en plus, c’est sous licence libre, donc on peut en faire ce qu’on veut !
Le top du top, c’est que rPGP gère tout ce qu’il faut pour être compatible avec Autocrypt 1.1. Si vous ne connaissez pas, c’est une spécification pour chiffrer les mails qui est censée être facile à utiliser pour monsieur et madame tout-le-monde.
Côté technique, rPGP est mis à jour régulièrement en tant que crate pgp (oui, ils ont pensé à nous, les flemmards qui ne veulent pas taper plus de trois lettres). Et pour la partie RSA, ça vit tranquillou sous le parapluie collectif RustCrypto. Et pour les petits malins qui voudraient se la jouer elliptique, pas de panique : le support ECC est assuré par la crate Curve25519-dalek. J’adore le nom 🙂
Bon, après, faut avouer que la doc de l’API est encore un peu légère mais si vraiment vous séchez, vous pouvez toujours ouvrir une issue sur GitHub. Les devs sont sympas, ils répondent (des fois).
D’ailleurs, rPGP s’est payé un petit audit de sécurité indépendant en 2019, réalisé par les gars d’IncludeSecurity et pas de failles critiques ! Bon, quelques trucs à corriger par ci par là, mais globalement, c’est du solide. Si vous voulez jeter un œil au rapport, c’est par ici.
Notez que rPGP est utilisé en prod par Delta Chat, l’app de messagerie basée sur les mails et ça tourne nickel sur Windows, Linux, macOS, Android et iOS, en 32 et 64 bits. Que demande le peuple ?
Et si vous êtes du genre à tout vouloir faire tourner dans votre navigateur (ou dans Node.js, on ne juge pas), rPGP a même pensé à vous avec une feature wasm ! Par contre, les bindings sont encore expérimentaux, mais tout se trouve dans le repo rpgp/rpgp-js.
Allez, je vous laisse, j’ai des messages secrets à chiffrer moi !