Libraries and tools to perform fully homomorphic encryption operations on an encrypted data set.

Overview

Fully Homomorphic Encryption (FHE)

This repository contains open-source libraries and tools to perform fully homomorphic encryption (FHE) operations on an encrypted data set.

About Fully Homomorphic Encryption

Fully Homomorphic Encryption (FHE) is an emerging data processing paradigm that allows developers to perform transformations on encrypted data. FHE can change the way computations are performed by preserving privacy end-to-end, thereby giving users even greater confidence that their information will remain private and secure.

FHE C++ Transpiler

The FHE C++ Transpiler is a general purpose library that converts C++ into FHE-C++ that works on encrypted input. The code, examples, and more information is in the transpiler subdirectory.

Support

We will continue to publish updates and improvements to the FHE library. We are not yet accepting external contributions to this project. We will respond to issues filed in this project. If we ever intend to stop publishing improvements and responding to issues we will publish notice here at least 3 months in advance.

Support disclaimer

This is not an officially supported Google product.

License

Apache License 2.0. See LICENSE.

Contact information

We are committed to open-sourcing our work to support your use cases. We want to know how you use this library and what problems it helps you to solve. We have two communication channels for you to contact us:

  • A public discussion group where we will also share our preliminary roadmap, updates, events, and more.

  • A private email alias at [email protected] where you can reach out to us directly about your use cases and what more we can do to help and improve the library.

Please refrain from sending any sensitive or confidential information. If you wish to delete a message you've previously sent, please contact us.

Contributors

The contributors to this project are (sorted by last name):

