Yao's protocol β set intersection is a proof of concept implementation for the secure multi-party computation of the intersection between sets of 32-bit integers.
The implementation is based on Yao's protocol (aka garbled circuits), one of the first protocols for secure multi-party computation.
Its Python implementation is taken from this repository, which I modified to implement the free-XOR optimization, a variant that makes the computation much more efficient for this particular function.
You can read the full report here, where I describe my choices for the implementation as well as instructions on how to run the code.