Overview

PETAce-Duet

PETAce-Duet is a collection of general-purpose two-party secure computing protocols. It is one of the crucial building blocks of the framework PETAce.

As implied by the name “Duet”, PETAce-Duet implements various two-party MPC protocols as follows:

  • ABY protocols: arithmetic sharing, boolean sharing, share conversion, and operations over shares (e.g., addition and multiplication over arithmetic shares and bit-wise AND operation over boolean shares).

  • Secure comparison protocols from ABY and Cheetah.

  • Secret shared shuffle. The permutation network will be available in a future release.

  • Homomorphic Encryption (HE): Duet integrates the Paillier cryptosystem to improve two-party secure computation. For example, HE enables efficient alternative solutions to problems such as secure shuffling and linear matrix operations. A generic implementation of the Paillier cryptosystem based on the GMP library is provided in PETAce-Solo. On supported processors, users can switch to the Intel Paillier Cryptosystem Library (IPCL) for extreme performance. We support the conversion between HE ciphertexts and arithmetic shares. As a result, we achieve an “ABH” framework where arithmetic shares, Boolean shares, and HE shares (secret shares encrypted by HE) can be converted to one another efficiently.

  • Fully Homomorphic Encryption (FHE): Duet integrates the BFV scheme to improve two-party Beaver triple generation. The underlying BFV functionalities depend on Microsoft SEAL.

The core functionalities of Duet are written in C++ to provide the best performance. A Python interface is provided in PETAce.