Cyphernomicon Top
Cyphernomicon 13.4

Activism and Projects:
Cypherpunks Projects


   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