本篇运行文档为论文Circuit-PSI With Linear Complexity via Relaxed Batch OPPRF的代码执行过程记录
代码地址:https://github.com/shahakash28/2PC-Circuit-PSI
首先对其进行克隆:
git clone https://aka.ms/2PC-Circuit-PSI --recursive
我这里出现了第一个错误
原因是我直接拿的是论文里面给的代码地址进行的克隆,原文链接已经更改,所以使用新的链接重新克隆:
git clone https://github.com/shahakash28/2PC-Circuit-PSI --recursive
完成以后查看测试所需要的依赖:
g++ (version >=8)
libboost-all-dev (version >=1.74)
libgmp-dev
libssl-dev
libntl-dev
pkg-config
libglib2.0-dev
注意这些依赖缺一不可,运行前需要对其一一检测。
然后我们进入到2PC-Circuit-PSI文件夹内创建一个build文件,并进入build文件夹,执行cmake …:
cd 2PC-Circuit-PSI/
mkdir build
cd build/
cmake ..
等待其完成
然后执行make,或者make -j for faster compilation
make
等待其完成
然后就可以对代码进行测试了。
测试一下PSM2的协议:
其中一些参数所代表的含义:
-r 所代表的角色(0为服务器,1为客户端)
-a 代表IP地址
-p 代表端口号
-n 代表输入集合元素的数量
-b 代表比特长度
-m 代表基数参数,也就是每组多少比特
-y 代表执行的是论文中的哪个协议(PSM1/PSM2)