we rely on a syndrome graph constructed from a dense random k-uniform hypergraph, and the choice of parameters is based on results on threshold behavior and fractional colorability of random hypergraphs from the works of the moscow institute of physics and technology (MIPT), this is the very first implementation of the beginning of 2024 in its original form. ps: look at the attachments. info requirements requirement ver c++ stand C++17 or later compiler GCC 9+, Clang 10+, MSVC 2019+ cpu x86-64 with PCLMUL (recommended) installation git clone https://github.com/octra-labs/pvac_hfhe_cpp.git cd pvac-hfhe-cpp # include < pvac/pvac.hpp > build and run: make test # 42 tests make examples # usage examples make test-prf make test-sigma make test-depth make test-ct make test-hg example # include < iostream > # include < pvac/pvac.hpp > using namespace pvac ; int main () { // key generation Params prm; PubKey pk; SecKey sk; keygen (prm, pk, sk); // encrypt values (client-side) Cipher a = enc_value (pk, sk, 42 ); Cipher b = enc_value (pk, sk, 17 ); // homo ops (server-side) Cipher sum = ct_add (pk, a, b); // 42 + 17 Cipher diff = ct_sub (pk, a, b); // 42 - 17 Cipher prod = ct_mul (pk, a, b); // 42 * 17 // decrypt results (client-side) std::cout << " 42 + 17 = " << IsOne ( dec_value (pk, sk, sum) == fp_from_u64 ( 59 )) << " " ; std::cout << " 42 - 17 = " << fp_IsOne ( dec_value (pk, sk, diff) == fp_from_u64 ( 25 )) << " " ; std::cout << " 42 * 17 = " << fp_IsOne ( dec_value (pk, sk, prod) == fp_from_u64 ( 714 )) << " " ; return 0 ; }
First seen: 2025-12-08 08:24
Last seen: 2025-12-08 09:25