home *** CD-ROM | disk | FTP | other *** search
/ The Hacker's Encyclopedia 1998 / hackers_encyclopedia.iso / hacking / network / chaum_pa.txt < prev    next >
Encoding:
Text File  |  2003-06-11  |  23.3 KB  |  503 lines

  1. X-Andrew-WideReply: internet.cypherpunks
  2. X-Added: With Flames (listbb v2.2)
  3. Return-path: <owner-cypherpunks@toad.com>
  4. X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail
  5. Received: from po3.andrew.cmu.edu via trymail for arpalists+cypherpunks@andrew.cmu.edu (->listbb+cypherpunks)
  6.           ID </afs/andrew.cmu.edu/usr0/listbb/Mailbox/0ibmGqS00Udb9Gh05Z>;
  7.           Fri, 14 Oct 1994 20:39:18 -0400 (EDT)
  8. Received: from relay2.UU.NET (relay2.UU.NET [192.48.96.7]) by po3.andrew.cmu.edu (8.6.9/8.6.9) with ESMTP id UAA21168 for <arpalists+cypherpunks@andrew.cmu.edu>; Fri, 14 Oct 1994 20:39:16 -0400
  9. Received: from toad.com by relay2.UU.NET with SMTP 
  10.     id QQxlqn27806; Fri, 14 Oct 1994 20:15:45 -0400
  11. Received: by toad.com id AA11599; Fri, 14 Oct 94 14:50:42 PDT
  12. Received: from nova.unix.portal.com by toad.com id AA11582; Fri, 14 Oct 94 14:50:14 PDT
  13. Received: from jobe.shell.portal.com (hfinney@jobe.shell.portal.com [156.151.3.4]) by nova.unix.portal.com (8.6.7/8.6.5) with ESMTP id OAA14344 for <cypherpunks@toad.com>; Fri, 14 Oct 1994 14:49:57 -0700
  14. Received: from localhost (hfinney@localhost) by jobe.shell.portal.com (8.6.4/8.6.5) id OAA14143 for cypherpunks@toad.com; Fri, 14 Oct 1994 14:49:53 -0700
  15. Date: Fri, 14 Oct 1994 14:49:53 -0700
  16. Message-Id: <199410142149.OAA14143@jobe.shell.portal.com>
  17. To: cypherpunks@toad.com
  18. From: nobody@shell.portal.com
  19. Subject: Chaum 1981 CACM Remailer Article
  20. Comments: This message is NOT from the person listed in the From
  21.  line.  It is from an automated software remailing service operating at
  22.  that address.  Please report problem mail to <hfinney@shell.portal.com>.
  23. Sender: owner-cypherpunks@toad.com
  24. Precedence: bulk
  25.  
  26. Communications of the ACM
  27. February 1981
  28. Volume 24
  29. Number 2
  30. ---------------------------------------------------------------------------
  31. Permission to copy without fee all or part of this material is granted
  32. provided that the copies are not made or distributed for direct
  33. commercial advantage, the ACM copyright notice and the title of the
  34. publication and its date appear, and notice is given that copying is
  35. by permission of the Association for Computing Machinery.  To copy
  36. otherwise, or to republish, requires a fee and/or specific permission.
  37.  
  38. This work was partially supported by the National Science Foundation
  39. under Grant MCS 75-23739 and by teh Air Force Office of Scientific
  40. Research under Contract F49620-9-CO173.
  41.  
  42. Author's present address: Computer Science Division, Electrical
  43. Engineering and Computer Sciences Department, University of
  44. California, Berkeley, California 94720.  (415)42-1024.
  45.  
  46. Copyright (C) 1981 ACM 0001-082/81/0200-0084 $00.75.
  47. ---------------------------------------------------------------------------
  48.  
  49. Technical Note
  50. Programming Techniques and Data Structures
  51. R. Rivest, Editor
  52.  
  53. ---------------------------------------------------------------------------
  54.  
  55.  
  56. Untraceable Electronic Mail, Return addresses, and Digital Pseudonyms
  57.  
  58. David L. Chaum
  59. University of California, Berkeley
  60.  
  61.  
  62. Abstract
  63.  
  64. A technique based on public key cryptography is presented that allows
  65. an electronic mail system to hide who a participant communicates with
  66. as well as the content of the communication - in spite of an unsecured
  67. underlying telecommunication system.  The technique does not require a
  68. universally trusted authority.  One correspondent can remain anonymous
  69. to a second, while allowing the second to respond via an untraceable
  70. return address.
  71.  
  72. The technique can also be used to form rosters of untraceable digital
  73. pseudonyms from selected applications.  Applicants retain the
  74. exclusive ability to form digital signatures corresponding to their
  75. pseudonyms.  Elections in which any interested party can verify that
  76. the ballots have been properly counted are possible if anonymously
  77. mailed ballots are signed with pseudonyms from a roster of registered
  78. voters.  Another use allows an individual to correspond witha
  79. record-keeping organization under a unique pseudonym which appears in
  80. a roster of acceptable clients.
  81.  
  82.  
  83. Key Words and Phrases: electronic mail, public key cryptosystems,
  84. digital signatures, traffic analysis, security, privacy
  85.  
  86.  
  87. CR Categories: 2.12, 3.81
  88.  
  89.  
  90.  
  91. Introduction
  92.  
  93. Cryptology is the science of secret communication.  Cryptographic
  94. techniques have been providing secrecy of message content for
  95. thousands of years [3].  Recently some new solutions to the "key
  96. distribution problem" (the problem of providing each communicant with
  97. a secret key) have been suggested [2,4], under the name of public key
  98. cryptography.  Another cryptographic problem, "the traffic analysis
  99. problem" (the problem of keeping confidential who converses with whom,
  100. and when they converse), will become increasingly important with the
  101. growth of electronic mail.  This paper presents a solution to the
  102. traffic analysis problem that is based on public key cryptography.
  103. Baran has solved the traffic analysis problem for networks [1], but
  104. requires each participant to trust a common authority.  In contrast,
  105. systems based on the solution advanced here can be compromised only by
  106. subversion or conspiracy of all of a set of authorities.  Ideally,
  107. each participant is an authority.
  108.  
  109. The following two sections introduce the notation and assumptions.
  110. Then the basic concepts are introduced for some special cases
  111. involving a series of one or more authorities.  The final section
  112. covers general purpose mail networks.
  113.  
  114.  
  115. Notation
  116.  
  117. Someone becomes a user of a public key cryptosystem (like that of
  118. Rivest, Shamir, and Adleman [5]) by creating a pair of keys K and
  119. Inv(K) from a suitable randomly generated seed.  The public key
  120. K is made known to the other users or anyone else who cares to know
  121. it; the private key Inv(K) is never divulged.  The encryption of
  122. X with key K will be denoted K( X ), and is just the image of X under
  123. the mapping implemented by the cryptographic algorithm using key K.
  124. The increased utility of these algorithms over conventional algorithms
  125. results because the two keys are inverses of each other, in the sense
  126. that
  127.  
  128.  Inv(K)( K( X ) ) = K( Inv(K)( X ) ) = X.
  129.  
  130. A message X is "sealed" with a public key K so that only the
  131. holder of the private key Inv(K) can discover its content.  If
  132. X is simply encrypted with K, then anyone could verify a guess
  133. that Y = X by checking whether K( Y ) = K( X ).  This threat can be
  134. eliminated by attaching a large string of random bits R to X
  135. before encrypting.  The sealing of X with K is then denoted
  136. K( R, X ).  A user "signs" some material X by prepending a large
  137. constant C (all zeros, for example) and then encrypting with its
  138. private key, denoted Inv(K)( C, X ) = Y.  Anyone can verify that
  139. Y has been signed by the holder of Inv(K) and determine the
  140. signed matter X, by forming K( Y ) = C, X and checking for C.
  141.  
  142.  
  143. Assumptions
  144.  
  145. The approach taken here is based on two important assumptions:
  146.  
  147. (1) No one can determine anything about the correspondences between a
  148. set of sealed items and the corresponding set of unsealed items, or
  149. create forgeries without the appropriate random string or private key.
  150.  
  151. (2) Anyone may learn the origin, destination(s), and representation of
  152. all messages in the underlying telecommunication system and anyone may
  153. inject, remove, or modify messages.
  154.  
  155.  
  156. Mail System
  157.  
  158. The users of the cryptosystem will include not only the correspondents
  159. but a computer called a "mix" that will process each item of mail
  160. before it is delivered.  A participant prepares a message M for
  161. delivery to a participant at address A by sealing it with the
  162. addressee's public key Ka, appending the address A, and then
  163. sealing the result with the mix's public key K1.  The left-hand
  164. side of the following expression denotes this item which is input to
  165. the mix:
  166.  
  167. K1( R1, Ka( R0, M ), A ) --> Ka( R0, M ), A.
  168.  
  169. The --> denotes the transformation of the input by the mix into the
  170. output shown on the right-hand side.  The mix decrypts its input with
  171. its private key, throws away the random string R1, and outputs the
  172. remainder.  One might imagine a mechanism that forwards the sealed
  173. messages Ka( R0, M ) of the output to the addressees who then decrypt
  174. them with their own private keys.
  175.  
  176. The purpose of a mix is to hide the correspondences between the items
  177. in its input and those in its output.  The order of arrival is hidden
  178. by outputting the uniformly sized itemsin lexicographically ordered
  179. batches.  By assumption (1) above, there need be no concern about a
  180. cryptoanalytic attack yielding the correspondence between the sealed
  181. items of a mix's input and its unsealed output - if items are not
  182. repeated.  However, if just one item is repeated in the input and
  183. allowed to be repeated in the output, then the correspondence is
  184. revealed for that item.
  185.  
  186. Thus, an important function of a mix is to ensure that no item is
  187. processed more than once.  This function can be readily achieved by a
  188. mix for a particular batch by removing redundant copies before
  189. outputting the batch.  If a single mix is used for multiple batches,
  190. then one way that repeats across batches can be detected is for the
  191. mix to maintain a record of items used in previous batches.  (Records
  192. can be discarded once a mix changes its public key by, for example,
  193. announcing the new key in a statement signed with its old private
  194. key.)  A mix need not retain previous batches if part of each random
  195. string R1 constains something - such as a time-stamp - that is only
  196. valid for a particular batch.
  197.  
  198. If a participant gets signed receipts for messages it submits to a
  199. mix, then the participant can provide substantial evidence that the
  200. mix failed to output an item properly.  Only a wronged participant can
  201. supply the receipt Y (= Inv(K1)( C, K1( R1, Ka( R0, M ), A ))), the
  202. missing output X (= Ka( R0, M ), A ), and the retained string R1, such
  203. that K1( Y ) = C, K1( R1, X ).  Becasue a mix will sign each output
  204. batch as a whole, the absence of an item X from a batch can be
  205. substantiated by a copy of the signed batch.
  206.  
  207. The use of a "cascade", or series of mixes, offers the advantage that
  208. any single constituent mix is able to provide the secrecy of the
  209. correspondence between the inputs and the outputs of the entire
  210. cascade.  Incrimination of a particular mix of a cascade that failed
  211. to properly process an item is accomplished as with a single mix, but
  212. only requires a receipt from the first mix of the cascade, since a mix
  213. can use the signed output of its predecessor to show the absence of an
  214. item from its own input.  An item is prepared for a cascade of n mixes
  215. the same as for a single mix.  It is then successively sealed for each
  216. succeeding mix:
  217.  
  218. Kn( Rn, K<n-1>( R<n-1>, ... , K2( R2, K1( R1, Ka( R0, M ), A ))...)) -->.
  219.  
  220. The fist mix yields a lexicographically ordered batch of items, each
  221. of the form
  222.  
  223. K<n-1>( R<n-1>, ... , K2( R2, K1( R1, Ka( R0, M ), A ))...) -->.
  224.  
  225. The items in the final output batch of a cascade are of the form
  226. Ka( R0, M ), A, the same as those of a single mix.
  227.  
  228.  
  229. Return Addresses
  230.  
  231. The techniques just described allow participant x to send anonymous
  232. messages to participant y.  What is needed now is a way for y to
  233. respond to x while still keeping the identity of x secret from y.  A
  234. solution is for x to form an untraceable return address
  235. K1( R1, Ax), Kx, where Ax is its own real address, Kx is a public key
  236. chosen for the occasion, and R1 is a key that will also act as a
  237. random string for purposes of sealing.  Then, x can send this return
  238. address to y as part of a message sent by the techniques already
  239. described.  (In general, two participants can exchange return
  240. addresses through a chain of other participants, where at least one
  241. member of each adjacent pair knows the identity of the other member of
  242. the pair.)  The following indicates how y uses this untraceable return
  243. address to form a response to x, via a new kind of mix:
  244.  
  245. K1( R1, Ax ), Kx( R0, M ) --> Ax, R1( Kx( R0, M )).
  246.  
  247. This mix uses the string of bits R1 that it finds after decrypting the
  248. address part K1( R1, Ax ) as a key to re-encrypt the message part
  249. Kx( R0, M ).  Only the addressee x can decrypt the resulting output
  250. because x created both R1 and Kx.  The mix must not allow address
  251. parts to be repeated - for the same reason that items of regular mail
  252. must not be repeated.  This means that x must supply y with a return
  253. address for each item of mail x wishes to receive.  Also notice that
  254. conventional as opposed to public key cryptography could be used for
  255. both encryptions of M.
  256.  
  257. With a cascade of mixes, the message part is prepared the same as for
  258. a single mix, and the address part is as showin in the following
  259. input:
  260.  
  261. K1( R1, K2( R2, ..., K<n-1>( R<n-1>, Kn( Rn, Ax ))...)), Kx( R0, M ) -->.
  262.  
  263. The result of the first mix is
  264.  
  265. K2( R2, ..., K<n-1>( R<n-1>, Kn( Rn, Ax ))...), R1( Kx( R0, M )) -->,
  266.  
  267. and the final result of the remaining n-1 mixes is
  268.  
  269. Ax, Rn( R<n-1> ... R2( R1( Kx( R0, M )))...).
  270.  
  271. Untraceable return addresses allow the possiblity of "certified" mail:
  272. They can provide the sender of an anonymous letter with a receipt
  273. attesting to the fact that the letter appeared intact in the final
  274. output batch.  The address A that is incorporated into a certified
  275. letter is expanded to include not only the usual address of the
  276. recipient, but also an untraceable return address for the sender.
  277. When this return address appears inthe output batch of the final mix,
  278. it is used to mail the sender a signed receipt which inlucdes the
  279. message as well as the address to which it was delivered.  The receipt
  280. might be signed by each mix.
  281.  
  282.  
  283. Digital Pseudonyms
  284.  
  285. A digital "pseudonym" is a public key used to verify signatures made
  286. by the anonymous holder of the corresponding private key.  A "roster",
  287. or list of pseudonyms, is created by an authority that decides which
  288. applications for pseudonyms to accept, but is unable to trace the
  289. pseudonyms in the completed roster.  The applications may be sent to
  290. the authority anonymously, by untraceable mail, for example, or they
  291. may be provided in some other way.
  292.  
  293. Each application received by the authority contains all the
  294. information required for the acceptance decision and a special
  295. unaddressed digital letter (whose messages is the public key K, the
  296. applicant's proposed pseudonym.)  In the case of a single mix, these
  297. letters are of the form K1( R1, K ).  For a cascade of n mixes, they
  298. are of the form Kn( Rn, ..., K2( R2, K1( R1, K ))...).  The authority
  299. will form an input batch containing only those unaddressed letters
  300. from the applications it accepts.  This input batch will be supplied
  301. to a special cascade whose final output batch will be publically
  302. available.  Since each entry in the final output batch of the cascade
  303. is a public key K from an accepted applicant, the signed output of the
  304. final mix is a roster of digital pseudonyms.
  305.  
  306. Notification of applicants can be accomplished by also forming a
  307. roster for unaccepted applications and then using the technique of
  308. certified mail to return a single batch of receipts to both sets of
  309. applicants.  Of course, repeats must not be allowed within or across
  310. batches.
  311.  
  312. If only registered voters are accepted for a particular roster, then
  313. it can be used to carry out an election.  For a single mix, each voter
  314. submits a ballot of the form K1( R1, K, Inv(K)( C, V )), where K is
  315. the voter's pseudonym and V is the actual vote.  For a cascade of
  316. mixes, ballots are of the form
  317. Kn( Rn, ..., K2( R2, K1( R1, K, Inv(K)( C, V )))...).  The ballots
  318. must be processed as a single batch, as were the letters used to form
  319. rosters.  Items in the final lexicographically ordered output batch
  320. are of the form K, Inv(K)( C, V ).  Since the roster of registered
  321. voters is also ordered on K, it is easy for anyone to count the votes
  322. by making a single pass through both batches at once.  Each ballot is
  323. counted only after checking that the pseudonym K which forms its
  324. prefix, is also contained in the roster and that the pseudonym
  325. properly decrypts the signed vote V.
  326.  
  327. An individual might be known to an organization only by a pseudonym
  328. that appears in a roster of acceptable clients.  Clients can
  329. correspond with the organization via untraceable mail and the
  330. organization can correspond with the clients using untraceable return
  331. addresses.  If applicants identify themselves in their applications,
  332. or if they sign applications with pseudonyms that appear in a roster
  333. issued by an authority that requires identification, then the
  334. organization is assured that the same client cannot come to it under
  335. different pseudonyms.  Under special circumstances, such as default of
  336. payment, a particular pseudonym could be shown to correspond to a
  337. particular application (without revealing any other correspondences)
  338. if each mix in turn supplied the appropriate Rn.
  339.  
  340.  
  341. General Purpose Mail Systems
  342.  
  343. One way to construct a general purpose, untraceable mail system is to
  344. require that every message pass through a cascade.  Of course, mixes
  345. can operate continuously or periodically, and long messages will be
  346. encrypted first and then split into multiple items.  In order to hide
  347. the number of messages sent, each participant supplies the same number
  348. of messages to each batch (some of which might be randomly addressed
  349. dummies).  In order to hide the number of messages received, each
  350. participant privately searches the entire output for messages directed
  351. to it.
  352.  
  353. Such a system may prove too costly for some participants.  One way to
  354. reduce the cost is to allow mail to be addressed to subsets of
  355. participants, such as a local net.  Participants that take advantage
  356. of such arrangements need search only the mail addressed to a
  357. particular subset.  Another way to economize is for a participant to
  358. send for each batch only the number of dummy messages suggested by a
  359. random value (chosen from some suitable distribution), as opposed to
  360. always sending the maximal number of messages.  This can substantially
  361. reduce message traffic and consequently, the size of output batches.
  362. While these techniques may open the door to some kinds of statistical
  363. attack, the system size that necessitated them may reduce the
  364. effectiveness of such attacks.
  365.  
  366. In a large, general purpose mail system with many mixes, it may be
  367. impractical for every message to pass through every mix.  In such a
  368. case, a sequence of mixes will be selected for each message, perhaps on
  369. the basis of network topology or trust.  Notice that if a participant
  370. can choose mixes it trusts with its traffic volume data as early
  371. members of its sequences, then these mixes can discard dummies they
  372. receive from the participant and deliver small, fixed-sized batches
  373. (padded with dummies) directly to the participant.
  374.  
  375. A new kind of mix will be presented here that allows a sequence of
  376. mixes to be selected for each message.  It also (a) hides the number
  377. and identity of the mixes a message must pass through, (b) allows
  378. incrimination of a mix that does not properly forward items, and (c)
  379. makes no distinction between regular mail and mail sent by untraceable
  380. return address.  It is based on the idea that every item of mail is
  381. composed of the same number of fixed-sized blocks.
  382.  
  383. The operations performed by this new kind of mix are always the same.
  384. First it removes the first block and adds a random block J of junk to
  385. the end, to maintain the item's length of l blocks.  Then, using its
  386. private key, the mix decrypts the block removed during the first step.
  387. This yields a key R, which the mix uses to encrypt each of the l
  388. blocks of the item (using either public-key or conventional
  389. cryptography).  It also yields the address A (either of a recipient or
  390. of another mix) to which the item will be forwarded.
  391.  
  392. The left-hand side of the following shows how an item is prepared to
  393. pass through a single mix:
  394.  
  395. K2( R2, ..., K<n-1>( R<n-1>, Kn( Rn, Ax ))...), R1( Kx( R0, M )) -->,
  396.  
  397. A1: [K<A1>( R<A1>, A )], [Inv(R<A1>)( M1 )], [Inv(R<A1>)( M2 )], ...
  398.     [Inv(R<A1>)( M<l-1> )] --> A: [M1],...[M<l-1], [R<A1>( J<A1> )].
  399.  
  400. where square brackets show the extent of each block, and the sealed
  401. message Ka( R0, M ) is divided into pieces Mi, such that
  402. Ka( R0, M ) = M1, M2, ..., M<l-n>.  The A1: indicates that the
  403. left-hand side is delivered to mix A1, while the A: means that the
  404. right-hand side is delivered to address A.  Items with the same first
  405. block should be regarded as repeats.
  406.  
  407. A message prepared to be passed through mixes A1 through An has the
  408. form
  409.  
  410. A1: [K<A1>( R<A1>, A2 )], [Inv(R<A1>)( K<A2>( R<A2>, A3 ))], ...,
  411.     [Inv(R<A1>)( Inv(R<A2>) ... Inv(R<A<n-1>>)( K<An>( R<An, A )) ... )],
  412.     [Inv(R<A1>)( Inv(R<A2>) ... Inv(R<An>)( M1 )...)], ...,
  413.     [Inv(R<A1>)( Inv(R<A2>) ... Inv(R<An>)( M<l-n> )...)]  -->.
  414.  
  415. The result leaving A1 is
  416.  
  417. A2: [K<A2>( R<A2, A3 )], [Inv(R<A2>)( K<A3>( R<A3>, A4 ))], ...,
  418.     [Inv(R<A2>)( Inv(R<A3>) ... Inv(R<A<n-1>>)( K<An>( R<An, A )) ... )],
  419.     [Inv(R<A2>)( Inv(R<A3>) ... Inv(R<An>)( M1 )...)], ...,
  420.     [Inv(R<A2>)( Inv(R<A3>) ... Inv(R<An>)( M<l-n> )...)],
  421.     [R<A1>( J<A1> )] -->,
  422.  
  423. and the final result leaving An is
  424.  
  425. A:  [M1], [M2], ..., [M<l-n>],
  426.     [R<An>( R<A<n-1>> ... R<A1>( J<A1> )...)], ..., [R<An>( J<An> )].
  427.  
  428. An intermediate mix always knows which mix it received its input from -
  429. by assumption (2) - but if a mix broadcasts copies of its fixed-size
  430. output batches, then only individual recipient mixes need be able to
  431. recognize their own input in a broadcast batch.
  432.  
  433. The untraceable return address x sends to y contains the key Kx that y
  434. uses to encrypt the message part.  It also includes, in the case of a
  435. single mix, what y will use as the first block of the item it submits
  436. to the mix:
  437.  
  438. A1: [K<A1>( R<A1>, Ax )], [M1], ..., [M<l-1>]  -->
  439. Ax: [R<A1>( M1 )], ..., [R<A1>( M<l-1> )], [R<A1>( J<A1> )],
  440.  
  441. where Kx( R0, M ) = M1, M2, ..., M<l-n>.  Only x can decrypt the item
  442. it receives since it created R<A1> and Kx.  When a message is to pass
  443. through n mixes, the untraceable return address contains the first n
  444. blocks:
  445.  
  446. A1: [K<A1>( R<A1>, A2 )], [Inv(R<A1>)( K<A2>( R<A2>, A3 ))], ...,
  447.     [Inv(R<A1>)( Inv(R<A2>) ... Inv(R<A<n-1>>)( K<An>( R<An>, Ax ))...)],
  448.     [M1], [M2], ..., [M<l-n>]  -->.
  449.  
  450. After being operated on by mix A1 it will have the form
  451.  
  452. A2: [K<A2>( R<A2>, A3 )], ...,
  453.     [Inv(R<A2>)( Inv(R<A3>) ... Inv(R<A<n-1>>)( K<An>( R<An>, Ax ))...)],
  454.     [R<A1>( M1 )], [R<A1>( M2 )], ..., [R<A1>( M<l-n> )],
  455.     [R<A1>( J<A1> )] -->,
  456.  
  457. and the final result leaving An is
  458.  
  459. Ax: [R<An>( R<A<n-1>> ... R<A1>( M1 )...)], ...,
  460.     [R<An>( R<A<n-1>> ... R<A1>( M<l-n> )...)],
  461.     [R<An>( R<A<n-1>> ... R<A1>( J<A1> )...)], ..., [R<An>( J<An> )].
  462.  
  463.  
  464. Summary and Conclusion
  465.  
  466. A solution to the traffic analysis problem has been presented that
  467. allows any single intermediary to provide security for those messages
  468. passing through it.  In addition, the solution allows messages to be
  469. sent or received pseudonymously.  Through the notion of a roster of
  470. pseudonyms, it also provides some new and interesting kinds of limited
  471. anonymity.
  472.  
  473.  
  474. Acknowledgements.  I owe a great deal to R. Fabry's outstanding and
  475. multifaceted support.  Special thanks are due C. Sequin, who has read
  476. my work with great care and provided many stimulating discussions.  I
  477. would also like to thank D. Gusfield, B. Mont-Reynaud, A. Moose, and
  478. S. Wecker for their comments and encouragement.  The referees have
  479. been very helpful.
  480.  
  481.  
  482. Received 2/79; accepted 4/80; revised 10/80
  483.  
  484.  
  485. References
  486.  
  487. 1. Baran, P.  On distributed communications: IX security secrecy and
  488. tamper-free considerations.  Memo RM-3765-PR, Rand Corp., Santa
  489. Monica, CA, Aug. 1964.
  490.  
  491. 2. Diffie, W. and Hellman, M.E.  New directions in cryptography.  IEEE
  492. Trans. Information Theory IT-22, 6 (Nov. 1976), 644-654.
  493.  
  494. 3. Kahn, D.  The Code Breakers, The Story of Secret Writing.
  495. Macmillan, New York, 1967.
  496.  
  497. 4. Merkle, R.C.  Secure communications over insecure channels.  Comm.
  498. ACM 21, 4 (Apr. 1978), 294-299.
  499.  
  500. 5. Rivest, R.L., Shamir, A., and Adleman, L.  A method for obtaining
  501. digital signatures and public-key cryptosystems.  Comm. ACM 21, 2 (Feb.
  502. 1977), 120-126.
  503.