16 个版本
0.2.1 | 2022 年 11 月 16 日 |
---|---|
0.2.0-beta.2 | 2022 年 8 月 2 日 |
0.2.0-beta.1 | 2022 年 7 月 7 日 |
0.1.11 | 2021 年 10 月 28 日 |
0.1.2 | 2020 年 3 月 19 日 |
#990 在 密码学 中
每月 23 次下载
450KB
8K SLoC
Concrete 通过扩展 TfhE 快速在密文上操作
concrete 是一个 Rust 包(库),旨在抽象出全同态加密(FHE)的细节,以便非密码学家能够构建使用 FHE 的应用程序。
FHE 是一种强大的密码学工具,它允许在不需要先解密数据的情况下直接在加密数据上执行计算。
示例
use concrete::{ConfigBuilder, generate_keys, set_server_key, FheUint8};
use concrete::prelude::*;
fn main() {
let config = ConfigBuilder::all_disabled()
.enable_default_uint8()
.build();
let (client_key, server_key) = generate_keys(config);
set_server_key(server_key);
let clear_a = 27u8;
let clear_b = 128u8;
let a = FheUint8::encrypt(clear_a, &client_key);
let b = FheUint8::encrypt(clear_b, &client_key);
let result = a + b;
let decrypted_result: u8 = result.decrypt(&client_key);
let clear_result = clear_a + clear_b;
assert_eq!(decrypted_result, clear_result);
}
链接
许可
本软件根据 BSD-3-Clause-Clear 许可证分发,并免除使用我们的专利进行研究和评估、原型设计以及个人项目的权利。
但是,如果您想在商业产品中使用 Concrete,则需要购买单独的商业许可证。
如果您有任何问题,请通过 hello@zama.ai
联系我们。
依赖关系
~0–1.2MB
~24K SLoC