Sobre o projeto
Este repositório fornece um pacote Dart que envolve a biblioteca Rust OpenMLS, oferecendo o protocolo Messaging Layer Security (MLS) (RFC 9420) para mensagens de grupo criptografadas de ponta a ponta e escaláveis. Ele utiliza TreeKEM para acordo de chaves de grupo eficiente, sigilo direto e segurança pós-comprometimento. A biblioteca oferece suporte a ciphersuites pós-quânticas clássicas e experimentais, incluindo opções híbridas e puramente baseadas em reticulados. Todo o estado MLS é criptografado em repouso usando SQLCipher em plataformas nativas e Web Crypto AES-256-GCM em WebAssembly, com a chave de criptografia armazenada no armazenamento seguro da plataforma. Ela é otimizada para aplicativos Flutter e funciona em Android, iOS, macOS, Linux, Windows e na web (via dart2js). O pacote inclui uma API completa de ciclo de vida de grupo (criar, entrar, adicionar/remover membros, propostas, commits), tratamento de credenciais (básicas e X.509) e integração fácil por meio de uma interface simples `MlsEngine`. Desenvolvedores podem gerar key packages, gerenciar grupos, criptografar/descriptografar mensagens de aplicação e exportar segredos, mantendo oculta a implementação Rust subjacente. O sistema de build baixa automaticamente bibliotecas nativas pré-compiladas, então nenhum toolchain Rust local é necessário para usuários finais. Limitações conhecidas incluem falta de suporte ao alvo dart2wasm na web e eventuais pulos de build-hook durante execuções do Flutter, que podem ser mitigados executando um `flutter build web` completo ou limpando o carimbo de build. Esta biblioteca é ideal para criar soluções de mensagens seguras e multiplataforma que precisam de criptografia de grupo robusta e prontidão pós-quântica.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.