首先下载相关的依赖文件:
sudo apt-get install git
sudo apt-get install g++
sudo apt-get install make
sudo apt-get install cmake
sudo apt-get install libgmp-dev
sudo apt-get install libssl-dev
sudo apt-get install libboost-all-dev
接下来克隆代码库:
git clone https://github.com/encryptogroup/ABY.git --recursive
进入ABY文件夹
cd ABY/
创建一个build文件夹并进入该文件夹
mkdir build && cd build/
执行以下命令:
cmake .. -DABY_BUILD_EXE=On
make
接下来测试一个psi_phasing的例子
编译完成后进入bin文件夹
cd bin/
分拆两个终端,输入以下命令:
./psi_phasing_test -r 0 -n 1024 -b 32 -s 128 -a 127.0.0.1 -p 7769 -g 0
./psi_phasing_test -r 1 -n 1024 -b 32 -s 128 -a 127.0.0.1 -p 7769 -g 0
这两条命令的意思是:
-r 参与方的角色
-n 集合元素大小
-b 元素长度
-s 安全参数
-a IP地址
-p 端口号
-g 使用布尔电路
执行完成后如图所示: