Privacy Preserving Convolutional Neural Network using Homomorphic Encryption for secure inference
Privacy Preserving CNN Inference over Homomorphic Encryption
boost::multi_array
& boost::program_options
)[Build and run using Docker]
[Model training] (Python)
You can build by executing the following commands:
[using Docker]
$ bash build_docker.sh
[manualy]
$ git submodule update -i
$ mkdir build && cd build
$ cmake ..
$ make
following files generated.
File | Content |
---|---|
build/ppcnn/ppcnn_client/libppcnn_client.so |
Client library |
build/ppcnn/ppcnn_server/libppcnn_server.so |
Server library |
build/ppcnn/ppcnn_share/libppcnn_share.so |
Shared library |
build/stdsc/stdsc/libstdsc.so |
stdsc library (see: stdsc/README.md) |
demo/client/client |
Client demo app |
demo/server/server |
Server demo app |
[using Docker]
$ bash run_container.sh start
$ xhost local:
$ docker exec -it pp-cnn bash
[root@xxxxxxxx PP-CNN]# bash demo.sh
$ bash run_container.sh stop
[manually]
$ bash demo.sh
The demo app consists of two processes: Client and Server. These processes communicate as shown in the following figure.
Usage: ./client [-D dataset] [-M model] [-O optimize] [-A activation] [-C config]
Usage: ./server [-P port] [-Q max_queries] [-R max_results] [-L max_result_lifetime_sec]
Model training code (Python) is in plaintext_experiment/
ex) MNIST dataset
$ cd plaintext_experiment/mnist
$ python HCNN.py --da
$ cd doc && doxygen
see doc/html/index.html
Copyright 2020 Yamana Laboratory, Waseda University Supported by JST CREST Grant Number JPMJCR1503, Japan.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.