À propos du projet
Ce dépôt fournit un package Dart qui encapsule la bibliothèque OpenMLS en Rust, offrant le protocole Messaging Layer Security (MLS) (RFC 9420) pour le messagerie de groupe chiffrée de bout en bout à grande échelle. Il exploite TreeKEM pour une négociation efficace des clés de groupe, la confidentialité forward et la sécurité après compromis. La bibliothèque prend en charge les ciphersuites classiques et expérimentales post-quantiques, y compris les options hybrides et purement basées sur les réseaux. Tout l'état MLS est chiffré au repos à l'aide de SQLCipher sur les plateformes natives et de Web Crypto AES-256-GCM sur WebAssembly, la clé de chiffrement étant stockée dans le stockage sécurisé de la plateforme. Elle est optimisée pour les applications Flutter et fonctionne sur Android, iOS, macOS, Linux, Windows et le web (via dart2js). Le package comprend une API complète du cycle de vie de groupe (créer, rejoindre, ajouter/supprimer des membres, propositions, commits), la gestion des identifiants (de base et X.509) et une intégration facile via une interface `MlsEngine` simple. Les développeurs peuvent générer des key packages, gérer des groupes, chiffrer/déchiffrer des messages applicatifs et exporter des secrets tout en gardant l'implémentation Rust sous-jacente masquée. Le système de construction télécharge automatiquement les bibliothèques natives précompilées, donc aucun toolchain Rust local n'est requis pour les utilisateurs finaux. Les limitations connues incluent l'absence de support pour la cible dart2wasm sur le web et des sauts occasionnels de build-hook pendant les exécutions Flutter, lesquels peuvent être atténués en exécutant un `flutter build web` complet ou en nettoyant le build stamp. Cette bibliothèque est idéale pour créer des solutions de messagerie sécurisées et multiplateformes nécessitant un chiffrement de groupe robuste et une préparation post-quantique.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.