Issues
  • Docker Install Error on Mac

    Docker Install Error on Mac

    Using Mac catalina

    `2021/06/22 07:39:43 Downloading https://releases.bazel.build/4.0.0/release/bazel-4.0.0-linux-x86_64... Extracting Bazel installation... Starting local Bazel server and connecting to it... Loading: Loading: 0 packages loaded Loading: 0 packages loaded Loading: 0 packages loaded Loading: 0 packages loaded Loading: 0 packages loaded Loading: 0 packages loaded Loading: 0 packages loaded Loading: 0 packages loaded Loading: 0 packages loaded Loading: 0 packages loaded Loading: 0 packages loaded Loading: 0 packages loaded Loading: 0 packages loaded Loading: 0 packages loaded Loading: 0 packages loaded Loading: 0 packages loaded Loading: 0 packages loaded Loading: 0 packages loaded Loading: 0 packages loaded Loading: 0 packages loaded Loading: 0 packages loaded Loading: 0 packages loaded Loading: 0 packages loaded Loading: 0 packages loaded Analyzing: 362 targets (17 packages loaded, 0 targets configured) Analyzing: 362 targets (64 packages loaded, 909 targets configured) Analyzing: 362 targets (82 packages loaded, 9004 targets configured) Analyzing: 362 targets (105 packages loaded, 11569 targets configured) INFO: Analyzed 362 targets (110 packages loaded, 18310 targets configured). INFO: Found 362 targets... [0 / 64] [Prepa] Writing script external/tfhe/libtfhe_foreign_cc/build_script.sh INFO: From Compiling clang/utils/TableGen/RISCVVEmitter.cpp [for host]: external/llvm-project/clang/utils/TableGen/RISCVVEmitter.cpp: In member function 'void {anonymous}::RVVType::applyModifier(llvm::StringRef)': external/llvm-project/clang/utils/TableGen/RISCVVEmitter.cpp:644:27: warning: 'Log2EEW' may be used uninitialized in this function [-Wmaybe-uninitialized] 644 | ElementBitwidth = 1 << Log2EEW; | ~~^~~~~~~~~~ INFO: From Compiling clang/utils/TableGen/NeonEmitter.cpp [for host]: external/llvm-project/clang/utils/TableGen/NeonEmitter.cpp: In static member function 'static {anonymous}::Type {anonymous}::Type::fromTypedefName(llvm::StringRef)': external/llvm-project/clang/utils/TableGen/NeonEmitter.cpp:770:36: warning: 'NumLanes' may be used uninitialized in this function [-Wmaybe-uninitialized] 770 | T.Bitwidth = T.ElementBitwidth * NumLanes; | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~ [46 / 467] BootstrapGNUMake external/rules_foreign_cc/toolchains/make [for host]; 29s processwrapper-sandbox ... (4 actions, 3 running) [90 / 467] CcCmakeMakeRule external/tfhe/libtfhe/include; 23s processwrapper-sandbox ... (4 actions, 3 running) [146 / 467] Compiling llvm/lib/Support/Signals.cpp [for host]; 1s processwrapper-sandbox ... (4 actions, 3 running) INFO: From Compiling llvm/lib/Support/YAMLParser.cpp [for host]: external/llvm-project/llvm/lib/Support/YAMLParser.cpp: In member function 'bool llvm::yaml::Scanner::findBlockScalarIndent(unsigned int&, unsigned int, unsigned int&, bool&)': external/llvm-project/llvm/lib/Support/YAMLParser.cpp:268:5: warning: 'LongestAllSpaceLine' may be used uninitialized in this function [-Wmaybe-uninitialized] 268 | if (Position >= End) | ^~ external/llvm-project/llvm/lib/Support/YAMLParser.cpp:1584:23: note: 'LongestAllSpaceLine' was declared here 1584 | StringRef::iterator LongestAllSpaceLine; | ^~~~~~~~~~~~~~~~~~~ INFO: From Compiling llvm/lib/Support/VirtualFileSystem.cpp [for host]: external/llvm-project/llvm/lib/Support/VirtualFileSystem.cpp: In member function 'std::unique_ptrllvm::vfs::RedirectingFileSystem::Entry llvm::vfs::RedirectingFileSystemParser::parseEntry(llvm::yaml::Node*, llvm::vfs::RedirectingFileSystem*, bool)': external/llvm-project/llvm/lib/Support/VirtualFileSystem.cpp:1616:5: warning: 'Kind' may be used uninitialized in this function [-Wmaybe-uninitialized] 1616 | switch (Kind) { | ^~~~~~ INFO: From Compiling llvm/lib/Support/APFloat.cpp [for host]: external/llvm-project/llvm/lib/Support/APFloat.cpp: In member function 'llvm::Expectedllvm::APFloatBase::opStatus llvm::detail::IEEEFloat::convertFromDecimalString(llvm::StringRef, llvm::APFloatBase::roundingMode)': external/llvm-project/llvm/lib/Support/APFloat.cpp:2794:16: warning: 'D.llvm::decimalInfo::lastSigDigit' may be used uninitialized in this function [-Wmaybe-uninitialized] 2794 | } while (p <= D.lastSigDigit); | ~~^~~~~~~~~~~~~~~~~ external/llvm-project/llvm/lib/Support/APFloat.cpp:2753:58: warning: 'D.llvm::decimalInfo::firstSigDigit' may be used uninitialized in this function [-Wmaybe-uninitialized] 2753 | partCount = static_cast(D.lastSigDigit - D.firstSigDigit) + 1; | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ [241 / 696] [Sched] Linking external/llvm-project/clang/clang-tblgen [for host] ... (4 actions, 2 running) INFO: From Compiling llvm/lib/BinaryFormat/MsgPackDocument.cpp [for host]: external/llvm-project/llvm/lib/BinaryFormat/MsgPackDocument.cpp: In member function 'bool llvm::msgpack::Document::readFromBlob(llvm::StringRef, bool, llvm::function_ref<int(llvm::msgpack::DocNode*, llvm::msgpack::DocNode, llvm::msgpack::DocNode)>)': external/llvm-project/llvm/lib/BinaryFormat/MsgPackDocument.cpp:174:12: warning: 'N.llvm::msgpack::DocNode::.llvm::msgpack::DocNode::::Raw.llvm::StringRef::Length' may be used uninitialized in this function [-Wmaybe-uninitialized] 174 | Node = getArrayNode(); | ~~~~~^~~~~~~~~~~~~~~~ [308 / 706] [Sched] Linking external/llvm-project/clang/clang-tblgen [for host]; 55s ... (4 actions, 2 running) INFO: From Compiling llvm/lib/MC/WasmObjectWriter.cpp [for host]: external/llvm-project/llvm/lib/MC/WasmObjectWriter.cpp: In member function 'uint64_t {anonymous}::WasmObjectWriter::writeOneObject(llvm::MCAssembler&, const llvm::MCAsmLayout&, {anonymous}::WasmObjectWriter::DwoMode)': external/llvm-project/llvm/lib/MC/WasmObjectWriter.cpp:1885:22: warning: 'DataSectionIndex' may be used uninitialized in this function [-Wmaybe-uninitialized] 1885 | writeRelocSection(DataSectionIndex, "DATA", DataRelocations); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ external/llvm-project/llvm/lib/MC/WasmObjectWriter.cpp:1884:22: warning: 'CodeSectionIndex' may be used uninitialized in this function [-Wmaybe-uninitialized] 1884 | writeRelocSection(CodeSectionIndex, "CODE", CodeRelocations); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [363 / 706] [Sched] Linking external/llvm-project/clang/clang-tblgen [for host]; 116s ... (4 actions, 2 running) INFO: From Compiling llvm/lib/MC/MachObjectWriter.cpp [for host]: external/llvm-project/llvm/lib/MC/MachObjectWriter.cpp: In member function 'void llvm::MachObjectWriter::writeNlist(llvm::MachObjectWriter::MachSymbolData&, const llvm::MCAsmLayout&)': external/llvm-project/llvm/lib/MC/MachObjectWriter.cpp:381:13: warning: 'AliaseeInfo' may be used uninitialized in this function [-Wmaybe-uninitialized] 381 | Address = AliaseeInfo->StringIndex; | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ [419 / 706] [Sched] Linking external/llvm-project/clang/clang-tblgen [for host]; 186s ... (4 actions, 3 running) ERROR: /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/external/llvm-project/llvm/BUILD:1689:12: Generating code from table: lib/Target/RISCV/RISCV.td @llvm-project//llvm:RISCVCommonTableGen__gen_instr_info_genrule failed: (Killed): bash failed: error executing command /bin/bash -c ... (remaining 1 argument(s) skipped)

    Use --sandbox_debug to see verbose messages from the sandbox bash failed: error executing command /bin/bash -c ... (remaining 1 argument(s) skipped)

    Use --sandbox_debug to see verbose messages from the sandbox ERROR: /usr/src/fhe/transpiler/examples/calculator/BUILD:69:15 Action transpiler/examples/calculator/calculator_bool.bool.ir failed: (Killed): bash failed: error executing command /bin/bash -c ... (remaining 1 argument(s) skipped)

    Use --sandbox_debug to see verbose messages from the sandbox bash failed: error executing command /bin/bash -c ... (remaining 1 argument(s) skipped)

    Use --sandbox_debug to see verbose messages from the sandbox INFO: Elapsed time: 599.389s, Critical Path: 210.46s INFO: 1057 processes: 528 internal, 529 processwrapper-sandbox. FAILED: Build did NOT complete successfully FAILED: Build did NOT complete successfully`

    bug documentation 
    opened by s-naveen 9
  • Email spam detection example

    Email spam detection example

    Hello, thank you for this library!

    I've started experimenting with it decided to implement an email spam detection example. It is not meant to be production ready, just exploration. The repository is here: https://github.com/dartdart26/fhe-is-mail-spam

    If you are open to adding code, it is already a working example (can be put in the transpiler/examples directory). I will be working on making it more feature-rich, i.e. having real client/server, be more practical and more. I generate C++ code via Python, but I can work on other methods. I guess these can be generalised and I am sure you've thought about it. I am just approaching it from the perspective of C++ developer without FHE experience.

    opened by dartdart26 3
  • LLVM Release error with Docker

    LLVM Release error with Docker

    Hey guys, first thank you for the code and the libary.

    I just tried the docker installation guide on my arch linux system. I got the error which you describe in the troubleshooting area, but I got it with the docker image.

    Step 6/6 : RUN bazel build ...
     ---> Running in 5529e63f0ab1
    Extracting Bazel installation...
    Starting local Bazel server and connecting to it...
    Loading: 
    Loading: 0 packages loaded
    Loading: 0 packages loaded
    Loading: 0 packages loaded
    Loading: 0 packages loaded
    INFO: Repository llvm_toolchain instantiated at:
      /usr/src/fhe/WORKSPACE:59:15: in <toplevel>
    Repository rule llvm_toolchain defined at:
      /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/external/com_grail_bazel_toolchain/toolchain/rules.bzl:24:33: in <toplevel>
    ERROR: An error occurred during the fetch of repository 'llvm_toolchain':
       Traceback (most recent call last):
    	File "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/external/com_grail_bazel_toolchain/toolchain/internal/configure.bzl", line 110, column 37, in llvm_toolchain_impl
    		_download_llvm_preconfigured(rctx)
    	File "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/external/com_grail_bazel_toolchain/toolchain/internal/llvm_distributions.bzl", line 177, column 13, in download_llvm_preconfigured
    		fail("Unknown LLVM release: %s\nPlease ensure file name is correct." % basename)
    Error in fail: Unknown LLVM release: clang+llvm-10.0.1-x86_64-linux-gnu-ubuntu-18.04.tar.xz
    Please ensure file name is correct.
    ERROR: Error fetching repository: Traceback (most recent call last):
    	File "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/external/com_grail_bazel_toolchain/toolchain/internal/configure.bzl", line 110, column 37, in llvm_toolchain_impl
    		_download_llvm_preconfigured(rctx)
    	File "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/external/com_grail_bazel_toolchain/toolchain/internal/llvm_distributions.bzl", line 177, column 13, in download_llvm_preconfigured
    		fail("Unknown LLVM release: %s\nPlease ensure file name is correct." % basename)
    Error in fail: Unknown LLVM release: clang+llvm-10.0.1-x86_64-linux-gnu-ubuntu-18.04.tar.xz
    Please ensure file name is correct.
    ERROR: no such package '@llvm_toolchain//': Unknown LLVM release: clang+llvm-10.0.1-x86_64-linux-gnu-ubuntu-18.04.tar.xz
    Please ensure file name is correct.
    INFO: Elapsed time: 12.690s
    INFO: 0 processes.
    FAILED: Build did NOT complete successfully (0 packages loaded)
    FAILED: Build did NOT complete successfully (0 packages loaded)
    The command '/bin/sh -c bazel build ...' returned a non-zero code: 
    

    Is there any way to fix this?

    Best regards

    Thomas

    opened by tomizius 3
  • Expected Performance

    Expected Performance

    I managed to build this project in docker on Linux, and run the example code. However, the computation takes a quite long to complete.

    Specifically, I run

    bazel run //transpiler/examples/calculator:calculator_tfhe_testbench
    

    and the first computation (10 * 20) takes around 460 seconds with 100% CPU on single core to compute. My computer has a 4th gen i7 CPU.

    I am quite new to homomorphic encryption. So I am not sure how long should it take. Is my result similar to the expected performance?

    opened by lewisxy 3
  • missing <filesystem>

    missing

    Hi, have been trying to run several provided examples (pls see attached) but keeps having failures. using --verbose_failures and --sandbox_debug reveals that: "external/com_google_xls/xls/passes/pass_base.h:20:10: fatal error: filesystem: No such file or directory" Kindly advise. Much appreciated. NB: am running ubuntu 18.04 VM with bazel 4.0.0 as instructed at: https://github.com/google/fully-homomorphic-encryption/tree/main/transpiler

    Thank you failure.log

    opened by aaronthor 2
  • Google group is not public

    Google group is not public

    The README file links to https://groups.google.com/g/fhe-open-source-users but when visiting that group as a logged-in user I'm presented with permission denied error.

    opened by zyga 2
  • Build issue

    Build issue

    When I run 'bazel run //transpiler/examples/hangman:hangman_client --sandbox_debug'

    I get the following compiler error:

    INFO: Analyzed target //transpiler/examples/hangman:hangman_client (0 packages loaded, 0 targets configured). INFO: Found 1 target... ERROR: /home/mariano/FHE/fully-homomorphic-encryption/transpiler/struct_transpiler/BUILD:25:10: Linking transpiler/struct_transpiler/struct_transpiler failed: (Exit 1): process-wrapper failed: error executing command (cd /home/mariano/.cache/bazel/_bazel_mariano/44625b1d8cdb8f2a3f51804e0547c5c1/sandbox/processwrapper-sandbox/48/execroot/com_google_fully_homomorphic_encryption &&
    exec env -
    PATH=/home/mariano/.cache/bazelisk/downloads/bazelbuild/bazel-4.0.0-linux-x86_64/bin: ... PWD=/proc/self/cwd
    TMPDIR=/tmp
    /home/mariano/.cache/bazel/_bazel_mariano/install/1a4a2fac02d50c77031d44c0d91b8920/process-wrapper '--timeout=0' '--kill_delay=15' /usr/bin/gcc @bazel-out/k8-opt-exec-2B5CBBC6/bin/transpiler/struct_transpiler/struct_transpiler-2.params) process-wrapper failed: error executing command (cd /home/mariano/.cache/bazel/_bazel_mariano/44625b1d8cdb8f2a3f51804e0547c5c1/sandbox/processwrapper-sandbox/48/execroot/com_google_fully_homomorphic_encryption &&
    exec env -
    PATH=/home/mariano/.cache/bazelisk/downloads/bazelbuild/bazel-4.0.0-linux-x86_64/bin: ... PWD=/proc/self/cwd
    TMPDIR=/tmp
    /home/mariano/.cache/bazel/_bazel_mariano/install/1a4a2fac02d50c77031d44c0d91b8920/process-wrapper '--timeout=0' '--kill_delay=15' /usr/bin/gcc @bazel-out/k8-opt-exec-2B5CBBC6/bin/transpiler/struct_transpiler/struct_transpiler-2.params) bazel-out/k8-opt-exec-2B5CBBC6/bin/transpiler/struct_transpiler/_objs/struct_transpiler/struct_transpiler_main.o:struct_transpiler_main.cc:function fully_homomorphic_encryption::transpiler::RealMain(std::basic_string_view<char, std::char_traits >, std::basic_string_view<char, std::char_traits >, std::basic_string_view<char, std::char_traits >): error: undefined reference to 'std::filesystem::__cxx11::path::_M_split_cmpts()' bazel-out/k8-opt-exec-2B5CBBC6/bin/transpiler/struct_transpiler/_objs/struct_transpiler/struct_transpiler_main.o:struct_transpiler_main.cc:function fully_homomorphic_encryption::transpiler::RealMain(std::basic_string_view<char, std::char_traits >, std::basic_string_view<char, std::char_traits >, std::basic_string_view<char, std::char_traits >): error: undefined reference to 'std::filesystem::__cxx11::path::_M_split_cmpts()' collect2: error: ld returned 1 exit status Target //transpiler/examples/hangman:hangman_client failed to build Use --verbose_failures to see the command lines of failed build steps. INFO: Elapsed time: 5.662s, Critical Path: 5.23s INFO: 27 processes: 5 internal, 22 processwrapper-sandbox. FAILED: Build did NOT complete successfully FAILED: Build did NOT complete successfully

    uname -a

    Linux mariano 4.19.0-16-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64 GNU/Linux

    opened by MarianoDiMartino 2
  • Using Yosys with arrays of struct appears to cause segfault

    Using Yosys with arrays of struct appears to cause segfault

    the following system runs for cleartext, openfhe, interpreted_openfhe, but yosys_interpreted_openfhe causes a segfault

    when run with a debugger gives the following backtrace Thread 1 "bug_yosys_inter" received signal SIGSEGV, Segmentation fault. __gnu_cxx::__atomic_add_dispatch (__val=1, __mem=0xea) at /usr/include/c++/9/ext/atomicity.h:96 96 __atomic_add(__mem, __val); (gdb) bt #0 __gnu_cxx::__atomic_add_dispatch (__val=1, __mem=0xea) at /usr/include/c++/9/ext/atomicity.h:96 #1 std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_add_ref_copy ( this=0xe2) at /usr/include/c++/9/bits/shared_ptr_base.h:139 #2 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator= (__r=..., this=0x555555bb1020) at /usr/include/c++/9/bits/shared_ptr_base.h:747 #3 std::__shared_ptr<lbcrypto::LWECiphertextImpl, (__gnu_cxx::_Lock_policy)2>::operator= (this=0x555555bb1018) at /usr/include/c++/9/bits/shared_ptr_base.h:1080 #4 std::shared_ptrlbcrypto::LWECiphertextImpl::operator= ( this=0x555555bb1018) at /usr/include/c++/9/bits/shared_ptr.h:103 #5 fully_homomorphic_encryption::transpiler::YosysOpenFheRunner::YosysOpenFheRunnerState::Run (this=0x555555bcc850, result=..., in_args=..., inout_args=std::vector of length 1, capacity 1 = {...}) at transpiler/yosys_openfhe_runner.cc:310 #6 0x00005555555c82d4 in fully_homomorphic_encryption::transpiler::YosysOpenFheRunner::Run (this=, result=..., in_args=std::vector of length 3, capacity 3 = {...}, inout_args=std::vector of length 1, capacity 1 = {...}, cc=...) at /usr/include/c++/9/bits/stl_uninitialized.h:82 #7 0x000055555558d3bc in select_struct_UNSAFE(absl::Span<std::shared_ptrlbcrypto::LWECiphertextImpl const>, absl::Span<std::shared_ptrlbcrypto::LWECiphertextImpl const>, absl::Span<std::shared_ptrlbcrypto::LWECiphertextImpl const>, absl::Span<std::shared_ptrlbcrypto::LWECiphertextImpl >, lbcrypto::BinFHEContext) () at /usr/include/c++/9/bits/stl_tree.h:211 #8 0x0000555555589de8 in select_struct(OpenFheArrayRef<BugStruct, 2u>, OpenFheRef, OpenFheRef, OpenFheRef, lbcrypto::BinFHEContext) () at /usr/include/c++/9/bits/stl_tree.h:211 #9 0x0000555555582e0b in main () at /usr/include/c++/9/ext/new_allocator.h:89 (gdb) bug.zip

    opened by davidbrucecousins 0
  • Using OpenFHE compile error,but Using TFHE is ok

    Using OpenFHE compile error,but Using TFHE is ok

    bazel run //transpiler/examples/fibonacci:fibonacci_openfhe_testbench Starting local Bazel server and connecting to it... INFO: Analyzed target //transpiler/examples/fibonacci:fibonacci_openfhe_testbench (99 packages loaded, 21005 targets configured). INFO: Found 1 target... ERROR: /home/constexpr/.cache/bazel/_bazel_constexpr/57e8517c1009cf8d8f04e6f3fe94bf13/external/openfhe/BUILD.bazel:55:6: Foreign Cc - CMake: Building binfhe failed: (Exit 1): bash failed: error executing command /bin/bash -c bazel-out/k8-opt/bin/external/openfhe/binfhe_foreign_cc/wrapper_build_script.sh

    Use --sandbox_debug to see verbose messages from the sandbox bash failed: error executing command /bin/bash -c bazel-out/k8-opt/bin/external/openfhe/binfhe_foreign_cc/wrapper_build_script.sh

    Use --sandbox_debug to see verbose messages from the sandbox rules_foreign_cc: Build failed! rules_foreign_cc: Keeping temp build directory and dependencies directory for debug. rules_foreign_cc: Please note that the directories inside a sandbox are still cleaned unless you specify --sandbox_debug Bazel command line flag. rules_foreign_cc: Printing build logs: _____ BEGIN BUILD LOGS _____

    Bazel external C/C++ Rules. Building library binfhe

    Environment:______________ BUILD_SCRIPT=bazel-out/k8-opt/bin/external/openfhe/binfhe_foreign_cc/build_script.sh EXT_BUILD_ROOT=/home/constexpr/.cache/bazel/_bazel_constexpr/57e8517c1009cf8d8f04e6f3fe94bf13/sandbox/linux-sandbox/1/execroot/com_google_fully_homomorphic_encryption BUILD_LOG=bazel-out/k8-opt/bin/external/openfhe/binfhe_foreign_cc/CMake.log PWD=/home/constexpr/.cache/bazel/_bazel_constexpr/57e8517c1009cf8d8f04e6f3fe94bf13/sandbox/linux-sandbox/1/execroot/com_google_fully_homomorphic_encryption BUILD_WRAPPER_SCRIPT=bazel-out/k8-opt/bin/external/openfhe/binfhe_foreign_cc/wrapper_build_script.sh PYTHON_BIN_PATH=/usr/bin/python3 TMPDIR=/tmp EXT_BUILD_DEPS=/home/constexpr/.cache/bazel/_bazel_constexpr/57e8517c1009cf8d8f04e6f3fe94bf13/sandbox/linux-sandbox/1/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt/bin/external/openfhe/binfhe.ext_build_deps BUILD_TMPDIR=/home/constexpr/.cache/bazel/_bazel_constexpr/57e8517c1009cf8d8f04e6f3fe94bf13/sandbox/linux-sandbox/1/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt/bin/external/openfhe/binfhe.build_tmpdir SHLVL=2 BAZEL_CXXOPTS=-std=c++17 CMAKE_BUILD_PARALLEL_LEVEL=16 INSTALLDIR=/home/constexpr/.cache/bazel/_bazel_constexpr/57e8517c1009cf8d8f04e6f3fe94bf13/sandbox/linux-sandbox/1/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt/bin/external/openfhe/binfhe PATH=/home/constexpr/.cache/bazel/_bazel_constexpr/57e8517c1009cf8d8f04e6f3fe94bf13/sandbox/linux-sandbox/1/execroot/com_google_fully_homomorphic_encryption:/home/constexpr/.cache/bazelisk/downloads/bazelbuild/bazel-4.0.0-linux-x86_64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin _=/usr/bin/env


    • /home/constexpr/.cache/bazel/_bazel_constexpr/57e8517c1009cf8d8f04e6f3fe94bf13/sandbox/linux-sandbox/1/execroot/com_google_fully_homomorphic_encryption/external/cmake-3.22.1-linux-x86_64/bin/cmake -DBUILD_BENCHMARKS=OFF -DBUILD_UNITTESTS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=crosstool_bazel.cmake -DCMAKE_INSTALL_PREFIX=/home/constexpr/.cache/bazel/_bazel_constexpr/57e8517c1009cf8d8f04e6f3fe94bf13/sandbox/linux-sandbox/1/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt/bin/external/openfhe/binfhe -DCMAKE_PREFIX_PATH=/home/constexpr/.cache/bazel/_bazel_constexpr/57e8517c1009cf8d8f04e6f3fe94bf13/sandbox/linux-sandbox/1/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt/bin/external/openfhe/binfhe.ext_build_deps -DCMAKE_RANLIB= -DCMAKE_MAKE_PROGRAM=/home/constexpr/.cache/bazel/_bazel_constexpr/57e8517c1009cf8d8f04e6f3fe94bf13/sandbox/linux-sandbox/1/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/rules_foreign_cc/toolchains/make/bin/make -G 'Unix Makefiles' /home/constexpr/.cache/bazel/_bazel_constexpr/57e8517c1009cf8d8f04e6f3fe94bf13/sandbox/linux-sandbox/1/execroot/com_google_fully_homomorphic_encryption/external/openfhe -- The C compiler identification is GNU 9.4.0 -- The CXX compiler identification is GNU 9.4.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/gcc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/gcc - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Building in Release mode -- BUILD_UNITTESTS: OFF -- BUILD_EXAMPLES: ON -- BUILD_BENCHMARKS: OFF -- BUILD_EXTRAS: OFF -- BUILD_DOCS: OFF -- BUILD_STATIC: OFF -- BUILD_SHARED: ON -- GIT_SUBMOD_AUTO: ON -- WITH_BE2: ON -- WITH_BE4: ON -- WITH_NTL: OFF -- WITH_TCM: OFF -- WITH_INTEL_HEXL: OFF -- WITH_OPENMP: ON -- NATIVE_SIZE: 64 -- CKKS_M_FACTOR: 1 -- WITH_NATIVEOPT: OFF -- WITH_COVTEST: OFF -- BUILTIN_INFO_AVAILABLE is defined ***** INSTALL IS AT /home/constexpr/.cache/bazel/_bazel_constexpr/57e8517c1009cf8d8f04e6f3fe94bf13/sandbox/linux-sandbox/1/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt/bin/external/openfhe/binfhe; to change, run cmake with -DCMAKE_INSTALL_PREFIX=/your/path -- Architecture is x86_64 -- Looking for sys/types.h -- Looking for sys/types.h - found -- Looking for stdint.h -- Looking for stdint.h - found -- Looking for stddef.h -- Looking for stddef.h - found -- Check size of __int128 -- Check size of __int128 - done -- Check size of uint64_t -- Check size of uint64_t - done -- NATIVEINT is set to 64 -- MATHBACKEND is set to 2 CMake Error at CMakeLists.txt:377 (message): Autoconf is not installed.

    -- Found OpenMP_C: -fopenmp (found version "4.5") -- Found OpenMP_CXX: -fopenmp (found version "4.5") -- Found OpenMP: TRUE (found version "4.5")
    -- Found Git: /usr/bin/git (found version "2.25.1") -- Configuring incomplete, errors occurred! See also "/home/constexpr/.cache/bazel/_bazel_constexpr/57e8517c1009cf8d8f04e6f3fe94bf13/sandbox/linux-sandbox/1/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt/bin/external/openfhe/binfhe.build_tmpdir/CMakeFiles/CMakeOutput.log". _____ END BUILD LOGS _____ rules_foreign_cc: Build wrapper script location: bazel-out/k8-opt/bin/external/openfhe/binfhe_foreign_cc/wrapper_build_script.sh rules_foreign_cc: Build script location: bazel-out/k8-opt/bin/external/openfhe/binfhe_foreign_cc/build_script.sh rules_foreign_cc: Build log location: bazel-out/k8-opt/bin/external/openfhe/binfhe_foreign_cc/CMake.log

    Target //transpiler/examples/fibonacci:fibonacci_openfhe_testbench failed to build Use --verbose_failures to see the command lines of failed build steps. INFO: Elapsed time: 18.715s, Critical Path: 5.56s INFO: 2 processes: 2 internal. FAILED: Build did NOT complete successfully FAILED: Build did NOT complete successfully

    opened by maltoseeee 0
  • Issue Building With Bazel

    Issue Building With Bazel

    1. Fully Homomorphic Library with Bazel in Container Environment.
    2. Created a new example in Fully Homomorphic Library using openfhe https://github.com/openfheorg/ library.
    3. The example I am trying to run is https://github.com/openfheorg/openfhe-development/blob/main/src/pke/examples/simple-integers-serial-bgvrns.cpp
    4. The example runs fine when I compile and execute openfhe as a standalone project (independent of Fully Homomorphic Library).
    5. When I try to run the same example using bazel as part of Fully Homomorphic Library, I get a compilation error, show below
    Screenshot 2022-04-13 at 3 00 53 PM

    My steps: A. I had cloned the repo B. Created a new folder in examples to host my example code and made a new BUILD file C. The build file is Screenshot 2022-04-13 at 3 03 37 PM

    Everything else in the project is constant, and not been altered. Trying to understand why the openfhe example is not working within the Fully Homomorphic encryption Library.

    opened by ArmaghanAsghar 0
  • Representation Encrypted Number

    Representation Encrypted Number

    Good Morning, I want to create a script in which the input are the Encrypted number and not the plaintext. I want to realize a simple sum. How can represent the Encrypted Number through int type? Is possible to encode o to serialize the ciphertext in order to give it like input? Thank you very much!

    opened by subzero210 0
  • Add demo simulating a mail spam detection service

    Add demo simulating a mail spam detection service

    This demo simulates a service that checks if a mail is spam without the server seeing the mail or the result. If a mail contains "evil.url", it will be classified as spam.

    Add test benches, an unit test and update the README.

    Reference: https://vitalik.ca/general/2020/07/20/homomorphic.html

    opened by dartdart26 2
  • Compile erro on the reverse string example

    Compile erro on the reverse string example

    Hi,

    First, I want to thank you for this project. Its really nice and has enormous potential.

    I'm compiling from the sources on a EC2 machine. I had an error when I was at the examples compilation. The reverse string example. You will find the error messages hereafter. How can I fix this?

    The simple sum example still worked. So I can continue my exploration.

    Thanks in advance for your help.

    Kind Regards, M


    ERROR: /home/ec2-user/fully-homomorphic-encryption/transpiler/examples/string_reverse/BUILD:21:15: Compiling transpiler/examples/string_reverse/string_reverse_tfhe.cc failed: (Exit 4): linux-sandbox failed: error executing command (cd /home/ec2-user/.cache/bazel/bazel_ec2-user/f9cbf21ed6e3a79982ef4879961c490e/sandbox/linux-sandbox/5050/execroot/com_google_fully_homomorphic_encryption &&
    exec env -
    BAZEL_CXXOPTS='-std=c++17'
    LD_LIBRARY_PATH=/home/ec2-user/opt/gcc-9.1.0/lib:/home/ec2-user/opt/gcc-9.1.0/lib64:/home/ec2-user/opt/gcc-9.1.0/lib:/home/ec2-user/opt/gcc-9.1.0/lib64:
    PATH=/home/ec2-user/.cache/bazelisk/downloads/bazelbuild/bazel-4.0.0-linux-x86_64/bin:/home/ec2-user/opt/gcc-9.1.0/bin:/home/ec2-user/opt/gcc-9.1.0/bin:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ec2-user/.local/bin:/home/ec2-user/bin
    PWD=/proc/self/cwd
    PYTHON_BIN_PATH=/usr/bin/python3
    TMPDIR=/tmp
    /home/ec2-user/.cache/bazel/bazel_ec2-user/install/1a4a2fac02d50c77031d44c0d91b8920/linux-sandbox -t 15 -w /home/ec2-user/.cache/bazel/bazel_ec2-user/f9cbf21ed6e3a79982ef4879961c490e/sandbox/linux-sandbox/5050/execroot/com_google_fully_homomorphic_encryption -w /tmp -w /dev/shm -D -- /home/ec2-user/opt/gcc-9.1.0/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-sections -fdata-sections '-std=c++17' -MD -MF bazel-out/k8-opt/bin/transpiler/examples/string_reverse/objs/string_reverse_tfhe/string_reverse_tfhe.pic.d '-frandom-seed=bazel-out/k8-opt/bin/transpiler/examples/string_reverse/objs/string_reverse_tfhe/string_reverse_tfhe.pic.o' -fPIC -iquote . -iquote bazel-out/k8-opt/bin -iquote external/com_google_absl -iquote bazel-out/k8-opt/bin/external/com_google_absl -isystem bazel-out/k8-opt/bin/external/tfhe/libtfhe/include -Wno-sign-compare -Wno-comment '-std=c++17' -O0 -fno-canonical-system-headers -Wno-builtin-macro-redefined '-D__DATE="redacted"' '-D__TIMESTAMP="redacted"' '-D__TIME
    _="redacted"' -c bazel-out/k8-opt/bin/transpiler/examples/string_reverse/string_reverse_tfhe.cc -o bazel-out/k8-opt/bin/transpiler/examples/string_reverse/objs/string_reverse_tfhe/string_reverse_tfhe.pic.o) linux-sandbox failed: error executing command (cd /home/ec2-user/.cache/bazel/bazel_ec2-user/f9cbf21ed6e3a79982ef4879961c490e/sandbox/linux-sandbox/5050/execroot/com_google_fully_homomorphic_encryption &&
    exec env -
    BAZEL_CXXOPTS='-std=c++17'
    LD_LIBRARY_PATH=/home/ec2-user/opt/gcc-9.1.0/lib:/home/ec2-user/opt/gcc-9.1.0/lib64:/home/ec2-user/opt/gcc-9.1.0/lib:/home/ec2-user/opt/gcc-9.1.0/lib64:
    PATH=/home/ec2-user/.cache/bazelisk/downloads/bazelbuild/bazel-4.0.0-linux-x86_64/bin:/home/ec2-user/opt/gcc-9.1.0/bin:/home/ec2-user/opt/gcc-9.1.0/bin:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ec2-user/.local/bin:/home/ec2-user/bin
    PWD=/proc/self/cwd
    PYTHON_BIN_PATH=/usr/bin/python3
    TMPDIR=/tmp
    /home/ec2-user/.cache/bazel/bazel_ec2-user/install/1a4a2fac02d50c77031d44c0d91b8920/linux-sandbox -t 15 -w /home/ec2-user/.cache/bazel/bazel_ec2-user/f9cbf21ed6e3a79982ef4879961c490e/sandbox/linux-sandbox/5050/execroot/com_google_fully_homomorphic_encryption -w /tmp -w /dev/shm -D -- /home/ec2-user/opt/gcc-9.1.0/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-sections -fdata-sections '-std=c++17' -MD -MF bazel-out/k8-opt/bin/transpiler/examples/string_reverse/objs/string_reverse_tfhe/string_reverse_tfhe.pic.d '-frandom-seed=bazel-out/k8-opt/bin/transpiler/examples/string_reverse/objs/string_reverse_tfhe/string_reverse_tfhe.pic.o' -fPIC -iquote . -iquote bazel-out/k8-opt/bin -iquote external/com_google_absl -iquote bazel-out/k8-opt/bin/external/com_google_absl -isystem bazel-out/k8-opt/bin/external/tfhe/libtfhe/include -Wno-sign-compare -Wno-comment '-std=c++17' -O0 -fno-canonical-system-headers -Wno-builtin-macro-redefined '-D__DATE="redacted"' '-D__TIMESTAMP="redacted"' '-D__TIME
    ="redacted"' -c bazel-out/k8-opt/bin/transpiler/examples/string_reverse/string_reverse_tfhe.cc -o bazel-out/k8-opt/bin/transpiler/examples/string_reverse/_objs/string_reverse_tfhe/string_reverse_tfhe.pic.o) 1633081675.458286222: src/main/tools/linux-sandbox.cc:152: calling pipe(2)... 1633081675.458319820: src/main/tools/linux-sandbox.cc:171: calling clone(2)... 1633081675.458528898: src/main/tools/linux-sandbox.cc:180: linux-sandbox-pid1 has PID 13104 1633081675.458580542: src/main/tools/linux-sandbox-pid1.cc:434: Pid1Main started 1633081675.458663780: src/main/tools/linux-sandbox.cc:197: done manipulating pipes 1633081675.458809255: src/main/tools/linux-sandbox-pid1.cc:176: working dir: /home/ec2-user/.cache/bazel/_bazel_ec2-user/f9cbf21ed6e3a79982ef4879961c490e/sandbox/linux-sandbox/5050/execroot/com_google_fully_homomorphic_encryption 1633081675.458824961: src/main/tools/linux-sandbox-pid1.cc:208: writable: /home/ec2-user/.cache/bazel/_bazel_ec2-user/f9cbf21ed6e3a79982ef4879961c490e/sandbox/linux-sandbox/5050/execroot/com_google_fully_homomorphic_encryption 1633081675.458832192: src/main/tools/linux-sandbox-pid1.cc:208: writable: /tmp 1633081675.458839008: src/main/tools/linux-sandbox-pid1.cc:208: writable: /dev/shm 1633081675.458906264: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: / 1633081675.458913677: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /dev 1633081675.458919138: src/main/tools/linux-sandbox-pid1.cc:279: remount rw: /dev/shm 1633081675.458924738: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /dev/pts 1633081675.458930585: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /dev/hugepages 1633081675.458935926: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /dev/mqueue 1633081675.458941742: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /proc 1633081675.458947282: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /proc/sys/fs/binfmt_misc 1633081675.458957421: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys 1633081675.458963360: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/kernel/security 1633081675.458971198: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup 1633081675.458978208: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/systemd 1633081675.458984464: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/devices 1633081675.459016603: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/net_cls,net_prio 1633081675.459023104: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/pids 1633081675.459028982: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/cpu,cpuacct 1633081675.459034843: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/blkio 1633081675.459040448: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/perf_event 1633081675.459046085: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/freezer 1633081675.459052685: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/memory 1633081675.459058248: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/hugetlb 1633081675.459063992: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/cpuset 1633081675.459069600: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/pstore 1633081675.459075341: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/kernel/debug 1633081675.459082302: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /run 1633081675.459087893: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /run/user/1000 1633081675.459094325: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /var/lib/nfs/rpc_pipefs 1633081675.459106189: src/main/tools/linux-sandbox-pid1.cc:279: remount rw: /home/ec2-user/.cache/bazel/_bazel_ec2-user/f9cbf21ed6e3a79982ef4879961c490e/sandbox/linux-sandbox/5050/execroot/com_google_fully_homomorphic_encryption 1633081675.459112700: src/main/tools/linux-sandbox-pid1.cc:279: remount rw: /home/ec2-user/.cache/bazel/_bazel_ec2-user/f9cbf21ed6e3a79982ef4879961c490e/sandbox/linux-sandbox/5050/execroot/com_google_fully_homomorphic_encryption 1633081675.459117794: src/main/tools/linux-sandbox-pid1.cc:279: remount rw: /tmp 1633081675.459122653: src/main/tools/linux-sandbox-pid1.cc:279: remount rw: /dev/shm 1633081675.459147556: src/main/tools/linux-sandbox-pid1.cc:363: calling fork... 1633081675.459245937: src/main/tools/linux-sandbox-pid1.cc:393: child started with PID 2 In file included from /home/ec2-user/opt/gcc-9.1.0/lib/gcc/x86_64-unknown-linux-gnu/9.1.0/../../../../include/c++/9.1.0/x86_64-unknown-linux-gnu/bits/os_defines.h:39, from /home/ec2-user/opt/gcc-9.1.0/lib/gcc/x86_64-unknown-linux-gnu/9.1.0/../../../../include/c++/9.1.0/x86_64-unknown-linux-gnu/bits/c++config.h:524, from /home/ec2-user/opt/gcc-9.1.0/lib/gcc/x86_64-unknown-linux-gnu/9.1.0/../../../../include/c++/9.1.0/type_traits:38, from /home/ec2-user/opt/gcc-9.1.0/lib/gcc/x86_64-unknown-linux-gnu/9.1.0/../../../../include/c++/9.1.0/unordered_map:38, from bazel-out/k8-opt/bin/transpiler/examples/string_reverse/string_reverse_tfhe.cc:1: /usr/include/features.h:376:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp] 376 | # warning _FORTIFY_SOURCE requires compiling with optimization (-O) | ^~~~~~~ gcc: internal compiler error: Segmentation fault signal terminated program cc1plus Please submit a full bug report, with preprocessed source if appropriate. See https://gcc.gnu.org/bugs/ for instructions. 1633081684.261167928: src/main/tools/linux-sandbox-pid1.cc:410: wait returned pid=2, status=0x400 1633081684.261180298: src/main/tools/linux-sandbox-pid1.cc:428: child exited normally with code 4 1633081684.296650797: src/main/tools/linux-sandbox.cc:233: child exited normally with code 4 INFO: Elapsed time: 8640.140s, Critical Path: 127.58s INFO: 5095 processes: 77 internal, 5018 linux-sandbox. FAILED: Build did NOT complete successfully


    (VERBOSE MESSAGE)

    cd /home/ec2-user/.cache/bazel/_bazel_ec2-user/f9cbf21ed6e3a79982ef4879961c490e/sandbox/linux-sandbox/5050/execroot/com_google_fully_homomorphic_encryption && \

    exec env -
    BAZEL_CXXOPTS='-std=c++17'
    LD_LIBRARY_PATH=/home/ec2-user/opt/gcc-9.1.0/lib:/home/ec2-user/opt/gcc-9.1.0/lib64:/home/ec2-user/opt/gcc-9.1.0/lib:/home/ec2-user/opt/gcc-9.1.0/lib64:
    PATH=/home/ec2-user/.cache/bazelisk/downloads/bazelbuild/bazel-4.0.0-linux-x86_64/bin:/home/ec2-user/opt/gcc-9.1.0/bin:/home/ec2-user/opt/gcc-9.1.0/bin:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ec2-user/.local/bin:/home/ec2-user/bin
    PWD=/proc/self/cwd
    PYTHON_BIN_PATH=/usr/bin/python3
    TMPDIR=/tmp
    /home/ec2-user/.cache/bazel/bazel_ec2-user/install/1a4a2fac02d50c77031d44c0d91b8920/linux-sandbox -t 15 -w /home/ec2-user/.cache/bazel/bazel_ec2-user/f9cbf21ed6e3a79982ef4879961c490e/sandbox/linux-sandbox/5050/execroot/com_google_fully_homomorphic_encryption -w /tmp -w /dev/shm -D -- /home/ec2-user/opt/gcc-9.1.0/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-sections -fdata-sections '-std=c++17' -MD -MF bazel-out/k8-opt/bin/transpiler/examples/string_reverse/objs/string_reverse_tfhe/string_reverse_tfhe.pic.d '-frandom-seed=bazel-out/k8-opt/bin/transpiler/examples/string_reverse/objs/string_reverse_tfhe/string_reverse_tfhe.pic.o' -fPIC -iquote . -iquote bazel-out/k8-opt/bin -iquote external/com_google_absl -iquote bazel-out/k8-opt/bin/external/com_google_absl -isystem bazel-out/k8-opt/bin/external/tfhe/libtfhe/include -Wno-sign-compare -Wno-comment '-std=c++17' -O0 -fno-canonical-system-headers -Wno-builtin-macro-redefined '-D__DATE="redacted"' '-D__TIMESTAMP="redacted"' '-D__TIME__="redacted"' -c bazel-out/k8-opt/bin/transpiler/examples/string_reverse/string_reverse_tfhe.cc -o bazel-out/k8-opt/bin/transpiler/examples/string_reverse/_objs/string_reverse_tfhe/string_reverse_tfhe.pic.o 1633081928.551917951: src/main/tools/linux-sandbox.cc:152: calling pipe(2)... 1633081928.551946932: src/main/tools/linux-sandbox.cc:171: calling clone(2)... 1633081928.552163678: src/main/tools/linux-sandbox.cc:180: linux-sandbox-pid1 has PID 13130 1633081928.552235003: src/main/tools/linux-sandbox-pid1.cc:434: Pid1Main started 1633081928.552476950: src/main/tools/linux-sandbox-pid1.cc:176: working dir: /home/ec2-user/.cache/bazel/_bazel_ec2-user/f9cbf21ed6e3a79982ef4879961c490e/sandbox/linux-sandbox/5050/execroot/com_google_fully_homomorphic_encryption 1633081928.552513906: src/main/tools/linux-sandbox-pid1.cc:208: writable: /home/ec2-user/.cache/bazel/_bazel_ec2-user/f9cbf21ed6e3a79982ef4879961c490e/sandbox/linux-sandbox/5050/execroot/com_google_fully_homomorphic_encryption 1633081928.552526605: src/main/tools/linux-sandbox-pid1.cc:208: writable: /tmp 1633081928.552542624: src/main/tools/linux-sandbox.cc:197: done manipulating pipes 1633081928.552597246: src/main/tools/linux-sandbox-pid1.cc:208: writable: /dev/shm 1633081928.552705381: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: / 1633081928.552719983: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /dev 1633081928.552727943: src/main/tools/linux-sandbox-pid1.cc:279: remount rw: /dev/shm 1633081928.552735604: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /dev/pts 1633081928.552746655: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /dev/hugepages 1633081928.552752344: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /dev/mqueue 1633081928.552758295: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /proc 1633081928.552765481: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /proc/sys/fs/binfmt_misc 1633081928.552779817: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys 1633081928.552787776: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/kernel/security 1633081928.552797806: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup 1633081928.552810420: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/systemd 1633081928.552826994: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/devices 1633081928.552863628: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/net_cls,net_prio 1633081928.552879945: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/pids 1633081928.552888437: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/cpu,cpuacct 1633081928.552896837: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/blkio 1633081928.552903057: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/perf_event 1633081928.552911217: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/freezer 1633081928.552923014: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/memory 1633081928.552930637: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/hugetlb 1633081928.552936839: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/cpuset 1633081928.552944826: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/pstore 1633081928.552952452: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/kernel/debug 1633081928.552961061: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /run 1633081928.552968571: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /run/user/1000 1633081928.552976498: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /var/lib/nfs/rpc_pipefs 1633081928.552991629: src/main/tools/linux-sandbox-pid1.cc:279: remount rw: /home/ec2-user/.cache/bazel/_bazel_ec2-user/f9cbf21ed6e3a79982ef4879961c490e/sandbox/linux-sandbox/5050/execroot/com_google_fully_homomorphic_encryption 1633081928.553001690: src/main/tools/linux-sandbox-pid1.cc:279: remount rw: /home/ec2-user/.cache/bazel/_bazel_ec2-user/f9cbf21ed6e3a79982ef4879961c490e/sandbox/linux-sandbox/5050/execroot/com_google_fully_homomorphic_encryption 1633081928.553009078: src/main/tools/linux-sandbox-pid1.cc:279: remount rw: /tmp 1633081928.553014255: src/main/tools/linux-sandbox-pid1.cc:279: remount rw: /dev/shm 1633081928.553035610: src/main/tools/linux-sandbox-pid1.cc:363: calling fork... 1633081928.553148980: src/main/tools/linux-sandbox-pid1.cc:393: child started with PID 2 In file included from /home/ec2-user/opt/gcc-9.1.0/lib/gcc/x86_64-unknown-linux-gnu/9.1.0/../../../../include/c++/9.1.0/x86_64-unknown-linux-gnu/bits/os_defines.h:39, from /home/ec2-user/opt/gcc-9.1.0/lib/gcc/x86_64-unknown-linux-gnu/9.1.0/../../../../include/c++/9.1.0/x86_64-unknown-linux-gnu/bits/c++config.h:524, from /home/ec2-user/opt/gcc-9.1.0/lib/gcc/x86_64-unknown-linux-gnu/9.1.0/../../../../include/c++/9.1.0/type_traits:38, from /home/ec2-user/opt/gcc-9.1.0/lib/gcc/x86_64-unknown-linux-gnu/9.1.0/../../../../include/c++/9.1.0/unordered_map:38, from bazel-out/k8-opt/bin/transpiler/examples/string_reverse/string_reverse_tfhe.cc:1: /usr/include/features.h:376:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp] 376 | # warning _FORTIFY_SOURCE requires compiling with optimization (-O) | ^~~~~~~ gcc: internal compiler error: Segmentation fault signal terminated program cc1plus Please submit a full bug report, with preprocessed source if appropriate. See https://gcc.gnu.org/bugs/ for instructions. 1633081937.316780606: src/main/tools/linux-sandbox-pid1.cc:410: wait returned pid=2, status=0x400 1633081937.316798991: src/main/tools/linux-sandbox-pid1.cc:428: child exited normally with code 4 1633081937.348607750: src/main/tools/linux-sandbox.cc:233: child exited normally with code 4

    opened by ahdach 0
