Skip to content
@TNO-MPC

TNO - PET Lab - secure Multi-Party Computation (MPC)

Formerly known as TNO MPC Lab, now part of TNO PET Lab

TNO PET Lab - secure Multi-Party Computation (MPC)

The TNO PET Lab is a cross-project initiative initiated to improve the overall quality, generality, and reusability in the development of Privacy-Enhancing Technologies (PET) solutions developed in the numerous (past, ongoing, and future) TNO projects that involve PET. It consists of generic software components, procedures, and functionalities developed and maintained on a regular basis to facilitate and aid in the development of PET solutions. The lab strives to boost the development of new protocols and solutions, and decrease time-to-market.

Technologies

Within the TNO PET Lab we work with various privacy-enhancing technologies. For the sake of structure, every technology is bundled in its own GitHub organisation.

Technology GitHub organisation PyPI
secure Multi-Party Computation (MPC) TNO-MPC tno.mpc
Federated Learning (FL) TNO-FL tno.fl
Synthetic Data Generation (SDG) TNO-SDG tno.sdg
Zero-Knowledge Proofs (ZKP) TNO-ZKP tno.zkp
Generic PET Lab TNO-PET tno.pet

MPC

MPC is a subfield of cryptography and an umbrella term consisting of cryptographic techniques that aim to jointly perform computations in a privacy-preserving manner. More precisely, MPC strives to created methods to enable the joint computation of a function over inputs that are distributed among different parties whilst keeping the inputs private. Parties want to ‘learn’ the results of a joint computation without having to share, reveal, or publish, the data that is needed to perform such a computation.

For example, by applying MPC technology, distributed datasets can be securely utilised in the training and evaluation of AI and machine learning models.

Open Source

We believe that opening up the mysteries of advanced cryptography benefits society. Conform the Kerckhoff’s principle the security of the developed MPC solutions does not rely on secrecy but on mathematical principles. The TNO MPC Lab supports Kerckhoff’s principle by publishing open source as a way to validate the theoretical/mathematical correctness of cryptographic protocols as well as their implementations.

The mostly used license for TNO PET Lab components is the Apache License, Version 2.0. This allows for easy adoption and flexible usage without enforcing a specific license to (end-)users and contributors of the codebase. We are always open to questions on, suggestions for and contributions to our codebase.

PET Lab collaboration PET Lab collaboration

Pinned Loading

  1. protocols.distributed_keygen protocols.distributed_keygen Public

    TNO PET Lab - secure Multi-Party Computation (MPC) - Protocols - Distributed Keygen

    Python 26 4

  2. mpyc.secure_learning mpyc.secure_learning Public

    TNO PET Lab - secure Multi-Party Computation (MPC) - MPyC - Secure Learning

    Python 3

  3. protocols.secure_inner_join protocols.secure_inner_join Public

    TNO PET Lab - secure Multi-Party Computation (MPC) - Protocols - Secure Inner Join

    Python

  4. encryption_schemes.paillier encryption_schemes.paillier Public

    TNO PET Lab - secure Multi-Party Computation (MPC) - Encryption Schemes - Paillier

    Python 5

  5. protocols.secure_comparison protocols.secure_comparison Public

    TNO PET Lab - secure Multi-Party Computation (MPC) - Protocols - Secure Comparison

    Python 3 1

  6. communication communication Public

    TNO PET Lab - secure Multi-Party Computation (MPC) - Communication

    Python 6

Repositories

Showing 10 of 20 repositories
  • protocols.secure_comparison Public

    TNO PET Lab - secure Multi-Party Computation (MPC) - Protocols - Secure Comparison

    TNO-MPC/protocols.secure_comparison’s past year of commit activity
    Python 3 Apache-2.0 1 0 0 Updated Nov 29, 2024
  • protocols.kaplan_meier Public

    TNO PET Lab - secure Multi-Party Computation (MPC) - Protocols - Kaplan-Meier

    TNO-MPC/protocols.kaplan_meier’s past year of commit activity
    Python 2 Apache-2.0 0 0 0 Updated Nov 29, 2024
  • protocols.secure_inner_join Public

    TNO PET Lab - secure Multi-Party Computation (MPC) - Protocols - Secure Inner Join

    TNO-MPC/protocols.secure_inner_join’s past year of commit activity
    Python 0 Apache-2.0 0 0 0 Updated Nov 29, 2024
  • protocols.distributed_keygen Public

    TNO PET Lab - secure Multi-Party Computation (MPC) - Protocols - Distributed Keygen

    TNO-MPC/protocols.distributed_keygen’s past year of commit activity
    Python 26 Apache-2.0 4 2 0 Updated Nov 29, 2024
  • encryption_schemes.shamir Public

    TNO PET Lab - secure Multi-Party Computation (MPC) - Encryption Schemes - Shamir

    TNO-MPC/encryption_schemes.shamir’s past year of commit activity
    Python 1 Apache-2.0 0 0 0 Updated Nov 29, 2024
  • encryption_schemes.dgk Public

    TNO PET Lab - secure Multi-Party Computation (MPC) - Encryption Schemes - DGK

    TNO-MPC/encryption_schemes.dgk’s past year of commit activity
    Python 2 Apache-2.0 0 0 0 Updated Nov 29, 2024
  • encryption_schemes.paillier Public

    TNO PET Lab - secure Multi-Party Computation (MPC) - Encryption Schemes - Paillier

    TNO-MPC/encryption_schemes.paillier’s past year of commit activity
    Python 5 Apache-2.0 0 0 0 Updated Nov 29, 2024
  • communication Public

    TNO PET Lab - secure Multi-Party Computation (MPC) - Communication

    TNO-MPC/communication’s past year of commit activity
    Python 6 Apache-2.0 0 0 0 Updated Oct 16, 2024
  • encryption_schemes.templates Public

    TNO PET Lab - secure Multi-Party Computation (MPC) - Encryption Schemes - Templates

    TNO-MPC/encryption_schemes.templates’s past year of commit activity
    Python 1 Apache-2.0 0 0 0 Updated Oct 16, 2024
  • encryption_schemes.utils Public

    TNO PET Lab - secure Multi-Party Computation (MPC) - Encryption Schemes - Utils

    TNO-MPC/encryption_schemes.utils’s past year of commit activity
    Python 1 Apache-2.0 0 0 0 Updated Oct 16, 2024