#同态加密 #FHE #加密 #同态 # #数据隐私

concrete

Concrete 是一个全同态加密(FHE)库,实现了 Zama 的 TFHE 变体

16 个版本

0.2.1 2022 年 11 月 16 日
0.2.0-beta.22022 年 8 月 2 日
0.2.0-beta.12022 年 7 月 7 日
0.1.11 2021 年 10 月 28 日
0.1.2 2020 年 3 月 19 日

#990密码学

每月 23 次下载

BSD-3-Clause-Clear

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