Owner
Google
Google ❤️ Open Source
Google
Homomorphic Encryption PIR Postgres C/C++ Agregate Extension.

MuchPIR Demo Contact The MuchPIR Team: [email protected] What is PIR? Private Information Retrieval refers to the ability to query a database without disc

Escanor Liones 11 Jun 21, 2022
Intel Homomorphic Encryption Acceleration Library for FPGAs

main: development: Intel Homomorphic Encryption Acceleration Library for FPGAs (Intel HEXL for FPGA) Intel ®️ HEXL for FPGA is an open-source library

Intel Corporation 46 Jun 2, 2022
LibSWIFFT - A fast C/C++ library for the SWIFFT secure homomorphic hash function

LibSWIFFT - A fast C/C++ library for the SWIFFT secure homomorphic hash function Official Repository LibSWIFFT is a production-ready C/C++ library pro

Gvili Tech Ltd 21 Jun 19, 2021
FCracker is a command line tool designed to brute force encrypted files like zip, 7z, rar, pdf etc.

FCrack is a command-line tool designed to brute force encrypted files like zip, 7z, rar, pdf, gpg etc.

null 17 Apr 27, 2022
UnrealKey is a tool for automatically finding the AES-256 decryption keys for Unreal Engine 4 encrypted pak files.

