libPSI是“隐私保护集合求交”的开源库(其实还包含其他算法)。下文是为方便部署测试环境制作容器镜像的脚本
Dockerfile
FROM ubuntu
MAINTAINER luckfu@gmail.com
ENV PATH=/usr/local/cmake/bin:/usr/local/bin:/usr/bin:$PATH \
C_INCLUDE_PATH=/usr/local/include/:$C_INCLUDE_PATH \
CPLUS_INCLUDE_PATH=/usr/local/include/:$C_INCLUDE_PATH \
LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH \
LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATH
RUN apt -y update \
&& apt install gcc g++ m4 openssl libssl-dev libsodium-dev libtool python3 git wget lzip make -y \
&& apt-get clean \
&& ln -s /usr/bin/python3 /usr/bin/python \
&& echo "start cmake \n ------------------------------ \n" \
&& wget https://github.com/Kitware/CMake/releases/download/v3.21.3/cmake-3.21.3.tar.gz \
&& tar xvf cmake-3.21.3.tar.gz \
&& cd cmake-3.21.3 \
&& ./bootstrap --prefix=/usr/local/ \
&& make && make install \
&& cd .. \
&& ln -s /usr/local/bin/cmake /usr/bin/cmake \
&& rm -rf cmake-3.21.3 cmake-3.21.3.tar.gz\
&& echo "start libPSI \n -------------------------------\n" \
&& git clone https://github.com/osu-crypto/libPSI.git \
&& cd libPSI \
&& python build.py \
&& ./out/build/linux/frontend/frontend.exe -u \
&& ln -s /libPSI/out/build/linux/frontend/frontend.exe /usr/bin/frontend.exe
构建镜像:
docker build -t libpsi . --no-cache
运行测试:
docker run --rm -it libpsi frontend.exe -u