Overview

The architecture design, features, and performance of PETAce.

PETAce

Privacy-Enhancing Technologies via Applied Cryptography Engineering (PETAce) is a framework for privacy-preserving computing. It provides strong privacy guarantee by analytzing and computing cryptographically pseudonymized data without revealing hidden sensitive information. It consists of the following parts:

  • The “user interface” layer provides users with high-level programming interfaces for collaborative data analysis (SecureNumpy), joint SQL query (SecureSQL), and privacy-preserving machine learning (SecureML).

  • The “virtual machine” layer is responsible for parsing high-level language into secure multi-party computation (MPC) operators, and performing automatic optimization and scheduling.

  • The “protocol” layer includes secure multi-party computation protocols, such as general-purpose two-party secure computation protocols, privacy set intersection, and privacy information retrieval, etc.

  • The “primitive” layer consists of standard cryptographic algorithms and protocols, differential privacy mechanisms, and abstract network interfaces, etc.

PETAce enables fast prototyping of ideas based on privacy-enhancing technologies, and we plan to integrate state-of-the-art research results into the PETAce in future releases. Its core modules are implemented in C++ and are modularized into the following repositories.

  • PETAce-Solo implements primitive hashing, encryption, and randomness generation algorithms performed by one party.

    • Hash functions: SHA-256, SHA3-256, and BLAKE2b
    • Psuedo-random number generators based on: SHAKE_128, BLAKE2Xb, and AES_ECB_CTR.
    • Sampling of bytes, 32-bit unsigned integers, and 64-bit unsigned integers from the uniform distribution
    • Prime field elliptic curve group arithmetics including hash-to-curve
    • Hashing tables: Cuckoo hashing and simple hashing
    • Partially homomorphic encryption: the Paillier cryptosystem
  • PETAce-Verse includes frequently used cryptographic subprotocols such as oblivious transfer and oblivious shuffling.

  • PETAce-Duet abstracts general-purpose two-party secure computing operator protocols.

    • Protocols from ABY
    • Secure comparison protocols from Cheetah
    • The secure random shuffling protocol from Secret-Shared Shuffle
    • Protocols that convert arithmetic shares to and from ciphertexts of the Paillier cryptosystem
  • PETAce-SetOps archives several protocols that perform private set operations.

    • An ECDH-PSI protocol based on Elliptic-Curve Diffie-Hellman
    • The KKRT-PSI protocol based on Oblivious Pseudorandom Functions (OPRF)
    • A private join and compute protocol based on Circuit-PSI
  • PETAce-Network provides a preliminary interface of network communication.

    • Network abstract interface
    • Socket network implementation
  • Python API provides Python APIs such as SecureNumpy, SecureML, SecureSQL, and SetOps.

Last modified September 10, 2024 : petace-verse (0548b3b)