[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Dining Sternlight Net
The Dining Sternlight Net
=========================
Objective:
----------
To create a system of communication among N parties that features sender
and recipient untraceability, while frivolously expending Usenet bandwidth.
Protocol (Net formation):
-------------------------
N participants (up to 25) post the following to alt.fan.david-sternlight:
Subject: Join DS Net
BEGIN DS NET
<128-bit hexadecimal random number>
<pgp public key>
END DS NET
Net moderator (initially [email protected]) posts a close of
entries message containing a full list of net participants, along with
their random numbers and PGP keys. Moderator will also chose a Net Name,
which will be employed by participants to indicate what net they are
participating in. Hereafter Subject lines will read:
<Net Name> <Post Type> <Round>
A MD5 digest hash of the postings to cypherpunks dated by toad.com between
midnight and noon of the day following close of entries is generated.
Random numbers are encrypted using DES with the lower 56 bits of the hash
as key, thus creating the "Ordering Value" of each participant.
The "Ordering Values" of the participants will be posted by the moderator
with Post Type "Net Order", but the values can be checked by all.
Protocol (Message passing):
---------------------------
Participants all generate and save Int(N + (N * .2)) * 1024 random bits,
which are encrypted using the PGP public key of the person whose Ordering
Value places them immediately before theirs, except for the participant
with the lowest Ordering Value, who encrypts with the PGP key of the
participant with the highest Ordering Value. The encrypted block is
posted to alt.fan.david-sternlight with Post Type: "Pass Left"
Participants now build the "Difference Block" from their saved random
bits and the random bits they retrieve from the newsgroup encrypted with
their public key. The block is initially constructed by XOR of the
saved bits with the bits retrieved in the "Pass Left" posting.
The Difference Block is to be viewed as a collection of 1K sub-blocks.
Participants will randomly choose one of the blocks to attempt to
transmit their message, by XOR of their message with the bits of the
selected sub-block. The resulting block is posted to the newsgroup
with Post Type: "Difference".
After retrieving all of the posted Difference Blocks, anyone can
XOR the blocks together and view the "Result Block". Moderator will
post official results with Post Type "Results", which will be
conveniently separated into separate messages.
If the 1k sub-block selected by a participant does not yield their
original message in the Result Block they have suffered a collision.
All participants who collide should not overlay a message in the
following round. After observing the following round, participants
who have collided select randomly from the empty blocks of that round,
and attempt to send again.
Wash, Rinse, Repeat.
Additional Aspects:
-------------------
To send a private message, participants should encrypt with the
public key of the indended recipient.
All participants who have not collided in the previous round must
post a message (even if it is just random gibberish).
If the net must be re-formed for any reason, the remaining participant
with the Ordering Value closest to the MD5 digest of the last complete
round of Result Blocks following the announcement by the previous moderator
that the net must be reformed, or following three days of no postings by
the moderator to alt.fan.david-sternlight.
Although it was initially decided to announce this on both cypherpunks
and the newsgroup, to maintain the proper degree of rude shock and
befuddlement on alt.fan.d-s, we recommend that the protocol simply
commence.
Brought to you by:
------------------
The letter K, the number 2^644 - 1, and the Austin Cryptographer's
Workshop.
Acknowledgements:
-----------------
The ACW wishes to thank Katz's Deli for providing the caffeine and
bagels which made this project possible.