UnrealKey UnrealKey is a tool for automatically finding the AES-256 decryption keys for Unreal Engine 4 encrypted pak files.

Devin Acker 22 Apr 24, 2022
Distributed, Encrypted, Fractured File System - A custom distributed file system written in C with FUSE

A custom FUSE-based filesystem that distributes encrypted shards of data across machines on a local network, allowing those files to be accessible from any machine.

Charles Averill 14 May 18, 2022
Decrypt FairPlay encrypted executable binaries on macOS

UnFairPlay Decrypt FairPlay encrypted binaries on macOS when SIP-enabled. By mapping an executable as r-x and then using mremap_encrypted on the encry

subdiox 58 Apr 19, 2022
Encrypted PE Loader Generator

Huan Huan is an encrypted PE Loader Generator that I developed for learning PE file structure and PE loading processes. It encrypts the PE file to be

Furkan Göksel 459 Jun 16, 2022
Retter - A collection of hash functions, ciphers, tools, libraries, and materials related to cryptography & security

Retter - A collection of hash functions, ciphers, tools, libraries, and materials related to cryptography & security.

Maciej A. Czyzewski 72 Jun 23, 2022
Rubicon - a New Custom Encryption Algorithm/Tool

Rubicon - a New Custom Encryption Algorithm/Tool Disclaimer DO NOT use this project for purposes other than legitimate red teaming/pentesting jobs

