包成功的Linux(Ubuntu)部署OpenFHE同态加密库教程

2 篇文章 0 订阅
2 篇文章 0 订阅

0 OpenFHE介绍

        如果你能在本站搜索到我得教程,想必对OpenFHE有一定的了解,这里就不作过多的赘述了,复制一段来自OpenFHE官网翻译过来的介绍:OpenFHE 是一个开源项目,它为领先的后量子全同态加密 (FHE) 方案提供高效、可扩展的实现。

        话不多说,直接开搞。

1 所需环境

1.1 系统&版本

        本文使用的部署环境为Ubuntu22.04.4,如果你不知道你正在用的Ubuntu版本,可以通过这个命令查看:

lsb_release -a  #查看Ubuntu版本号

        输入命令后可以看到如下结果:

        建议使用最新版Ubuntu,下载地址:Ubuntu系统下载 | Ubuntu,因为安装OpenFHE要求clang的版本至少为clang-11,而我试验过的Ubuntu20系列还在用clang-10clang更新起来非常麻烦,而且教程少,容易报错,而且报错还搜不到解决方法,所以在这里推荐最新版Ubuntu,按照我的教程来,就能安装成功。

1.2 必备组件&版本

1.2.1 G++&cmake

        OpenFHE官网中对于Linux G++并没有版本要求,一般使用apt-get下载的都是可用的最新版。

        使用下面的代码来安装g++和cmake。

sudo apt-get install build-essential #这里面包含了g++
sudo apt-get install cmake

        安装成功后查看G++版本

g++ --version

1.2.2 clang

        通常,g++ 是 Linux 的默认编译器,但也可以安装 clang++。安装clang++的版本必须高于11.0.0,不然在cmake编译的时候会显示clang版本过低。

        如果安装旧版本的clang,可能还需要安装OpenMP, 官网中给出的安装代码如下:

sudo apt-get install clang
sudo apt-get install libomp5
sudo apt-get install libomp-dev

         安装完成后运行下面的两个命令,将clang/clang++配置为C和C++的默认编译器(这里给出的路径为默认路径,如果不是按照默认路径安装的更改为安装路径即可)。这里以clang11为例,安装其他版本的把数字改为对应版本即可。

        代码如下:

export CC=/usr/bin/clang-11
export CXX=/usr/bin/clang++-11

         官网上也给出了clang默认版本的配置方法,但是这个方法我尝试了之后发现有报错,这里也给出来,如果能帮到你那就更好了。

        注意!如果你已经配置过其他版本,不要把接下来的代码贴过去,会报错!!!

        对于clang的默认版本,例如Ubuntu20.04中的v6:

export CC=/usr/bin/clang
export CXX=/usr/bin/clang++

         到这里,安装OpenFHE的前置组件就已经准备就绪了,接下来就可以开始安装OpenFHE本体了!

 2 OpenFHE安装包下载

        现在网上的教程比较少,有部分教程说可以在csdn上先下载OpenFHE的main文件,但是main文件里面third-party子文件是空的,还需要再单独下载third-party文件内容,然后再导入进去,我试了两次,分别用了CentOS和Ubuntu,都没有成功,最后通过直接git clone的方式成功了,代码如下:

git clone --recurse-submodules https://github.com/openfheorg/openfhe-development.git

        如果没有安装git的话可以用apt-get安装一下:

sudo apt-get install git

        这里我直接把OpenFHE的安装包下载到根目录了,可以根据自己的情况下载到其他目录。

2.1 报错解决

        操作过程中,使用git克隆安装包时出现了这个报错:

        搜了一下,只要两条代码即可解决,原理是解除http和https的全局代理

git config --global --unset http.proxy
git config --global --unset https.proxy

3 OpenFHE安装

3.1 使用cmake编译OpenFHE安装包

        进入openfhe-development的安装路径,我是在根目录安装的,你需要找到你i的安装路径然后进入openfhe-development文件夹中,接下来需要创建一个名为“build”的文件夹,然后进入build文件夹,最后用cmake编译生成。

cd openfhe-development
mkdir build
cd build
cmake ..

        接下来需要安装autoconf,它会在cmake编译时启用并生成编译文件。

sudo apt-get install autoconf

        然后通过运行make来构建OpenFHE。

make

        运行过程如图:

        读条完毕之后,出现这个提示就代表成功了:

        最后在系统目录中安装OpenFHE。

make install

         结果如图:

3.2 测试安装完成情况

        运行单元测试以确保所有功能按预期运行:

make testall

         结果如下:

         运行示例代码进行测试:

bin/examples/pke/simple-integers

         要删除 make 生成的文件,可以执行:

make clean

         要更改编译器,例如,从 g++ 更改为 clang++,或完全删除任何 cmake/make 构建文件,可以删除“build”文件夹并重新创建它。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值