Microsoft SEAL - Microsoft SEAL
![]() | |
Vývojáři | Microsoft Research |
---|---|
První vydání | 3. prosince 2018 |
Stabilní uvolnění | 3.5.9 / 16. září 2020 |
Úložiště | github |
Napsáno | C ++ |
Operační systém | Microsoft Windows, Operační Systém Mac, Linux, Android |
Plošina | IA-32, x86-64, ARM64 |
Typ | Homomorfní šifrování knihovna |
Licence | Licence MIT |
webová stránka | www |
Jednoduchá šifrovaná aritmetická knihovna nebo TĚSNĚNÍ je volný, uvolnit a open-source napříč platformami softwarová knihovna vyvinutá Microsoft Research který implementuje různé formy homomorfní šifrování.[1][2]
Dějiny
Vývoj původně vycházel z papíru Cryptonets[3], což ukazuje, že algoritmy umělé inteligence lze spustit na homomorfně šifrovaných datech.[4]
to je open-source (pod Licence MIT ) a napsáno standardně C ++ bez externích závislostí, a tak může být kompilován napříč platformami. Oficiální .SÍŤ obal napsaný v C# je k dispozici a usnadňuje aplikacím .NET interakci se SEALem.
Funkce
Algoritmy
Microsoft SEAL podporuje obojí asymetrický a symetrický (přidáno ve verzi 3.4) šifrovací algoritmy.
Typy schémat
Microsoft SEAL přichází se dvěma různými homomorfními šifrovacími schématy s velmi odlišnými vlastnostmi:
- BFV[5]: Schéma BFV umožňuje provádění modulární aritmetiky na šifrovaných celých číslech. Pro aplikace, kde jsou nutné přesné hodnoty, je jedinou volbou BFV schéma.
- CKKS[6]: Schéma CKKS umožňuje sčítání a množení na šifrovaných reálných nebo komplexních číslech, ale přináší pouze přibližné výsledky. V aplikacích, jako je shrnutí šifrovaných reálných čísel, vyhodnocení modelů strojového učení na šifrovaných datech nebo výpočetní vzdálenosti šifrovaných umístění, bude CKKS zdaleka nejlepší volbou.
Komprese
Komprese dat lze dosáhnout vytvořením SEAL pomocí Zlib Podpěra, podpora. Ve výchozím nastavení jsou data komprimována pomocí DEFLATE algoritmus, který dosahuje významné úspory paměťové stopy při serializaci objektů, jako jsou parametry šifrování, šifrovací texty, prosté texty a všechny dostupné klíče: Public, Secret, Relin (relinearizace) a Galois. Komprese může být vždy deaktivována.
Dostupnost
V aktivním vývoji existuje několik známých portů SEAL do jiných jazyků:
C ++
- Microsoft SEAL (Zdroj společnosti Microsoft)
C # / F #
- NuGet (Oficiální balíček společnosti Microsoft)
Krajta
JavaScript
Strojopis
Reference
- ^ Microsoft SEAL je snadno použitelná a výkonná homomorfní šifrovací knihovna .: Microsoft / SEAL, Microsoft, 2019-11-20, archivovány od originál dne 2019-05-31, vyvoláno 2019-11-20
- ^ Coron, Jean-Sébastien; Nielsen, Jesper Buus (10.04.2017). Pokroky v kryptologii - EUROCRYPT 2017: 36. výroční mezinárodní konference o teorii a aplikacích kryptografických technik, Paříž, Francie, 30. dubna - 4. května 2017, sborník. Springer. str. 104. ISBN 9783319566146.
- ^ Downlin, Nathan; Gilad-Bachrach, Ran; Laine, Kim; Lauter, Kirstin; Naehrig, Michael; Wernsing, John (2016-05-25). „CryptoNets: Použití neuronových sítí na šifrovaná data s vysokou propustností a přesností“ (PDF). Sborník z 33. mezinárodní konference o strojovém učení. Archivovány od originál (PDF) dne 26. 8. 2018.
- ^ „Microsoft Simple Encrypted Arithmetic Library goes open source“. Microsoft Research. 2018-12-03. Archivováno od originálu dne 11.11.2019. Citováno 2019-11-20.
- ^ Fan, Junfeng; Vercauteren, Frederik (2012). „Trochu praktické, plně homomorfní šifrování“. Citovat deník vyžaduje
| deník =
(Pomoc) - ^ Cheon, Jung Hee; Kim, Andrey; Kim, Miran; Song, Yongsoo (2017). Takagi, Tsuyoshi; Peyrin, Thomas (eds.). „Homomorfní šifrování pro aritmetiku přibližných čísel“. Pokroky v kryptologii - ASIACRYPT 2017. Přednášky z informatiky. Cham: Springer International Publishing: 409–437. doi:10.1007/978-3-319-70694-8_15. ISBN 978-3-319-70694-8.