Skip to content

Vomvas/Selest

Repository files navigation

musical-guide

SELEST: Secure Elevation Estimation of Drones using Multiparty Computation

Requirements and setup

  • Python3.8: To run the SELEST high level API Python3.8 is required.

  • Clone and install MP-SPDZ, mpir and requirements according to the installation instructions:

git clone https://github.com/data61/MP-SPDZ.git --recurse-submodules

  • Copy CONFIG.mine, libraries and circuit files into the appropriate directories.
cp mp_spdz_files/CONFIG.mine ./MP_SPDZ_online
cp mp_spdz_files/types.py ./MP_SPDZ_online/Compiler
cp mp_spdz_files/complex.py ./MP_SPDZ_online/Compiler
cp mp_spdz_files/qr_decomposition.py ./MP_SPDZ_online/Compiler
cp mp_spdz_files/selest.mpc ./MP_SPDZ_online/Programs/Source
  • Compile MP-SPDZ protocols.

Protocols are compiled according to MP-SPDZ instructions (https://github.com/data61/MP-SPDZ.git)

For convenience we provide a high level API to do so.

SELEST high level API

We provide a core module that handles the MP-SPDZ preparation, and execution.

  • Compile MP-SPDZ protocols

This builds the virtual machine for various MP-SPDZ protocols. For example, for mascot and shamir:

# -t specifies number threads for `make`
python3 setup_mpspdz.py -b mascot shamir -t 2
  • Online setup

This generates the required preprocessed data for the online phase. Note that -DINSECURE must be specified in the mp-spdz CONFIG.mine otherwise this will fail. More details can be found in the MP-SPDZ instructions (https://github.com/data61/MP-SPDZ.git).

# -n specifies number of players
python3 setup_mpspdz.py --setup-online -n 5
  • Execute detection

Useful options (--help)

--raw-samples-dir: path to directory with raw samples
--detection-mode: opt_music, selest (default)
--single-output: denotes conditioned output instead of coarse (default: false)
--scaling-factor: scales inputs according to profiling (default: 25)
--nparties: parties for the MPC evaluation
--net-lat: network latency in ms (RTT=2*net-lat)

For example:

python3 ../secure_detection.py --raw-samples-dir ../data/real_doa90 --scaling-factor 30

Note: We found that --scaling-factor 30 works best for the given input data.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published