网址:libote
打开readme.txt文档可以发现:
要求cmake的版本在3.15以上,但是克隆完代码,发现需要cmake3.18版本。
使用sudo apt install cmake
得到的cmake版本为3.16.0,所以建议去官网先更新最新版本的cmake。
我写了一个更新cmake的教程:cmake安装教程
按照步骤一步一步来就可以了
首先克隆代码:
git clone https://github.com/osu-crypto/libOTe.git --recursive
使用–recursive的原因是循环克隆,防止有些文件克隆不完整。
然后使用
cd libOTe
进入libOTe文件夹
打开终端输入:
python3 build.py --all --boost --sodium
我这里使用的是python3版本,如果是更早的版本,可以直接用python。
第一次报错:
无法访问这个网站,这个问题我遇到了好多次,都是无法访问某个网站,换成手机网络就好了。我用的是校园网,换成了手机网络,继续跑:
可以看到,已经在重新构建了。
等待配置就好了。过程可能会需要十分钟。
这里就已经跑完了。上面有一个警告,说delta这个变量没有使用,直接忽略。然后去测试相关的代码示例,先去找可执行程序frontend_libOTe.exe。它在libOTe/out/build/linux/frontend文件夹里面,进入到这个文件夹中:
绿色的就是可执行文件了。使用命令:
./frontend_libOTe
可以看到该协议的功能:
使用命令:
./frontend_libOTe -u
测试所用用例的运行时间:
跳过个都是关于电路的协议,按照配置文档需要设置ENABLE_CIRCUITS=true
python3 build.py -D ENABLE_CIRCUITS=true
继续等待大概十分钟。
配置完成重新运行frontend_libOTe.exe程序即可。
补充:如果编译失败,比如说使用了错误的编译器,想要重新编译该怎么办?
在libOTe文件夹下输入以下命令即可。
rm -rf out/build
rm -f CMakeCache.txt
rm -rf CMakeFiles