microsoft/SEAL:GitHub - microsoft/SEAL at 4.0.0
一.安装SEAL
首先下载microsoft/SEAL
git clone https://github.com/microsoft/SEAL.git
cd SEAL
编译安装
cmake -S . -B build
cmake --build build
sudo cmake --install build
这里面自动安装以下库:
我遇到一个问题:
error: call to undeclared function 'lseek';
找到该文件在文件头增加
#include “unistd.h”
(base) admin@ybxMacBook-Pro SEAL-4.0.0 % sudo cmake --install build
Password:
-- Install configuration: "Release"
-- Installing: /usr/local/include/SEAL-4.0/seal/util/config.h
-- Installing: /usr/local/lib/libseal-4.0.a
-- Installing: /usr/local/lib/cmake/SEAL-4.0/SEALTargets.cmake
-- Installing: /usr/local/lib/cmake/SEAL-4.0/SEALTargets-release.cmake
-- Installing: /usr/local/lib/cmake/SEAL-4.0/SEALConfig.cmake
-- Installing: /usr/local/lib/cmake/SEAL-4.0/SEALConfigVersion.cmake
-- Installing: /usr/local/include/SEAL-4.0/gsl
-- Installing: /usr/local/include/SEAL-4.0/gsl/gsl_util
-- Installing: /usr/local/include/SEAL-4.0/gsl/gsl_assert
-- Installing: /usr/local/include/SEAL-4.0/gsl/span
-- Installing: /usr/local/include/SEAL-4.0/gsl/gsl
-- Installing: /usr/local/include/SEAL-4.0/gsl/pointers
-- Installing: /usr/local/include/SEAL-4.0/gsl/gsl_algorithm
-- Installing: /usr/local/include/SEAL-4.0/gsl/gsl_byte
-- Installing: /usr/local/include/SEAL-4.0/gsl/multi_span
-- Installing: /usr/local/include/SEAL-4.0/gsl/span_ext
-- Installing: /usr/local/include/SEAL-4.0/gsl/string_span
-- Installing: /usr/local/lib/pkgconfig/seal.pc
-- Installing: /usr/local/include/SEAL-4.0/seal/batchencoder.h
-- Installing: /usr/local/include/SEAL-4.0/seal/ciphertext.h
-- Installing: /usr/local/include/SEAL-4.0/seal/ckks.h
-- Installing: /usr/local/include/SEAL-4.0/seal/modulus.h
-- Installing: /usr/local/include/SEAL-4.0/seal/context.h
-- Installing: /usr/local/include/SEAL-4.0/seal/decryptor.h
-- Installing: /usr/local/include/SEAL-4.0/seal/dynarray.h
-- Installing: /usr/local/include/SEAL-4.0/seal/encryptionparams.h
-- Installing: /usr/local/include/SEAL-4.0/seal/encryptor.h
-- Installing: /usr/local/include/SEAL-4.0/seal/evaluator.h
-- Installing: /usr/local/include/SEAL-4.0/seal/galoiskeys.h
-- Installing: /usr/local/include/SEAL-4.0/seal/keygenerator.h
-- Installing: /usr/local/include/SEAL-4.0/seal/kswitchkeys.h
-- Installing: /usr/local/include/SEAL-4.0/seal/memorymanager.h
-- Installing: /usr/local/include/SEAL-4.0/seal/plaintext.h
-- Installing: /usr/local/include/SEAL-4.0/seal/publickey.h
-- Installing: /usr/local/include/SEAL-4.0/seal/randomgen.h
-- Installing: /usr/local/include/SEAL-4.0/seal/randomtostd.h
-- Installing: /usr/local/include/SEAL-4.0/seal/relinkeys.h
-- Installing: /usr/local/include/SEAL-4.0/seal/seal.h
-- Installing: /usr/local/include/SEAL-4.0/seal/secretkey.h
-- Installing: /usr/local/include/SEAL-4.0/seal/serializable.h
-- Installing: /usr/local/include/SEAL-4.0/seal/serialization.h
-- Installing: /usr/local/include/SEAL-4.0/seal/valcheck.h
-- Installing: /usr/local/include/SEAL-4.0/seal/version.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/blake2.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/blake2-impl.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/clang.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/clipnormal.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/common.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/croots.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/defines.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/dwthandler.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/fips202.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/galois.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/gcc.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/globals.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/hash.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/hestdparms.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/iterator.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/locks.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/mempool.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/msvc.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/numth.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/pointer.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/polyarithsmallmod.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/polycore.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/rlwe.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/rns.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/scalingvariant.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/ntt.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/streambuf.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/uintarith.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/uintarithmod.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/uintarithsmallmod.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/uintcore.h
-- Installing: /usr/local/include/SEAL-4.0/seal/util/ztools.h
二.测试sealpir
1.官网下载获得命令下载:
git clone https://github.com/microsoft/SealPIR.git
2.安装测试:
cmake .
make
ctest .
(base) admin@ybxMacBook-Pro SealPIR-master % ctest .
Test project /Users/admin/Desktop/code/SealPIR-master
Start 1: coefficient_conversion_test
1/6 Test #1: coefficient_conversion_test ...... Passed 0.00 sec
Start 2: expand_test
2/6 Test #2: expand_test ...................... Passed 0.35 sec
Start 3: query_test
3/6 Test #3: query_test ....................... Passed 129.26 sec
Start 4: simple_query_test
4/6 Test #4: simple_query_test ................ Passed 77.94 sec
Start 5: replace_test
5/6 Test #5: replace_test ..................... Passed 125.30 sec
Start 6: decomposition_test
6/6 Test #6: decomposition_test ............... Passed 0.75 sec
100% tests passed, 0 tests failed out of 6
Total Test time (real) = 333.61 sec
-------------------------------------------------------------完成-------------------------------------------------------------