Zero-Knowledge Matchmaker

This Demonstration illustrates a zero-knowledge protocol for matchmaking. Alice and Bob indicate whether they like each other and then apply the matching protocol. Under this protocol, the only information revealed is whether there is a match, nothing more. In particular, if the liking is not mutual, it is not revealed who disliked whom.
  • Contributed by: Tom Verhoeff
  • (Eindhoven University of Technology, 2014)


  • [Snapshot]
  • [Snapshot]
  • [Snapshot]
  • [Snapshot]
  • [Snapshot]
  • [Snapshot]
  • [Snapshot]
  • [Snapshot]
  • [Snapshot]
  • [Snapshot]
  • [Snapshot]
  • [Snapshot]


The protocol used in this Demonstration is a variant of [1]. It involves five cards of two types: one type has two half-disks; the other type has a circular line (annular segment).
One half-disk card is neutral. Alice and Bob each have two cards, one of each type. Alice and Bob secretly encode their own choices by forming an "arrow" pointing at the other for "like" and pointing away from the other for "not like." They then hide their encoding, assemble the five pieces into a complete disk, randomly spin it, and reveal the result.
By the design of the protocol, only two kinds of results are possible, modulo rotation: there are either three consecutive half-disk cards and two consecutive line cards, or not. In the latter case, there are exactly two consecutive half-disk cards, with the remaining half-disk card appearing between the two isolated line cards. The result with three consecutive half-disk cards corresponds to a match (Alice and Bob like each other).
By design of the card shapes, the pattern with three consecutive half-disks looks like a smiley, and the other looks sort of like a surprised face.
In this Demonstration, Alice and Bob make their choices through their respective setter bars. The match slider steps through the secure matching process: hiding the card faces, assembling the five cards into a disk, zooming in, spinning the disk to obfuscate the choices, and revealing the result. The "peek" checkbox can be used to peek under the hood and see more clearly what is happening.
[1] B. den Boer, "More Efficient Match-Making and Satisfiability: The Five Card Trick," Advances in Cryptology—EUROCRYPT ’89 (Lecture Notes in Computer Science), Vol. 434, 1990 pp. 208–217. doi:10.1007/3-540-46885-4_ 23.
    • Share:

Embed Interactive Demonstration New!

Just copy and paste this snippet of JavaScript code into your website or blog to put the live Demonstration on your site. More details »

Files require Wolfram CDF Player or Mathematica.

Mathematica »
The #1 tool for creating Demonstrations
and anything technical.
Wolfram|Alpha »
Explore anything with the first
computational knowledge engine.
MathWorld »
The web's most extensive
mathematics resource.
Course Assistant Apps »
An app for every course—
right in the palm of your hand.
Wolfram Blog »
Read our views on math,
science, and technology.
Computable Document Format »
The format that makes Demonstrations
(and any information) easy to share and
interact with.
STEM Initiative »
Programs & resources for
educators, schools & students.
Computerbasedmath.org »
Join the initiative for modernizing
math education.
Step-by-Step Solutions »
Walk through homework problems one step at a time, with hints to help along the way.
Wolfram Problem Generator »
Unlimited random practice problems and answers with built-in step-by-step solutions. Practice online or make a printable study sheet.
Wolfram Language »
Knowledge-based programming for everyone.
Powered by Wolfram Mathematica © 2017 Wolfram Demonstrations Project & Contributors  |  Terms of Use  |  Privacy Policy  |  RSS Give us your feedback
Note: To run this Demonstration you need Mathematica 7+ or the free Mathematica Player 7EX
Download or upgrade to Mathematica Player 7EX
I already have Mathematica Player or Mathematica 7+