Repolode
microsoft

microsoft/SEAL

Microsoft SEAL é uma biblioteca open source de criptografia homomórfica em C++ que permite somar e multiplicar números criptografados sem descriptografá-los.

Estrelas
4,054
Forks
779
Issues abertas
110
Último commit
anteontem

O que é?

Microsoft SEAL é uma biblioteca de criptografia homomórfica desenvolvida pelo Cryptography Research Group da Microsoft. Ela permite que um programa faça cálculos com dados criptografados: assim, um serviço de nuvem pode calcular valores que não consegue ler, e somente o proprietário dos dados, que tem a chave secreta, pode descriptografar os resultados. Entre as operações disponíveis estão a adição e a multiplicação de inteiros ou números reais criptografados.

A biblioteca implementa os esquemas BFV e BGV para aritmética modular exata com inteiros, e o esquema CKKS para aritmética aproximada com números reais ou complexos, adequado a tarefas como somar valores criptografados ou avaliar modelos de machine learning. Ela é escrita em C++17 padrão e inclui um wrapper para .NET distribuído como pacote NuGet. Há builds disponíveis via CMake, vcpkg e Homebrew, com suporte opcional a Intel HEXL, Zstandard e ZLIB.

A criptografia homomórfica tem alto custo computacional e oferece suporte a um conjunto limitado de operações; por isso, o SEAL é voltado a partes de um programa em que a privacidade é crítica, e não a computação de uso geral. A documentação do projeto recomenda estudar os exemplos com atenção antes de escrever código para produção.

Recursos principais

  • 01Adição e multiplicação criptografadas de inteiros (BFV, BGV) e números reais ou complexos (CKKS).
  • 02Base de código em C++17 padrão, compilada com CMake, com suporte a Windows, Linux, macOS, Android, iOS e WebAssembly.
  • 03Wrapper oficial para .NET disponível como pacote NuGet.
  • 04Aceleração opcional via Intel HEXL em processadores AVX-512.
  • 05Serialização compactada e com empacotamento de bits de textos cifrados e chaves.

Casos de uso

  • Calcular somas ou estatísticas de dados confidenciais criptografados em um serviço de nuvem.
  • Avaliar modelos de machine learning com entradas criptografadas, preservando a privacidade.
  • Pesquisar ou prototipar protocolos de computação com preservação de privacidade.
  • Adicionar recursos de computação criptografada a aplicações .NET ou C++.

Início rápido

  1. 1

    Instale com vcpkg (funciona na maioria das plataformas)

  2. 2

    No macOS, instale com Homebrew

  3. 3

    No FreeBSD, instale com a ferramenta pkg

    pkg install seal
  4. 4

    Para .NET, instale o pacote NuGet Microsoft.Research.SEALNet

Antes de usar

  • Em dados criptografados, só são suportadas adições e multiplicações; comparações e desvios condicionais não são viáveis.
  • O esquema CKKS fornece apenas resultados aproximados, portanto não é adequado quando são necessários valores exatos.
  • O Microsoft SEAL tem uma curva de aprendizado íngreme e exige compreender os conceitos de criptografia homomórfica.
  • A criptografia homomórfica acarreta uma grande sobrecarga de desempenho e textos cifrados muito maiores; além disso, a maioria dos esquemas oferece garantias de segurança mais fracas do que a criptografia tradicional.

Tópicos

Perguntas frequentes

O que é SEAL?
Microsoft SEAL é uma biblioteca open source de criptografia homomórfica em C++ que permite somar e multiplicar números criptografados sem descriptografá-los. Microsoft SEAL é uma biblioteca de criptografia homomórfica desenvolvida pelo Cryptography Research Group da Microsoft. Ela permite que um programa faça cálculos com dados criptografados: assim, um serviço de nuvem pode calcular valores que não consegue ler, e somente o proprietário dos dados, que tem a chave secreta, pode descriptografar os resultados. Entre as operações disponíveis estão a adição e a multiplicação de inteiros ou números reais criptografados.
SEAL é gratuito? Qual é a licença?
SEAL é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
SEAL ainda é mantido?
Manutenção ativa. O último commit de SEAL foi em 19 de out. de 2026.
Para que posso usar SEAL?
Calcular somas ou estatísticas de dados confidenciais criptografados em um serviço de nuvem. Avaliar modelos de machine learning com entradas criptografadas, preservando a privacidade. Pesquisar ou prototipar protocolos de computação com preservação de privacidade. Adicionar recursos de computação criptografada a aplicações .NET ou C++.
Como instalar SEAL?
Instale com vcpkg (funciona na maioria das plataformas) No macOS, instale com Homebrew No FreeBSD, instale com a ferramenta pkg: pkg install seal Para .NET, instale o pacote NuGet Microsoft.Research.SEALNet
Onde consigo SEAL?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/microsoft/SEAL

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados