Una app y red de mensajería con cifrado de extremo a extremo que no usa identificadores de usuario, con clientes para iOS, Android, escritorio y terminal.
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
Instálalo con vcpkg (funciona en la mayoría de las plataformas)
- 2
En macOS, instálalo con Homebrew
- 3
En FreeBSD, instálalo con la herramienta pkg
pkg install seal - 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
Cliente de escritorio para Windows, macOS y Linux que añade cifrado transparente en el cliente a los archivos almacenados en Dropbox, Google Drive, OneDrive y otras carpetas sincronizadas en la nube.
Software de cifrado de discos de código abierto para crear volúmenes y particiones cifrados, derivado de TrueCrypt 7.1a y con mejoras de seguridad.
Un dead man's switch autohospedado y centrado en el correo electrónico que envía mensajes cifrados de extremo a extremo a tus seres queridos si dejas de confirmar que estás bien.
Lista seleccionada y organizada por categorías de software y servicios en línea centrados en la privacidad y la seguridad, desde gestores de contraseñas hasta sistemas operativos.
Herramienta de código abierto para almacenar, consultar y auditar secretos de forma segura, como claves de API, contraseñas y certificados, y ofrecer cifrado como servicio.