Skip to content

Releases: data61/MP-SPDZ

Distributed key generation for homomorphic encryption with active security

Choose a tag to compare

@mkskeller mkskeller released this 23 Feb 10:46
  • Distributed key generation for homomorphic encryption with active security similar to Rotaru et al.
  • Homomorphic encryption parameters more similar to SCALE-MAMBA
  • Fixed security bug: all-zero secret keys in homomorphic encryption
  • Fixed security bug: missing check in binary Rep4
  • Fixed security bug: insufficient "blaming" (covert security) in CowGear and ChaiGear due to low default security parameter

Maintenance

Choose a tag to compare

@mkskeller mkskeller released this 21 Jan 01:07
  • Infrastructure for random element generation
  • Programs generating as much preprocessing data as required by a particular high-level program
  • Smaller binaries
  • Cleaning up code
  • Removing unused virtual machine instructions
  • Fixed security bug: wrong MAC check in SPDZ2k input tuple generation

Various improvements

Choose a tag to compare

@mkskeller mkskeller released this 11 Dec 06:09
  • Virtual machines automatically use the modulus used during compilation
  • Non-linear computation modulo a prime without large gap in bit length
  • Fewer communication rounds in several protocols

Rep4, SPDZ-wise, MNIST training

Choose a tag to compare

@mkskeller mkskeller released this 28 Oct 03:38
  • Rep4: honest-majority four-party computation with malicious security
  • SY/SPDZ-wise: honest-majority computation with malicious security based on replicated or Shamir secret sharing
  • Training with a sequence of dense layers
  • Training and inference for multi-class classification
  • Local share conversion for semi-honest protocols based on additive secret sharing modulo a power of two
  • edaBit generation based on local share conversion
  • Optimize exponentiation with local share conversion
  • Optimize Shamir pseudo-random secret sharing using a hyper-invertible matrix
  • Mathematical functions (exponentiation, logarithm, square root, and trigonometric functions) with binary circuits
  • Direct construction of fixed-point values from any type, breaking sfix(x) where x is the integer representation of a fixed-point number. Use sfix._new(x) instead.
  • Optimized dot product for sfix
  • Matrix multiplication via operator overloading uses VM-optimized multiplication.
  • Fake preprocessing for daBits and edaBits
  • Fixed security bug: insufficient randomness in SemiBin random bit generation.
  • Fixed security bug: insufficient randomization of FKOS15 inputs.
  • Fixed security bug in binary computation with SPDZ(2k).

Various improvements

Choose a tag to compare

@mkskeller mkskeller released this 24 Aug 16:52
  • Streamline inputs to binary circuits
  • Improved private output
  • Emulator for arithmetic circuits
  • Efficient dot product with Shamir's secret sharing
  • Lower memory usage for TensorFlow inference
  • This version breaks bytecode compatibilty.

Half-gate garbling, native 2D convolution, TensorFlow inference

Choose a tag to compare

@mkskeller mkskeller released this 15 Jun 07:55
  • Half-gate garbling
  • Native 2D convolution
  • Inference with some TensorFlow graphs
  • MASCOT with several MACs to increase security

Maintenance

Choose a tag to compare

@mkskeller mkskeller released this 08 May 13:16
  • Possibility of using global keyword in loops instead of MemValue
  • IEEE754 floating-point functionality using Bristol Fashion circuits

Bristol Fashion, Soho

Choose a tag to compare

@mkskeller mkskeller released this 02 Apr 08:16
  • Bristol Fashion circuits
  • Semi-honest computation with somewhat homomorphic encryption
  • Use SSL for client connections
  • Client facilities for all arithmetic protocols

edaBits, ChaiGear, TopGear, CCD

Choose a tag to compare

@mkskeller mkskeller released this 20 Mar 10:36
  • Faster conversion between arithmetic and binary secret sharing using extended daBits
  • Optimized daBits
  • Optimized logistic regression
  • Faster compilation of repetitive code (compiler option -C)
  • ChaiGear: HighGear with covert key generation
  • TopGear zero-knowledge proofs
  • Binary computation based on Shamir secret sharing
  • Fixed security bug: Prove correctness of ciphertexts in input tuple generation
  • Fixed security bug: Missing check in MASCOT bit generation and various binary computations

Mixed computation, binary computation with XOR-based MACs

Choose a tag to compare

@mkskeller mkskeller released this 23 Dec 19:17
  • Mixed circuit computation with secret sharing
  • Binary computation for dishonest majority using secret sharing as in FKOS15
  • Fixed security bug: insufficient OT correlation check in SPDZ2k
  • This version breaks bytecode compatibility.