null 25 Mar 12, 2022
In cryptography, a cipher is an algorithm for performing encryption or decryption.

Cipher 1.0 In cryptography, a cipher is an algorithm for performing encryption or decryption. What can be done using this program? This program can us

null 1 Apr 21, 2022
FractalCrypt - Free cryptoarchiver permitting any number of hidden volumes for deniable encryption

FractalCrypt - Free cryptoarchiver permitting any number of hidden volumes for deniable encryption

Ivan Serov 344 Jun 14, 2022
obfuscated any constant encryption in compile time on any platform

oxorany 带有混淆的编译时任意常量加密 English 介绍 我们综合了开源项目ollvm、xorstr一些实现思路,以及c++14标准中新加入的constexpr关键字和一些模板的知识,完成了编译时的任意常量的混淆(可选)和加密功能。

Chase 79 Jun 27, 2022
Oceantoo is an XOR/LFSR based encryption algorithm

Oceantoo Oceantoo is an XOR/LFSR based encryption algorithm What is an LFSR? A linear-feedback shift register (LFSR) is a method of manipulating a num

Gary Explains 6 Apr 10, 2022
a new encryption algorithm that uses increments instead of XOR

incrypt a new encryption algorithm that uses increments instead of XOR. how to compile for linux: gcc incrypt.c -o incrypt gcc dicrypt.c -o dicrypt ho

man_s_our 1 Nov 24, 2021
inetd-style TLS encryption wrapper

Description The tlswrapper is an TLS encryption wrapper between remote client and local program prog. Is executed from systemd.socket/inetd/tcpserver/

Jan Mojžíš 2 Feb 23, 2022
Transparent file encryption in git

git-crypt - transparent file encryption in git git-crypt enables transparent encryption and decryption of files in a git repository. Files which you c

Andrew Ayer 6.5k Jun 22, 2022
Collection of common encryption.

EasyCipher 概述 EasyCipher收集了几种常见的加密方法的C语言实现,并基于Android平台封装了jni接口。 提供的加密方法包括 AES加密核心部分,不涉及模式和padding,支持128bits和256bits AES/CBC/PKCS5Padding SHA256 HAMC-

Billy Wei 6 Jun 9, 2022