HEhub同態(tài)加密庫
HEhub 是首個由國內開源的同態(tài)加密庫,可以實現(xiàn)在密文基礎上進行加、乘等基礎運算,并得到與明文相同的結果,從而實現(xiàn)數據可用不可見的目標。同態(tài)庫是隱私計算領域基礎的加密庫。
使用示例:
#include "fhe/ckks/ckks.h"
#include <cmath>
#include <iostream>
using namespace hehub;
int main() {
int precision_bits = 30;
auto params = ckks::create_params(4096, precision_bits);
CkksSk sk(params);
auto relin_key = get_relin_key(sk, params.additional_mod);
CkksCt ct_sum;
for (int i = 1; i <= 100000; i++) {
auto pt = ckks::encode(1.0 / i, params);
auto ct = ckks::encrypt(pt, sk);
auto ct_squared = ckks::mult(ct, ct, relin_key);
if (i == 1) {
ct_sum = ct_squared;
} else {
ct_sum = ckks::add(ct_sum, ct_squared);
}
}
double sum = ckks::decode(ckks::decrypt(ct_sum, sk));
std::cout << "(" << sum << ", " << M_PI * M_PI / 6 << ")" << std::endl;
}
評論
圖片
表情
