P5-crypt-dining

Jul 20, 2023

The Dining Cryptographers’ Protocol

The dining cryptographers’ protocol is documented in Bruce Schneier’s book as a kind of “cryptographic ouija board”. It works as follows

A number of cryptographers are dining at a circular table. At the end of the meal, the waiter is summoned and asked for the bill. He replies, “Thank you, sir. The bill has been paid.” The cryptographers now have the problem of working out whether someone at the table paid the bill, or whether the NSA has paid it as some sort of veiled threat. The protocol proceeds.

Each cryptographer flips a coin, and shows the result ONLY to the participant on his RIGHT. Each cryptographer then compares his coin with that on his LEFT, and raises his hand if they show different faces. If any participant paid the bill, he “cheats” and does the opposite, that is, he raises his hand if the coins show the same face. Now, the hands are counted. An odd number means that someone at the table paid the bill. An even number means that the NSA paid.



Checkout these related ports:
  • Zzuf - Transparent application input fuzzer
  • Zlint - X.509 certificate linter
  • Zeronet - Decentralized websites using Bitcoin crypto and BitTorrent network
  • Zenmap - GUI frontend for the Nmap scanning utility
  • Zeek - System for detecting network intruders in real-time
  • Zaproxy - The OWASP zed attack proxy
  • Yubioath-desktop - GUI for displaying OATH codes with a Yubikey
  • Yubikey-personalization-gui - Graphical YubiKey personalization tool
  • Yubikey-manager-qt - Cross-platform application for configuring any YubiKey
  • Yubikey-agent - Seamless ssh-agent for YubiKeys
  • Yubico-piv-tool - Yubico PIV tool
  • Ylva - Command line password manager and file encryption program
  • Ykpers - Library and tool for personalization of Yubico's YubiKey
  • Ykclient - Yubico C client library
  • Yersinia - Layer 2 vulnerability scanner (switches, spanning tree, 802.1q ...)