Skip to content

Commit cf9df17

Browse files
authored
Add Cursive's PSI deployments (#14)
* add post * Update 2025-01-26-Cursive Consumer Private Overlap.md
1 parent f52b9a9 commit cf9df17

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

_data/authors.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,8 @@ remco:
4444
url: https://2π.com/
4545
twitter: recmo
4646

47+
vivek:
48+
name: Vivek Bhupatiraju
49+
url: https://vivs.wiki
50+
twitter: viv_boop
4751
# Add new authors here
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
title: Cursive Consumer Private Overlap
3+
date: 2025-01-26 12:00:00 -0800
4+
categories: [Consumer] [Human connection]
5+
toc: true
6+
image:
7+
path: https://i.imgur.com/wK895JJ.gif
8+
author: vivek
9+
---
10+
11+
Cursive built demos of private set intersection between two consumer's sets of personal data: contacts, event attendance, emails, personality quizzes, hiring compatibility and more.
12+
13+
The initial demos used a combination of MPC and FHE implemented in https://github.com/RiverRuby/2P-PSI. It uses interactive multi-party BFV to do a dot-product between two bitvectors to discover overlap. This was deployed at [ZKSummit11](https://www.cursive.team/blog/zk-summit) over contacts data collected with NFC, and the [Signature Singularity Residency](https://sigsing.vercel.app/) over event attendance data collected from your email.
14+
15+
The next demo used another combination of MPC and FHE implemented in https://github.com/cursive-team/pz-hiring. It uses non-interactive multi-party FHEW using the [Phantom-zone](https://github.com/gausslabs/phantom-zone) VM, which enabled more complex overlap logic. Specifically it privately checks if a candidate's salary requirements are below a recruiter's salary budget, detecting compatibility without revealing other information.
16+
17+
The final demo used a simple scheme involving computing a HMAC of the data label alongside a shared secret generated with ECDH. This serves as a PRF for the data. The HMACs for a pair Alice and Bob would be stored on a server, and a server would be trusted to check which HMACs overlap without colluding with either party to break the other party's privacy. This was implemented in https://github.com/cursive-team/connections.
18+
19+
### Code
20+
21+
- Private set intersection over bitvetors: https://github.com/RiverRuby/2P-PSI
22+
- Private hiring matcher: https://github.com/cursive-team/pz-hiring
23+
- HMAC / PRF: https://github.com/cursive-team/connections
24+
25+
### Presentation
26+
27+
- Digital pheromones (a larger concept beyond just private overlap): https://app.devcon.org/schedule/LMCG3V

0 commit comments

Comments
 (0)