Sequóia é uma biblioteca de funções e um kit de ferramentas de linha de comando que implementa os padrões OpenPGP (RFC-4880), esta biblioteca está sendo desenvolvida por três membros do projeto GnuPG, que decidiram criar uma nova implementação gratuita do OpenPGP na linguagem Rust para melhorar a segurança e confiabilidade da base de código, que fornece ferramentas para trabalhar com segurança com memória.
Além de melhorar a segurança, o Sequoia também está tentando se livrar das falhas no GnuPG, que não pode ser corrigido no projeto principal sem quebrar a compatibilidade ou retrabalhar significativamente a base de código.
Por exemplo O GnuPG é fortemente acoplado entre os componentes, tornando difícil fazer alterações, ele confunde a base do código e torna difícil criar um sistema de teste de unidade completo. O kit de ferramentas de linha de comando gpupg não está sincronizado funcionalmente com a biblioteca de funções e algumas ações só podem ser executadas por meio do utilitário.
Sequóia apresenta o utilitário de linha de comando sq com suporte ao subcomando do estilo Git e duas opções de API: baixo nível e alto nível. Existem links para as linguagens C e Python.
A maioria das funções descrito no padrão Criptografia de suporte OpenPGP, descriptografia, criação e verificação de assinaturas digitais.
Entre os recursos avançados, observa-se que admite a verificação por assinaturas digitais fornecidas separadamente, adaptação para integração com gerenciadores de pacotes (APT, RPM, carga, etc.), a capacidade de limitar assinaturas por valores limite e tempo.
A API de baixo nível reproduz o mais fielmente possível os recursos do OpenPGP e algumas extensões relacionadas, como suporte ECC e elementos de rascunho da edição futura do padrão. As únicas exceções são as partes herdadas da especificação que podem afetar negativamente a segurança, como suporte para hashing MD5.
A API de baixo nível também suporta processamento de mensagens sem buffer. A API de baixo nível já está muito perto da cobertura total do padrão OpenPGP e pronta para manipular dados OpenPGP em um nível baixo (versão estável 1.0 esperada em breve).
Por outro lado, a API de alto nível ainda está começando a evoluir e até agora cobre apenas recursos como armazenamento de chave pública e acesso pela rede. Outros recursos específicos de domínio e de suporte serão adicionados à medida que o projeto se desenvolve.
O pacote também oferece ferramentas poderosas de inspeção de pacotes que pode ser usado durante o desenvolvimento, depuração e análise de incidentes. As ferramentas de inspeção são integradas ao analisador para analisar visualmente a estrutura de mensagens criptografadas, assinaturas digitais e chaves.
Atualmente a As plataformas compatíveis com o Sequoia são Linux, FreeBSD, Windows, macOS, Android e iOS, Além disso, é possível utilizar os serviços criptográficos fornecidos pela plataforma, como coprocessadores para o cálculo em enclaves isolados.
Para fornecer isolamento adicional, é praticado separar os serviços que funcionam com chaves públicas e privadas em processos separados. Por exemplo, um keystore é desenvolvido na forma de um processo separado. O protocolo Cap'n Proto é usado para interação do processo.
Finalmente, resta mencionar que recentemente uma nova versão foi lançada do Sequoia, sendo a versão mais atual Sequoia 0.20.0 em que se adicione o pacote sequoia-openpgp baixo nível, o programa sqv (substituição de gpgv) para verificar assinaturas separadas e o utilitário sqop com a implementação do Stateless OpenPGP CLI.
Os requisitos para a linguagem Rust foram aumentados para a versão 1.46 e o uso do sistema de integração contínua para verificar as mudanças foi expandido e o conjunto de testes de compatibilidade OpenPGP foi aprimorado.
Se você quiser saber mais sobre isso sobre esta biblioteca, você pode verificar os detalhes em seu site oficial no link a seguir.