13.4.1. "What are Cypherpunks projects?"
- Always a key part--perhaps _the_ key part--of Cypherpunks
activity. "Cypherpunks write code." From work on PGP to
remailers to crypto toolkits to FOIA requests, and a bunch
of other things, Cypherpunks hack the system in various
ways.
- Matt Blaze's LEAF blower, Phil Karn's "swIPe" system, Peter
Wayner's articles....all are examples. (Many Cypherpunks
projects are also done, or primarily done, for other
reasons, so we cannot in all cases claim credit for this
work.)
13.4.2. Extensions to PGP
13.4.3. Spread of PGP and crypto in general.
- education
- diskettes containing essays, programs
- ftp sites
- raves, conventions, gatherings
13.4.4. Remailers
+ ideal Chaumian mix has certain properties
- latency to foil traffic analysis
- encryption
- no records kept (hardware tamper-resistance, etc.)
- Cyperpunks remailers
- julf remailers
+ abuses
- flooding, because mail transmission costs are not borne
by sender
+ anonymity produces potential for abuses
- death threats, extortion
- Progress continues, with new features added. See the
discussion in the remailers section.
13.4.5. Steganography
- hiding the existence of a message, for at least some amount
of time
- security through obscurity
- invisible ink, microdots
+ Uses
- in case crypto is outawed, may be useful to avoid
authorities
- if enough people do it, increases the difficulty of
enforcing anti-crypto laws (all
+ Stego
- JSTEG:
soda.berkeley.edu:/pub/cypherpunks/applications/jsteg
- Stego: sumex-aim.stanford.edu
13.4.6. Anonymous Transaction Systems
13.4.7. Voice Encryption, Voice PGP
- Clipper, getting genie out of bottle
- CELP, compression, DSPs
- SoundBlaster approach...may not have enough processing
power
+ hardware vs. pure software
- newer Macs, including av Macs and System 7 Pro, have
interesting capabilities
+ Zimmermann's plans have been widely publicized, that he is
looking for donations, that he is seeking programming help,
etc.
- which does not bode well for seeing such a product from
him
- frankly, I expect it will come from someone else
- Eric Blossom is pursuing own hardware board, based on 2105
+ "Is anyone building encrypted telephones?"
-
+ Yes, several such projects are underway. Eric Blossom
even showed a
- PCB of one at a Cypherpunks meeting, using an
inexpensive DSP chip.
-
+ Software-only versions, with some compromises in speech
quality
- probably, are also underway. Phil Zimmermann
described his progress at
+ the last Cypherpunks meeting.
-
- ("Software-only" can mean using off-the-shelf, widely-
available DSP
+ boards like SoundBlasters.)
-
- And I know of at least two more such projects.
Whether any will
+ materialize is anyone's guess.
-
- And various hacks have already been done. NeXT users
have had
- voicemail for years, and certain Macs now offer
something similar.
+ Adding encryption is not a huge obstacle.
-
- A year ago, several Cypherpunks meeting sites around
the U.S. were
- linked over the Internet using DES encryption. The
sound quality was
- poor, for various reasons, and we turned off the DES
in a matter of
- minutes. Still, an encrypted audio conference call.
13.4.8. DC-Nets
- What it is, how it works
- Chaum's complete 1988 "Journal of Cryptology" article is
available at the Cypherpunks archive site,
ftp.soda.csua.edu, in /pub/cypherpunks
+ Dining Cryptographers Protocols, aka "DC Nets"
+ "What is the Dining Cryptographers Problem, and why is it
so important?"
+ This is dealt with in the main section, but here's
David Chaum's Abstract, from his 1988 paper"
- Abstract: "Keeping confidential who sends which
messages, in a world where any physical transmission
can be traced to its origin, seems impossible. The
solution presented here is unconditionally or
cryptographically secure, depending on whether it is
based on one-time-use keys or on public keys.
respectively. It can be adapted to address
efficiently a wide variety of practical
considerations." ["The Dining Cryptographers Problem:
Unconditional Sender and Recipient Untraceability,"
David Chaum, Journal of Cryptology, I, 1, 1988.]
-
- DC-nets have yet to be implemented, so far as I know,
but they represent a "purer" version of the physical
remailers we are all so familiar with now. Someday
they'll have have a major impact. (I'm a bigger fan of
this work than many seem to be, as there is little
discussion in sci.crypt and the like.)
+ "The Dining Cryptographers Problem: Unconditional Sender
and Recipient Untraceability," David Chaum, Journal of
Cryptology, I, 1, 1988.
- available courtesy of the Information Liberation Front
at the soda.csua.berkeley.edu site
- Abstract: "Keeping confidential who sends which
messages, in a world where any physical transmission
can be traced to its origin, seems impossible. The
solution presented here is unconditionally or
cryptographically secure, depending on whether it is
based on one-time-use keys or on public keys.
respectively. It can be adapted to address efficiently
a wide variety of practical considerations." ["The
Dining Cryptographers Problem: Unconditional Sender and
Recipient Untraceability," David Chaum, Journal of
Cryptology, I, 1, 1988.]
- Note that the initials "D.C." have several related
meanings: Dining Cryptographers, Digital Cash/DigiCash,
and David Chaum. Coincidence?
+ Informal Explanation
- Note: I've posted this explanation, and variants,
several times since I first wrote it in mid-1992. In
fact, I first posted it on the "Extropians" mailing
list, as "Cypherpunks" did not then exist.
- Three Cypherpunks are having dinner, perhaps in Palo
Alto. Their waiter tells them that their bill has
already been paid, either by the NSA or by one of them.
The waiter won't say more. The Cypherpunks wish to know
whether one of them paid, or the NSA paid. But they
don't want to be impolite and force the Cypherpunk
payer to 'fess up, so they carry out this protocol (or
procedure):
Each Cypherpunk flips a fair coin behind a menu placed
upright between himself and the Cypherpunk on his
right. The coin is visible to himself AND to the
Cypherpunk on his left. Each Cypherpunk can see his own
coin and the coin to his right. (STOP RIGHT HERE!
Please take the time to make a sketch of the situation
I've described. If you lost it here, all that follows
will be a blur. It's too bad the state of the Net today
cannot support figures and diagrams easily.)
Each Cypherpunk then states out loud whether the two
coins he can see are the SAME or are DIFFERENT, e.g.,
"Heads-Tails" means DIFFERENT, and so forth. For now,
assume the Cypherpunks are truthful. A little bit of
thinking shows that the total number of "DIFFERENCES"
must be either 0 (the coins all came up the same), or
2. Odd parity is impossible.
Now the Cypherpunks agree that if one of them paid, he
or she will SAY THE OPPOSITE of what they actually see.
Remember, they don't announce what their coin turned up
as, only whether it was the same or different as their
neighbor.
Suppose none of them paid, i.e., the NSA paid. Then
they all report the truth and the parity is even
(either 0 or 2 differences). They then know the NSA
paid.
Suppose one of them paid the bill. He reports the
opposite of what he actually sees, and the parity is
suddenly odd. That is, there is 1 difference reported.
The Cypherpunks now know that one of them paid. But can
they determine which one?
Suppose you are one of the Cypherpunks and you know you
didn't pay. One of the other two did. You either
reported SAME or DIFFERENT, based on what your neighbor
to the right (whose coin you can see) had. But you
can't tell which of the other two is lying! (You can
see you right-hand neighbor's coin, but you can't see
the coin he sees to his right!)
This all generalizes to any number of people. If none
of them paid, the parity is even. If one of them paid,
the parity is odd. But which one of them paid cannot be
deduced. And it should be clear that each round can
transmit a bit, e.g., "I paid" is a "1". The message
"Attack at dawn" could thus be "sent" untraceably with
multiple rounds of the protocol.
- The "Crypto Ouija Board": I explain this to people as a
kind of ouija board. A message, like "I paid" or a more
interesting "Transfer funds from.....," just "emerges"
out of the group, with no means of knowing where it
came from. Truly astounding.
+ Problems and Pitfalls
- In Chaum's paper, the explanation above is given
quickly, in a few pages. The _rest_ of the paper is
then devoted to dealing with the many "gotchas" and
attacks that come up and that must be dealt with before
the DC protocol is even remotely possible. I think all
those interested in protocol design should read this
paper, and the follow-on papers by Bos, Pfitzmann,
etc., as object lessons for dealing with complex crypto
protocols.
+ The Problems:
- 1. Collusion. Obviously the Cypherpunks can collude
to deduce the payer. This is best dealt with by
creating multiple subcircuits (groups doing the
protocol amongst themselves). Lots more stuff here.
Chaum devotes most of the paper to these kind of
issues and their solutions.
2. With each round of this protocol, a single bit is
transmitted. Sending a long message means many coin
flips. Instead of coins and menus, the neighbors
would exchange lists of random numbers (with the
right partners, as per the protocol above, of course.
Details are easy to figure out.)
3. Since the lists are essentially one-time pads, the
protocol is unconditionally secure, i.e., no
assumptions are made about the difficulty of
factoring large numbers or any other crypto
assumptions.
4. Participants in such a "DC-Net" (and here we are
coming to the heart of the "crypto anarchy" idea)
could exchange CD-ROMs or DATs, giving them enough
"coin flips" for zillions of messages, all
untraceable! The logistics are not simple, but one
can imagine personal devices, like smart card or
Apple "Newtons," that can handle these protocols
(early applications may be for untraceable
brainstorming comments, secure voting in corportate
settings, etc.)
5. The lists of random numbers (coin flips) can be
generated with standard cryptographic methods,
requiring only a key to be exchanged between the
appropriate participants. This eliminates the need
for the one-time pad, but means the method is now
only cryptographically secure, which is often
sufficient. (Don't think "only cryptographically
secure" means insecure....the messages may remain
encrypted for the next billion years)
6. Collisions occur when multiple messages are sent
at the same time. Various schemes can be devised to
handle this, like backing off when you detect another
sender (when even parity is seen instead of odd
parity). In large systems this is likely to be a
problem. Deliberate disruption, or spamming, is a
major problem--a disruptor can shut down the DC-net
by sending bits out. As with remailes, anonymity
means freedom from detection. (Anonymous payments to
send a message may help, but the details are murky to
me.)
+ Uses
- * Untraceable mail. Useful for avoiding censorship, for
avoiding lawsuits, and for all kinds of crypto anarchy
things.
- * Fully anonymous bulletin boards, with no traceability
of postings or responses. Illegal materials can be
offered for sale (my 1987 canonical example, which
freaked out a few people: "Stealth bomber blueprints
for sale. Post highest offer and include public key.").
Think for a few minutes about this and you'll see the
profound implications.
- * Decentralized nexus of activity. Since messages
"emerge" (a la the ouija board metaphor), there is no
central posting area. Nothing for the government to
shut down, complete deniability by the participants.
- * Only you know who your a partners are....in any given
circuit. And you can be in as many circuits as you
wish. (Payments can be made to others, to create a
profit motive. I won't deal with this issue, or with
the issue of how reputations are handled, here.)
- It should be clear that DC-nets offer some amazing
opportunities. They have not been implemented at all, and
have received almost no attention compared to ordinary
Cypherpunks remailers. Why is this? The programming
complexity (and the underlying cryptographic primitives
that are needed) seems to be the key. Several groups have
announced plans to imlement some form of DC-net, but
nothing has appeared.
- software vs. hardware,
- Yanek Martinson, Strick, Austin group, Rishab
- IMO, this is an ideal project for testing the efficacy of
software toolkits. The primitives needed, including bit
commitment, synchronization, and collusion handling, are
severe tests of crypto systems. On the downside, I doubt
that even the Pfaltzmans or Bos has pulled off a running
simulation...
13.4.9. D-H sockets, UNIX, swIPe
+ swIPe
- Matt Blaze, John I. (did coding), Phil Karn, Perry
Metzger, etc. are the main folks involved
- evolved from "mobile IP," with radio links, routing
- virtual networks
- putting encryption in at the IP level, transparently
- bypassing national borders
- Karn
- at soda site
+ swIPe system, for routing packets
- end to end, gateways, links, Mach, SunOS
13.4.10. Digital Money, Banks, Credit Unions
- Magic Money
- Digital Bank
- "Open Encrypted Books"
- not easy to do...laws, regulations, expertise in banking
- technical flaws, issues in digital money
+ several approaches
- clearing
- tokens, stamps, coupons
- anonymity-protected transactions
13.4.11. Data Havens
+ financial info, credit reports
- bypassing local jurisdictions, time limits, arcane rules
- reputations
- insider trading
- medical
- technical, scientific, patents
- crypto information (recursively enough)
- need not be any known location....distributed in
cyberspace
- One of the most commercially interesting applications.
13.4.12. Related Technologies
- Agorics
- Evolutionary Systems
- Virtual Reality and Cyberspace
- Agents
+ Computer Security
+ Kerberos, Gnu, passwords
- recent controversy
- demon installed to watch packets
- Cygnus will release it for free
- GuardWire
+ Van Eck, HERF, EMP
- Once Cypherpunk project proposed early on was the
duplication of certain NSA capabilities to monitor
electronic communications. This involves "van Eck"
radiation (RF) emitted by the CRTs and other electronics
of computers.
+ Probably for several reasons, this has not been pursued,
at least not publically.
- legality
- costs
- difficulty in finding targets of opportunity
- not a very CPish project!
13.4.13. Matt Blaze, AT&T, various projects
+ a different model of trust...multiple universes
- not heierarchical interfaces, but mistrust of interfaces
- heterogeneous
- where to put encryption, where to mistrust, etc.
+ wants crypto at lowest level that is possible
- almost everything should be mistrusted
- every mistrusted interface shoud be cryptographically
protected...authentication, encryption
+ "black pages"---support for cryptographic communication
- "pages of color"
- a collection of network services that identiy and deliver
security information as needed....keys, who he trusts,
protocols, etc.
+ front end: high-level API for security requirements
- like DNS? caching models?
- trusted local agent....
+ "people not even born yet" (backup tapes of Internet
communications)
- tapes stored in mountains, access by much more powerful
computers
+ "Crytptographic File System" (CFS)
- file encryption
- no single DES mode appears to be adequate...a mix of
modes
+ swIPe system, for routing packets
- end to end, gateways, links, Mach, SunOS
13.4.14. Software Toolkits
+ Henry Strickland's TCL-based toolkit for crypto
- other Cypherpunks, including Hal Finney and Marianne
Mueller, have expressed good opinions of TCL and TCL-TK
(toolkit)
- Pr0duct Cypher's toolkit
- C++ Class Libraries
- VMX, Visual Basic, Visual C++
- Smalltalk
Next Page: 13.5 Responses to Our Projects (Attacks, Challenges)
Previous Page: 13.3 Activism is a Tough Job
By Tim May, see README
HTML by Jonathan Rochkind