#同态 #加密 #加密

纸杯蛋糕

基于格的加法同态加密方案实现

3 个不稳定版本

0.2.1 2021 年 8 月 31 日
0.2.0 2021 年 6 月 1 日
0.1.1 2021 年 3 月 23 日
0.1.0 2021 年 3 月 23 日

#1449 in 密码学

每月 50 次下载

MIT 许可证

78KB
2K SLoC

纸杯蛋糕

纸杯蛋糕是一个高效的 Rust 库,用于实现 (Fan-Vercauteren 同态加密方案的) 加法版本,提供加密向量、添加/减去两个加密向量以及重新随机化密文的功能。

需求

纸杯蛋糕需要或与以下系统兼容

  • Mac OS X 或 Linux

安装

将以下行添加到 Cargo.toml 的依赖项中

Cupcake = "0.2.1"

从源码构建

git clone https://github.com/facebookresearch/Cupcake
cd cupcake
cargo build --release

示例

examples/<name>.rs 中包含了一些示例,可以通过以下命令运行:cargo run --example <name>

文档

API 文档可以通过 cargo doc 构建。

基准测试和测试

我们包含了对同态操作和底层算术操作的基准测试和测试。可以通过 cargo benchcargo test 运行。

支持的参数

目前,我们只提供一组安全参数,即 FV::<Scalar>::default_2048();。根据同态加密安全标准 链接,此参数集的安全级别约为 128 位。使用其他参数请自行承担风险!默认参数集下,明文类型是长度为 2048 的 u8 向量。

参考文献

有关如何帮助的贡献指南,请参阅 CONTRIBUTING 文件。

许可证

纸杯蛋糕遵循 MIT 许可证,如 LICENSE 文件所示。

依赖项

~595KB