Repolode
microsoft

microsoft/SEAL

Microsoft SEAL es una biblioteca de cifrado homomórfico de código abierto en C++ que permite sumar y multiplicar números cifrados sin descifrarlos.

Estrellas
4,054
Forks
779
Issues abiertos
110
Último commit
anteayer

¿Qué es?

Microsoft SEAL es una biblioteca de cifrado homomórfico desarrollada por el grupo de investigación en criptografía de Microsoft. Permite que un programa realice cálculos con datos cifrados, de modo que un servicio en la nube pueda operar con valores que no puede leer y solo el propietario de los datos, que tiene la clave secreta, pueda descifrar los resultados. Entre las operaciones compatibles están la suma y la multiplicación de enteros o números reales cifrados.

La biblioteca implementa los esquemas BFV y BGV para aritmética modular exacta con enteros, y el esquema CKKS para aritmética aproximada con números reales o complejos, útil para tareas como sumar valores cifrados o evaluar modelos de machine learning. Está escrita en C++17 estándar e incluye un wrapper de .NET distribuido como paquete NuGet. Se ofrecen compilaciones mediante CMake, vcpkg y Homebrew, con compatibilidad opcional con Intel HEXL, Zstandard y ZLIB.

El cifrado homomórfico tiene un alto costo computacional y solo admite un conjunto limitado de operaciones, por lo que SEAL está pensado para partes de un programa donde la privacidad sea crítica, no para realizar cálculos generales. La documentación del proyecto recomienda estudiar detenidamente sus ejemplos antes de escribir código para producción.

Funciones clave

  • 01Suma y multiplicación de enteros cifrados (BFV, BGV) y de números reales o complejos (CKKS).
  • 02Base de código en C++17 estándar, compilada con CMake y compatible con Windows, Linux, macOS, Android, iOS y WebAssembly.
  • 03Wrapper oficial de .NET disponible como paquete NuGet.
  • 04Aceleración opcional mediante Intel HEXL en procesadores AVX-512.
  • 05Serialización comprimida y empaquetada a nivel de bits de textos cifrados y claves.

Casos de uso

  • Calcular sumas o estadísticas sobre datos sensibles cifrados en un servicio en la nube.
  • Evaluar modelos de machine learning con entradas cifradas cuando se debe preservar la privacidad.
  • Investigar o crear prototipos de protocolos de computación que preservan la privacidad.
  • Incorporar funciones de computación cifrada en aplicaciones de .NET o C++.

Inicio rápido

  1. 1

    Instálalo con vcpkg (funciona en la mayoría de las plataformas)

  2. 2

    En macOS, instálalo con Homebrew

  3. 3

    En FreeBSD, instálalo con la herramienta pkg

    pkg install seal
  4. 4

    Para .NET, instala el paquete NuGet Microsoft.Research.SEALNet

Antes de usarlo

  • En los datos cifrados solo se admiten sumas y multiplicaciones; las comparaciones y las bifurcaciones no son viables.
  • El esquema CKKS solo proporciona resultados aproximados, por lo que no es adecuado cuando se necesitan valores exactos.
  • Microsoft SEAL tiene una curva de aprendizaje pronunciada y requiere comprender los conceptos de cifrado homomórfico.
  • El cifrado homomórfico conlleva un gran coste de rendimiento y produce textos cifrados mucho más grandes; además, la mayoría de los esquemas ofrecen garantías de seguridad más débiles que el cifrado tradicional.

Temas

Preguntas frecuentes

¿Qué es SEAL?
Microsoft SEAL es una biblioteca de cifrado homomórfico de código abierto en C++ que permite sumar y multiplicar números cifrados sin descifrarlos. Microsoft SEAL es una biblioteca de cifrado homomórfico desarrollada por el grupo de investigación en criptografía de Microsoft. Permite que un programa realice cálculos con datos cifrados, de modo que un servicio en la nube pueda operar con valores que no puede leer y solo el propietario de los datos, que tiene la clave secreta, pueda descifrar los resultados. Entre las operaciones compatibles están la suma y la multiplicación de enteros o números reales cifrados.
¿SEAL es gratuito? ¿Qué licencia tiene?
SEAL es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿SEAL sigue mantenido?
Mantenimiento activo. El último commit de SEAL fue el 19 oct 2026.
¿Para qué puedo usar SEAL?
Calcular sumas o estadísticas sobre datos sensibles cifrados en un servicio en la nube. Evaluar modelos de machine learning con entradas cifradas cuando se debe preservar la privacidad. Investigar o crear prototipos de protocolos de computación que preservan la privacidad. Incorporar funciones de computación cifrada en aplicaciones de .NET o C++.
¿Cómo se instala SEAL?
Instálalo con vcpkg (funciona en la mayoría de las plataformas) En macOS, instálalo con Homebrew En FreeBSD, instálalo con la herramienta pkg: pkg install seal Para .NET, instala el paquete NuGet Microsoft.Research.SEALNet
¿Dónde consigo SEAL?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/microsoft/SEAL

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados