同态加密库TFHE的安装步骤详解

按照TFHE的要求,其目前只能安装在 Debian/Ubuntu 上,另外TFHE采用C++编写,以Ubuntu为例,因此需要先在Ubuntu上安装好c++编译环境,此外还有编译工具cmake。

C++编译环境的安装—GCC编译器

GNU编译器集合(GCC)是C,C ++,Objective-C,Fortran,Ada,Go和D编程语言的编译器和库的集合。许多开源项目包括GNU工具和Linux内核都是用GCC编译的。

执行以下步骤安装GCC Compiler Ubuntu 18.04:

01、首先更新包列表:

sudo apt update

在这里插入图片描述
02、键入以下命令安装build-essential软件包:

sudo apt install build-essential

该命令将安装一堆新包,包括gcc,g ++和make。

03、要验证GCC编译器是否已成功安装,请使用gcc --version命令打印GCC版本:

gcc --version

Ubuntu 18.04存储库中可用的默认GCC版本是7.4.0:

输出

gcc (Ubuntu 7.4.0-1ubuntu1~18.04) 7.4.0
Copyright © 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
在这里插入图片描述
就这样。 GCC现已安装在您的系统上,您可以开始使用它。

如何使用?

假设此时的usr/local/test文件夹下有一个hello.cpp文件,采用命令:

gcc hello.c -o hello

这将在运行该命令的同一目录中创建名为hello的二进制文件。
执行hello程序:

./hello

至此,编译环境安装完成。
说明:此gcc编译环境的安装方式参考liunx公社的文章,勿喷!
原文链接https://www.linuxidc.com/Linux/2019-06/159059.htm

TFHE库的安装

01、首先安装cmake
命令:

sudo apt-get install build-essential cmake cmake-curses-gui

02、从git上拉取TFHE的源码包

#clone the tfhe repository
git clone --recurse-submodules --branch=master https://github.com/tfhe/tfhe.git
cd tfhe

03、创建一个空的构建文件夹并配置构建选项,例如使用ccmake配置工具
先进入到tfhe的源码包文件夹下,再使用命令

#configure the build options
mkdir build
cd build
ccmake ../src

注意这里的配置构建,按照自身的要求来设置
从配置工具中,您可以选择安装文件夹 ( CMAKE_INSTALL_PREFIX)。默认值为/usr/local. 编译完成后,所有库都将安装到 CMAKE_INSTALL_PREFIX/lib,头文件将安装到
CMAKE_INSTALL_PREFIX/include.
建议使用默认值。
本人在配置时,采用了自定义路径,结果安装成功,但无法引用tfhe的库文件。
一旦退出配置工具(当然选择配置和生成),您就可以构建和安装库。

#build the library
make

#install the library
make install #(with sudo if the install prefix requires root) 

无报错,表示安装成功!

为了能在任意的文件夹下都能使用该库,需要做一些类似于windows中的环境变量的配置

#configure environment variables
TFHE_PREFIX=/usr/local #the prefix where you installed tfhe
export C_INCLUDE_PATH=$C_INCLUDE_PATH:$TFHE_PREFIX/include
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:$TFHE_PREFIX/include
export LIBRARY_PATH=$LIBRARY_PATH:$TFHE_PREFIX/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TFHE_PREFIX/lib

为了使这些更改持久化,可以在.bashrc或.profile文件中定义这些变量 。
在profile中定义之后,记得重启机器,或者使用命令重新加载profile文件

source ./profile
如何使用?

要在这些环境变量的终端上编译 C++ 文件,可以执行

# compile a c++ source code
g++ your-program.cpp -o your-program -ltfhe-spqlios-fma 

如果有 C 源文件,则可以执行以下操作:

# compile a c source code
gcc your-program.c -o -ltfhe-spqlios-fma 
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值