#seal #encryption #homomorphic #fhe #phe

sealy

Rust 为微软的 SEAL 全同态加密 (FHE) 库提供的绑定

2 个版本

0.1.1 2024 年 7 月 7 日
0.1.0 2024 年 6 月 29 日

#658 in 加密学

Download history 212/week @ 2024-06-24 100/week @ 2024-07-01 43/week @ 2024-07-08

每月 323 次下载

自定义许可

13MB
255K SLoC

C++ 102K SLoC // 0.1% comments C 92K SLoC // 0.2% comments Visual Studio Project 21K SLoC C# 14K SLoC // 0.3% comments Python 10K SLoC // 0.3% comments Rust 5K SLoC // 0.0% comments Shell 3K SLoC // 0.2% comments Ada 1.5K SLoC // 0.2% comments GNU Style Assembly 1.5K SLoC // 0.3% comments Assembly 1.5K SLoC // 0.2% comments Pascal 1K SLoC // 0.2% comments Bazel 1K SLoC // 0.1% comments Visual Studio Solution 879 SLoC Bitbake 527 SLoC Batch 170 SLoC Lua 69 SLoC // 0.0% comments Automake 34 SLoC Prolog 20 SLoC NuGet Config 4 SLoC ReScript 4 SLoC Forge Config 2 SLoC // 0.7% comments Poke 1 SLoC

包含 (JAR 文件,55KB) gradle-wrapper.jar,(模糊的自动配置代码,1KB) configure.ac

sealy

sealy 是一个包,它封装了 Microsoft SEAL 库,使我们能够对加密数据进行算术运算。它是 Sunscreen 的 SEAL 绑定的分支,您可以在 此处 找到。

架构

此包中的所有类型都实现了 Sync/Send 特性。只要您在任何类型被丢弃后都不会解引用其内部句柄,这些特性应该可以安全地保持。内部句柄对您来说应该没有太大用处。

实现的方案

  • Brakerski/Fan-Vercauteren (BFV)
  • Cheon-Kim-Kim-Song (CKKS)

lib.rs:

此包提供了微软 SEAL 同态加密库的包装器。

注意

此包中的所有类型都实现了 Sync/Send 特性。只要您在任何类型被丢弃后都不会解引用其内部句柄,这些特性应该可以安全地保持。内部句柄对您来说应该没有太大用处。

此包有意省略了一些更复杂的用例,以简化 API,目前尚不完整(例如,目前不支持 CKKS)。如果您关心的任何底层 SEAL API 缺失,请通过 pull request 添加或提交 问题

依赖项