Cryptographic Games

Private Set Intersection you own this product

This project is part of the liveProject series Learn Privacy-Enhancing Techniques with Cryptographic Games
prerequisites
intermediate Rust • basic IntelliJ IDEA Rust plugin
skills learned
implement the computational steps needed for OT and extended OT protocols • implement a Bloom filter and the more advanced garbled Bloom filter
Omer Shlomovits
1 week · 5-7 hours per week · BEGINNER

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


Look inside

In this liveProject, you’ll use the private set-intersection (PSI) protocol to develop a tool which can compare cancer patients for a blind trial without revealing their private details. PSI is a two-party protocol where each party holds a private set that it inputs to the protocol, and outputs a new set that contains only the elements in the intersection. You’ll implement PSI using three different techniques: the oblivious transfer (OT) cryptographic primitive, a standard Bloom filter, and a more complex garbled version of a Bloom filter.

This project is designed for learning purposes and is not a complete, production-ready application or solution.

project author

Omer Shlomovits
Omer Shlomovits (omershlomovits.com) is the co-founder and VP Research of ZenGo (founded 2018), a Tel-Aviv based company building products for consumers in the blockchain space. He runs ZenGo X, a 500+ members research community. He is a member of OpenMined MPC team, applying secure computation to machine learning. He codes mostly in Rust\Go and is passionate about imagining, designing, implementing and attacking complex crypto-systems. His research is aimed to tackle real world, hard problems, using novel cryptography. His focus is on threshold cryptography. In 2019 he co-founded MPC-Alliance, a consortium of 50+ companies collaborating to advance MPC technology. Currently he serve as a board-member and head of the technical committee. He co-founded Zero-Knowledge TLV, a 750+ members applied cryptography community in Israel. This is now part of ZK-Global.

prerequisites

The liveProject is for intermediate Rust developers. To begin this liveProject you will need to be familiar with the following:

TOOLS
  • Intermediate Rust
  • Basic IntelliJ IDEA Rust plugin
TECHNIQUES
  • Basic algorithms
  • Elliptic curve cryptography
  • Encryption and decryption
  • Hashing
  • PRNGs

you will learn

In this liveProject, you’ll explore cryptography for collaborative computation that offers privacy enhancement.

  • Implement the computational steps needed for OT and extended OT protocols
  • Implement a Bloom filter and the more advanced garbled Bloom filter
  • Implement the computations steps needed for a semi-honest PSI protocol

features

Self-paced
You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.

choose your plan

team

monthly
annual
$49.99
$499.99
only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Private Set Intersection project for free