SlideShare a Scribd company logo
Technical Note
Programming Techniques
and Data Structures
R. Rivest
Editor
Untraceable Electronic Mail,
Return Addresses, and
Digital Pseudonyms
David L. Chaum
University of California, Berkeley
A technique based on public key cryptography is
presented that allows an electronic mail system to hide
who a participant communicates with as well as the
content of the communication--in spite of an unsecured
underlying telecommunication system. The technique
does not require a universally trusted authority. One
correspondent can remain anonymous to a second, while
allowing the second to respond via an untraceble return
address.
The technique can also be used to form rosters of
untraceable digital pseudonyms from selected applica-
tions. Applicants retain the exclusive ability to form
digital signatures corresponding to their pseudonyms.
Elections in which any interested party can verify that
the ballots have been properly counted are possible if
anonymously mailed ballots are signed with pseudonyms
from a roster of registered voters. Another use allows an
individual to correspond with a record-keeping organi-
zation under a unique pseudonym which appears in a
roster of acceptable clients.
Key Words and Phrases: electronic mail, public key
cryptosystems, digital signatures, traffic analysis, secu-
rity, privacy
CR Categories: 2.12, 3.81
Introduction
Cryptology is the science of secret communication.
Cryptographic techniques have been providing secrecy
Permission to copy without fee all or part of this material is
granted provided that the copies are not made or distributed for direct
commercial advantage, the ACM copyright notice and the title of the
publication and its date appear, and notice is given that copying is by
permission of the Association for Computing Machinery. To copy
otherwise, or to republish, requires a fee and/or specific permission.
This work was partially supported by the National Science Foun-
dation under Grant MCS 75-23739 and by the Air Force Office of
Scientific Research under Contract F49620-79-CO 173.
Author's present address: Computer Science Division, Electrical
Engineering and Computer Sciences Department, University of Cali-
fornia, Berkeley, California 94720. (415) 642-1024.
© 1981 ACM 0001-0782/81/0200--0084 $00.75.
of message content for thousands of years [3]. Recently,
some new solutions to the "key distribution problem"
(the problem of providing each communicant with a
secret key) have been suggested [2, 4], under the name of
public key cryptography. Another cryptographic prob-
lem, "the traffic analysis problem" (the problem of keep-
ing confidential who converses with whom, and when
they converse), will become increasingly important with
the growth of electronic mail. This paper presents a
solution to the traffic analysis problem that is based on
public key cryptography. Baran has solved the traffic
analysis problem for networks [1], but requires each
participant to trust a common authority. In contrast,
systems based on the solution advanced here can be
compromised only by subversion or conspiracy of all of
a set of authorities. Ideally, each participant is an au-
thority.
The following two sections introduce the notation
and assumptions. Then the basic concepts are introduced
for some special cases involving a series of one or more
authorities. The final section covers general purpose mail
networks.
Notation
Someone becomes a user of a public key cryptosystem
(like that of Rivest, Shamir, and Adleman [5])by creating
a pair of keys K and K-1 from a suitable randomly
generated seed. The public key K is made known to the
other users or anyone else who cares to know it; the
private key K-~ is never divulged. The encryption of X
with key K will be denoted K(X), and is just the image
of X under the mapping implemented by the crypto-
graphic algorithm using key K. The increased utility of
these algorithms over conventional algorithms results
because the two keys are inverses of each other, in the
sense that
K-I(K(X)) = K(K-~(X)) = X.
A message X is sealed with a public key K so that only
the holder of the private key K-1 can discover its content.
If X is simply encrypted with K, then anyone could verify
a guess that Y = X by checking whether K(Y) = K(X).
This threat can be eliminated by attaching a large string
of random bits R to X before encrypting. The sealing of
X with K is then denoted K(R, X). A user signs some
material X by prepending a large constant C (all zeros,
for example) and then encrypting with its private key,
denoted K-~(C, X) -- Y. Anyone can verify that Y has
been signed by the holder of K -a and determine the
signed matter X, by forming K(Y) = C, X, and checking
for C.
Assumptions
The approach taken here is based on two important
assumptions:
84 Communications February 1981
of Volume 24
the ACM Number 2
(1) No one can determine anything about the corre-
spondences between a set of sealed items and the
corresponding set of unsealed items, or create for-
geries without the appropriate random string or
private key.
(2) Anyone may learn the origin, destination(s), and
representation of all messages in the underlying
telecommunication system and anyone may inject,
remove, or modify messages.
Mail System
The users of the cryptosystem will include not only
the correspondents but a computer called a mix that will
process each item of mail before it is delivered. A partic-
ipant prepares a message M for delivery to a participant
at address A by sealing it with the addressee's pubfic key
Ka, appending the address A, and then sealing the result
with the mix's public key K1. The left-hand side of the
following expression denotes this item which is input to
the mix:
Ki(R1, K~(Ro, M), .4) ~ Ka(Ro, M), A.
The ~ denotes the transformation of the input by the
mix into the output shown on the right-hand side. The
mix decrypts its input with its private key, throws away
the random string R1, and outputs the remainder. One
might imagine a mechanism that forwards the sealed
messages Ka(Ro, M) of the output to the addressees who
then decrypt them with their own private keys.
The purpose of a mix is to hide the correspondences
between the items in its input and those in its output.
The order of arrival is hidden by outputting the uni-
formly sized items in lexicographically ordered batches.
By assumption (1) above, there need be no concern about
a cryptoanalytic attack yielding the correspondence be-
tween the sealed items of a mix's input and its unsealed
output--if items are not repeated. However, if just one
item is repeated in the input and is allowed to be repeated
in the output, then the correspondence is revealed for
that item.
Thus, an important function of a mix is to ensure
that no item is processed more than once. This function
can be readily achieved by a mix for a particular batch
by removing redundant copies before outputting the
batch. If a single mix is used for multiple batches, then
one way that repeats aross batches can be detected is for
the mix to maintain a record of items used in previous
batches. (Records can be discarded once a mix changes
its public key by, for example, announcing the new key
in a statement signed with its old private key.) A mix
need not retain previous batches if part of each random
string Ra contains something--such as a time-stamp--
that is only valid for a particular batch.
If a participant gets signed receipts for messages it
submits to a mix, then the participant can provide sub-
stantial evidence that the mix failed to output an item
properly. Only a wronged participant can supply the
receipt Y (=Ka-~(C, K~(Ri, Ka(Ro, M), A ))), the missing
output X (=Ka(R0, M), A), and the retained string R1,
such that K~(Y) = C, KI(R1,S). Because a mix will sign
each output batch as a whole, the absence of an item X
from a batch can be substantiated by a copy of the signed
batch.
The use of a cascade, or series of mixes, offers the
advantage that any single constituent mix is able to
provide the secrecy of the correspondence between the
inputs and the outputs of the entire cascade. Incrimina-
tion of a particular mix of a cascade that failed to
properly process an item is accomplished as with a single
mix, but only requires a receipt from the first mix of the
cascade, since a mix can use the signed output of its
predecessor to show the absence of an item from its own
input. An item is prepared for a cascade of n mixes the
same as for a single mix. It is then successively sealed for
each succeeding mix:
Kn(Rn, Kn-i( Rn-1.....
K2(R2, KI(R1, Ka(Ro, M), A)) ... )) ..-~.
The first mix yields a lexicographically ordered batch of
items, each of the form
gn-l( Rn-1..... K2(R2, Ki(Ra, ga( Ro, M), A )) ...) ").
The items in the final output batch of a cascade are of
the form K,,(Ro, M), A, the same as those of a single mix.
Return Addresses
The techniques just described allow participant x to
send anonymous messages to participant y. What is
needed now is a way for y to respond to x while still
keeping the identity of x secret from y. A solution is for
x to form an untraceable return address Ki(R1, Ax), Kx,
where Ax is its own real address, Kx is a public key
chosen for the occasion, and R1 is a key that will also act
as a random string for purposes of sealing. Then, x can
send this return address to y as part of a message sent by
the techniques already described. (In general, two partic-
ipants can exchange return addresses through a chain of
other participants, where at least one member of each
adjacent pair knows the identity of the other member of
the pair.) The following indicates how y uses this untrace-
able return address to form a response to x, via a new
kind of mix:
Ki(Ri, Ax), Kx(e0, M) -.~ A,,, R~(K,,(Ro, M)).
This mix uses the string of bits R1 that it finds after
decrypting the address part Ki(R1, Ax) as a key to re-en-
crypt the message part Kx(Ro, M). Only the addressee x
can decrypt the resulting output because x created both
85 Communications February t981
of Volume24
the ACM Number2
R~ and Kx. The mix must not allow address parts to be
repeated--for the same reason that items of regular mail
must not be repeated. This means that x must supply y
with a return address for each item of mail x wishes to
receive. Also notice that conventional as opposed to
public key cryptography could be used for both encryp-
tions of M.
With a cascade of mixes, the message part is prepared
the same as for a single mix, and the address part is as
shown in the following input:
Ki(R1, K2(R2..... Kn-1,(Rn-1,Kn(Rn,Ax))...)),
Kx(Ro, M) .--.)..
The result of the first mix is
K2(R2,..., Kn-l(Rn-1, Kn(Rn, Ax))-..),
RffKI( Ro, M)) .-.-),
and the final result of the remaining n - 1 mixes is
A~, Rn(R,_~ ... R2(Ra(K,,(Ro, M))) ...).
Untraceable return addresses allow the possibility of
certified mail: They can provide the sender of an anon-
ymous letter with a receipt attesting to the fact that the
letter appeared intact in the final output batch. The
address A that is incorporated in a certified letter is
expanded to include not only the usual address of the
recipient, but also an untraceable return address for the
sender. When this return address appears in the output
batch of the final mix, it is used to mail the sender a
signed receipt which includes the message as well as the
address to which it was delivered. The receipt might be
signed by each mix.
Digital Pseudonyms
A digital pseudonym is a public key used to verify
signatures made by the anonymous holder of the corre-
sponding private key. A roster, or list of pseudonyms, is
created by an authority that decides which applications
for pseudonyms to accept, but is unable to trace the
pseudonyms in the completed roster. The applications
may be sent to the authority anonymously, by untrace-
able mail, for example, or they may be provided in some
other way.
Each application received by the authority contains
all the information required for the acceptance decision
and a special unaddressed digital letter (whose message
is the public key K, the applicant's proposed pseudo-
nym). In the case of a single mix, these letters are of the
form Ki(Rx, K). For a cascade of n mixes, they are of the
form Kn(R...... K2(R2, Ki(R~, K)) ...). The authority
will form an input batch containing only those unad-
86
dressed letters from the applications it accepts. This input
batch will be supplied to a special cascade whose final
output batch will be publically available. Since each
entry in the final output batch of the cascade is a public
key K from an accepted applicant, the signed output of
the final mix is a roster of digital pseudonyms.
Notification of applicants can be accomplished by
also forming a roster for unaccepted applications and
then using the technique of certified mail to return a
single batch of receipts to both sets of applicants. Of
course, repeats must not be allowed within or across
batches.
If only registered voters are accepted for a particular
roster, then it can be used to carry out an election. For
a single mix, each voter submits a ballot of the form
KI(RI, K, K-i(C, V)), where K is the voter's pseudonym
and V is the actual vote. For a cascade of mixes, ballots
are of the form K,(Rn ..... K2(R2, Ki(Ri, K, K -1
(C, V))) ...). The ballots must be processed as a single
batch, as were the letters used to form rosters. Items in
the final lexicographicaUy ordered output batch are of
the form K, K-I(C, V). Since the roster of regis-
tered voters is also ordered on K, it is easy for anyone to
count the votes by making a single pass through both
batches at once. Each ballot is counted only after check-
ing that the pseudonym K which forms its prefix, is also
contained in the roster and that the pseudonym properly
decrypts the signed vote K
An individual might be known to an organization
only by a pseudonym that appears in a roster of accept-
able clients. Clients can correspond with the organization
via untraceable mail and the organization can corre-
spond with the clients using untraceable return addresses.
If applicants identify themselves in their applications, or
if they sign applications with pseudonyms that appear in
a roster issued by an authority that requires identifica-
tion, then the organization is assured that the same client
cannot come to it under different pseudonyms. Under
special circumstances, such as default of payment, a
particular pseudonym could be shown to correspond to
a particular application (without revealing any other
correspondences) if each mix in turn supplied the appro-
priate Ri.
General Purpose Mail Systems
One way to construct a general purpose, untraceable
mail system is to require that every message pass through
a cascade. Of course, mixes can operate continuously or
periodically, and long messages will be encrypted first
and then split into multiple items. In order to hide the
number of messages sent, each participant supplies the
same number of messages to each batch (some of which
might be randomly addressed dummies). In order to hide
the number of messages received, each participant pri-
vately searches the entire output for messages directed
to it.
Communications February 1981
of Volume24
the ACM Number 2
Such a system may prove too costly for some partic- A 1:
ipants. One way to reduce the cost is to allow mail to be
addressed to subsets of participants, such as a local net.
Participants that take advantage of such arrangements
need search only the mail addressed to a particular
subset. Another way to economize is for a participant to
send for each batch only the number of dummy messages
suggested by a random value (chosen from some suitable A2:
distribution), as opposed to always sending the maximal
number of messages. This can substantially reduce mes-
sage traffic and consequently, the size of output batches.
While these techniques may open the door to some kinds
of statistical attack, the system size that necessitated them
may reduce the effectiveness of such attacks.
In a large, general purpose mail system with many
mixes, it may be impractical for every message to pass
through every mix. In such a case, a sequence of mixes
will be selected for each message, perhaps on the basis
of network topology or trust. Notice that if a participant
can choose mixes it trusts with its traffic volume data as
early members of its sequences, then these mixes can
discard dummies they receive from the participant and
deriver small, fixed-sized batches (padded with dummies)
directly to the participant.
A new kind of mix will be presented here that allows
a sequence of mixes to be selected for each message. It
also (a) hides the number and identity of the mixes a
message must pass through, (b) allows incrimination of
a mix that does not properly forward items, and (c)
makes no distinction between regular mail and mail sent
by untraceable return address. It is based on the idea
that every item of mail is composed of the same number
of fixed-sized blocks.
The operations performed by this new kind of mix
are always the same. First it removes the first block and
adds a random block J of junk to the end, to maintain
the item's length of l blocks. Then, using its private key,
the mix decrypts the block removed during the first step.
This yields a key R, which the mix uses to encrypt each
of the l blocks of the item (using either pubric key or
conventional cryptography). It also yields the address A
(either of a recipient or of another mix) to which the item A2:
will be forwarded.
The left-hand side of the following shows how an
item is prepared to pass through a single mix:
A~: [KA,(RA,, A)], [R~:(M~)], [R]:(M2)] .....
[R]~(Mi-1)] ~ A: [M1]..... [Ml-1], [RAi(JAi)],
where square brackets show the extent of each block,
and the sealed message Ka(Ro, M) is divided into pieces
Mi, such that Ka(Ro, M) = M1, M2..... ml-n. The Ai:
indicates that the left-hand side is delivered to mix A,,
while the A: means that the right-hand side is delivered
to address A. Items with the same first block should be
regarded as repeats.
A message prepared to be passed through mixes A1
through An has the form
871
[KA,(RA,, A2)], [RA~(KA2(RA2, A3))] .....
[R]~(R~ ... R]~_,(KA.(RA,, A)) ..-)],
[R]~(R]~... R]](M1) ...] .....
--1 --1 Raln(ml_tt) .. ,)] ,.,,,,,,,,..~.[RAi(RA 2 ''°
The result leaving A1is
[KA2(J~A2,A3)], [RA~(KA3(RA3,..44))] .....
[R]~(R]]... RA]_,(KA,(RAn, A )) ---)],
[Ra~(Ra] ... R]a,(M~) ...)] .....
[R]~(R]~ ... Rib(Mr-n) ...)], [RA,( JA~)] -'~,
and the final result leaving An is
A: [M1], [M2]..... [MI-n],
[RA.(RA._, ''' RAi(JA,) "" ")] .... , [RA,,(JA.)].
An intermediate mix always knows which mix it received
its input from--by assumption (2)--but if a mix broad-
casts copies of its fixed:sized output batches, then only
individual recipient mixes need be able to recognize their
own input in a broadcast batch.
The untraceable return address x sends to y contains
the key K,~ that y uses to encrypt the message part. It
also includes, in the case of a single mix, what y will use
as the first block of the item it submits to the mix:
Ai: [KA,(RA,, Ax)], [Ma] .... , [Ml-1]
Ax: [RAi(M1)]..... [RA,(Mi-1)], [RA,(JA,)],
where K,,(Ro, M) = M1, M2..... Ml-n. Only x can
decrypt the item it receives since it created RA t and Kx.
When a message is to pass through n mixes, the untrace-
able return address contains the first n blocks:
Ai: [KA,(RA,, A2)], [R~(KA2(RAs, Aa))].....
[R]~(R]~ ... R]]_,(KA.(RA,, A~)) ...)],
[M1], [M2], • •., [Ml-n] "-}.
After being operated on by mix A1 it will have the form
[KA~(RA~,A3)].....
[RA~(RA] • '' RA~lm(KA.(RA., Ax)) ...)], [RA,(M1)],
[RAi(M2)] .... , [RA,(gt-n)], [RAi(JA,) ] -->,
and the final result leaving An is
hx: [RA.(RA._, ''' RA,(M~) ..-)] .....
[RA°(RA°_, .-" RAAMz-.) "" ")],
[RA.(RA._, .'' RA,(JA1) "" ")] ..... [RA.(JA.)].
Summary and Conclusion
A solution to the traffic analysis problem has been
presented that allows any single intermediary to provide
security for those messages passing through it. In addi-
Communications February 1981
of Volume 24
the ACM Number 2
tion, the solution allows messages to be sent or received
anonymously. Through the notion of a roster of pseu-
donyms, it also provides some new and interesting kinds
of limited anonymity.
Acknowledgments. I owe a great deal to R. Fabry's
outstanding and multifaceted support. Special thanks are
due C. S6quin, who has read my work with great care
and provided many stimulating discussions. I would also
like to thank D. Gusfield, B. Mont-Reynaud, A. Moose,
and S. Wecker for their comments and encouragement.
The referees have been very helpful.
Received 2/79; accepted 4/80; revised 10/80
Technical Note
Operations and H. Morgan
Management Editor
On Uniformly Inserting One
Data Structure into Another
Arnold L. Rosenberg
IBM Thomas J. Watson Research Center
References
1. Baran,P. On distributedcommunications:IX securitysecrecy
and tamper-freeconsiderations.MemoRM-3765-PR,Rand Corp.,
Santa Monica,CA, Aug. 1964.
2. Diffie,W.and Hellman,M.E.New directionsin cryptography.
IEEE Trans. Information Theory 1T-22, 6 (Nov. 1976),644-654.
3. Kahn,D. TheCodeBreakers, The Story of Secret Writing.
Macmillan,New York, 1967.
4. Merkle,R.C. Securecommunicationsoverinsecurechannels.
Comm. ACM 21, 4 (Apt. 1978),294-299.
5. Rivest,R.L.,Shamir,A., and Adleman,L. A methodfor
obtainingdigitalsignaturesand public-keycryptosystems.Comm.
ACM 21, 2 (Feb. 1977),120-126.
Corrigendum. Technical Note, Graphics and Image Pro-
cessing
M.L.V. Pitteway and D.J. Watkinson, "Bresenham's Al-
gorithm with Grey Scale," Comm. A CM 23, 11 (Nov.
1980), 625-626.
The figure on p. 626 has been printed erroneously. The
correct figure should have the black portions on top and
be reversed as per the description in the figure caption.
Two recent papers (131 and lid def'me the operation
of uniform insertion of one data structure in another, as
a step toward a structured methodology for defining
data structures. This note repairs a flaw in the
definition of this operation that occurs in both of the
cited papers.
Key Words and Phrases: data structures, uniform
insertion, uniform substitution
CR Category: 4.34
Shneiderman and Scheuermann [3] have defined an
operation uniform insertion on a pair of data structures
whereby an instance of one of the structures is appended
from each data node of the other. Hollander [I] has
noted a potential inconsistency in the Shneiderman-
Scheuermann definition of uniform insertion and has
proposed an addendum to the definition which precludes
the inconsistency. However, all three authors seem to
have missed a fundamental flaw in the original definition
of uniform insertion, a flaw which persists in Hollander's
modified definition. Before exposing and repairing the
flawed definition, the notion of a structured data structure
from [1, 3] is paraphrased.
Definition 1. A structured data structure (sds, for
short) is a system
Z = (e, D, L, F)
which specifies a connected edge-labelled directed graph
in the following way:
(a) {e} O D is the set of nodes of the graph;
(b) L is the set of edge labels of the graph;
(c) F : ((e} U D) X L ~ D is the (not necessarily total)
edge-specification function. Note in particular that
the entry node e has indegree 0.
Permission to copy without fee all or part of this material is
granted provided that the copies are not made or distributed for direct
commercial advantage, the ACM copyright notice and the title of the
publication and its date appear, and notice is given that copying is by
permission of the Association for Computing Machinery. To copy
otherwise, or to republish, requires a fee and/or specific permission.
Author's present address: Arnold L. Rosenberg, Mathematical
Sciences Department, IBM Thomas J. Watson Research Center, York-
town Heights, New York 10598.
ACM wishes to extend an apology to the author for the extra-
ordinarily long delay in the publication of this note, which was due to
no fault of his own.
© 1981 ACM 0001-0782/81/0200-0088 $00.75.
88 Communications February 1981
of Volume 24
the ACM Number 2

More Related Content

Similar to Untraceable electronic mail, return addresses and digital pseudonyms - David L. Chaum, 1981 (20)

PDF
AUTHENTICATED PUBLIC KEY ENCRYPTION SCHEME USING ELLIPTIC CURVE CRYPTOGRAPHY
ijujournal
 
PDF
AUTHENTICATED PUBLIC KEY ENCRYPTION SCHEME USING ELLIPTIC CURVE CRYPTOGRAPHY
ijujournal
 
PPT
Digital signature schemes
ravik09783
 
PDF
ZeroKnowledge Nominative Signatures
Seungjoo Kim
 
PDF
Review paper on Reed Solomon (204,188) Decoder for Digital Video Broadcasting...
IRJET Journal
 
PPT
Message Authentication
Ram Dutt Shukla
 
PPTX
basicsofcodingtheory-160202182933-converted.pptx
upendrabhatt13
 
PDF
Multiple Dimensional Fault Tolerant Schemes for Crypto Stream Ciphers
IJNSA Journal
 
PDF
Multiple Dimensional Fault Tolerant Schemes for Crypto Stream Ciphers
IJNSA Journal
 
PDF
Threshold-optimal DSAECDSA signatures and an application to Bitcoin wallet se...
National Chengchi University
 
PDF
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
Kathirvel Ayyaswamy
 
PDF
18CS2005 Cryptography and Network Security
Kathirvel Ayyaswamy
 
PDF
Analysis and Evolution of SHA-1 Algorithm - Analytical Technique
IJCNCJournal
 
PDF
Analysis and Evolution of SHA-1 Algorithm - Analytical Technique
IJCNCJournal
 
PDF
MESSAGE EMBEDDED CIPHER USING 2-D CHAOTIC MAP
ijccmsjournal
 
PDF
Message Embedded Cipher Using 2-D Chaotic Map
ijccmsjournal
 
PDF
Presentation on Cryptography_Based on IEEE_Paper
Nithin Cv
 
PDF
A Modified approach for implementation of an efficient padding scheme in a di...
dannyijwest
 
PDF
A Modified approach for implementation of an efficient padding scheme in a di...
dannyijwest
 
PDF
Symmetric Key Generation Algorithm in Linear Block Cipher Over LU Decompositi...
ijtsrd
 
AUTHENTICATED PUBLIC KEY ENCRYPTION SCHEME USING ELLIPTIC CURVE CRYPTOGRAPHY
ijujournal
 
AUTHENTICATED PUBLIC KEY ENCRYPTION SCHEME USING ELLIPTIC CURVE CRYPTOGRAPHY
ijujournal
 
Digital signature schemes
ravik09783
 
ZeroKnowledge Nominative Signatures
Seungjoo Kim
 
Review paper on Reed Solomon (204,188) Decoder for Digital Video Broadcasting...
IRJET Journal
 
Message Authentication
Ram Dutt Shukla
 
basicsofcodingtheory-160202182933-converted.pptx
upendrabhatt13
 
Multiple Dimensional Fault Tolerant Schemes for Crypto Stream Ciphers
IJNSA Journal
 
Multiple Dimensional Fault Tolerant Schemes for Crypto Stream Ciphers
IJNSA Journal
 
Threshold-optimal DSAECDSA signatures and an application to Bitcoin wallet se...
National Chengchi University
 
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
Kathirvel Ayyaswamy
 
18CS2005 Cryptography and Network Security
Kathirvel Ayyaswamy
 
Analysis and Evolution of SHA-1 Algorithm - Analytical Technique
IJCNCJournal
 
Analysis and Evolution of SHA-1 Algorithm - Analytical Technique
IJCNCJournal
 
MESSAGE EMBEDDED CIPHER USING 2-D CHAOTIC MAP
ijccmsjournal
 
Message Embedded Cipher Using 2-D Chaotic Map
ijccmsjournal
 
Presentation on Cryptography_Based on IEEE_Paper
Nithin Cv
 
A Modified approach for implementation of an efficient padding scheme in a di...
dannyijwest
 
A Modified approach for implementation of an efficient padding scheme in a di...
dannyijwest
 
Symmetric Key Generation Algorithm in Linear Block Cipher Over LU Decompositi...
ijtsrd
 

More from Dan Vitoriano (20)

PDF
Node.js e Express
Dan Vitoriano
 
PDF
Workshop React Hooks
Dan Vitoriano
 
PDF
AMP Roadshow SP 2019 - Web Apps Modernas
Dan Vitoriano
 
PDF
JavaScript das Ruas
Dan Vitoriano
 
PDF
CSS in JS - Escrevendo CSS no JavaScript - Dan Vitoriano
Dan Vitoriano
 
PDF
Times digitais de alta performance - Tera e Endeavor
Dan Vitoriano
 
PDF
GraphQL - A Graph Query Language to your API
Dan Vitoriano
 
PDF
Mobile First e Offline First
Dan Vitoriano
 
PDF
React Native
Dan Vitoriano
 
PDF
Pdsp #3
Dan Vitoriano
 
PDF
Pdsp #2
Dan Vitoriano
 
PDF
Meetup Processos de Desenvolvimento São Paulo - Gamestorming
Dan Vitoriano
 
PPTX
Unit Test JavaScript
Dan Vitoriano
 
PDF
The computer for the 21st century - Mark Weiser, 1991
Dan Vitoriano
 
PPTX
Especificações UX/UI CMA Tablet
Dan Vitoriano
 
PDF
User experience guidelines for Universal Windows Platform (UWP) appsUwp app d...
Dan Vitoriano
 
PDF
Fullcircle papers - Sobre Blogs
Dan Vitoriano
 
PPTX
Apresentação FEMUG-ABC
Dan Vitoriano
 
PPTX
Planejamento estratégico de comunicação digital - Dados sobre internet e mobi...
Dan Vitoriano
 
PPTX
Google Material Design - Conceito, aplicações, código e web components
Dan Vitoriano
 
Node.js e Express
Dan Vitoriano
 
Workshop React Hooks
Dan Vitoriano
 
AMP Roadshow SP 2019 - Web Apps Modernas
Dan Vitoriano
 
JavaScript das Ruas
Dan Vitoriano
 
CSS in JS - Escrevendo CSS no JavaScript - Dan Vitoriano
Dan Vitoriano
 
Times digitais de alta performance - Tera e Endeavor
Dan Vitoriano
 
GraphQL - A Graph Query Language to your API
Dan Vitoriano
 
Mobile First e Offline First
Dan Vitoriano
 
React Native
Dan Vitoriano
 
Pdsp #3
Dan Vitoriano
 
Pdsp #2
Dan Vitoriano
 
Meetup Processos de Desenvolvimento São Paulo - Gamestorming
Dan Vitoriano
 
Unit Test JavaScript
Dan Vitoriano
 
The computer for the 21st century - Mark Weiser, 1991
Dan Vitoriano
 
Especificações UX/UI CMA Tablet
Dan Vitoriano
 
User experience guidelines for Universal Windows Platform (UWP) appsUwp app d...
Dan Vitoriano
 
Fullcircle papers - Sobre Blogs
Dan Vitoriano
 
Apresentação FEMUG-ABC
Dan Vitoriano
 
Planejamento estratégico de comunicação digital - Dados sobre internet e mobi...
Dan Vitoriano
 
Google Material Design - Conceito, aplicações, código e web components
Dan Vitoriano
 
Ad

Recently uploaded (20)

PDF
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PDF
Per Axbom: The spectacular lies of maps
Nexer Digital
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PPTX
The Future of AI & Machine Learning.pptx
pritsen4700
 
PDF
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
Build with AI and GDG Cloud Bydgoszcz- ADK .pdf
jaroslawgajewski1
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PDF
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
PPTX
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
PPTX
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
Per Axbom: The spectacular lies of maps
Nexer Digital
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
The Future of AI & Machine Learning.pptx
pritsen4700
 
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
Build with AI and GDG Cloud Bydgoszcz- ADK .pdf
jaroslawgajewski1
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
The Future of Artificial Intelligence (AI)
Mukul
 
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
Ad

Untraceable electronic mail, return addresses and digital pseudonyms - David L. Chaum, 1981

  • 1. Technical Note Programming Techniques and Data Structures R. Rivest Editor Untraceable Electronic Mail, Return Addresses, and Digital Pseudonyms David L. Chaum University of California, Berkeley A technique based on public key cryptography is presented that allows an electronic mail system to hide who a participant communicates with as well as the content of the communication--in spite of an unsecured underlying telecommunication system. The technique does not require a universally trusted authority. One correspondent can remain anonymous to a second, while allowing the second to respond via an untraceble return address. The technique can also be used to form rosters of untraceable digital pseudonyms from selected applica- tions. Applicants retain the exclusive ability to form digital signatures corresponding to their pseudonyms. Elections in which any interested party can verify that the ballots have been properly counted are possible if anonymously mailed ballots are signed with pseudonyms from a roster of registered voters. Another use allows an individual to correspond with a record-keeping organi- zation under a unique pseudonym which appears in a roster of acceptable clients. Key Words and Phrases: electronic mail, public key cryptosystems, digital signatures, traffic analysis, secu- rity, privacy CR Categories: 2.12, 3.81 Introduction Cryptology is the science of secret communication. Cryptographic techniques have been providing secrecy Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. This work was partially supported by the National Science Foun- dation under Grant MCS 75-23739 and by the Air Force Office of Scientific Research under Contract F49620-79-CO 173. Author's present address: Computer Science Division, Electrical Engineering and Computer Sciences Department, University of Cali- fornia, Berkeley, California 94720. (415) 642-1024. © 1981 ACM 0001-0782/81/0200--0084 $00.75. of message content for thousands of years [3]. Recently, some new solutions to the "key distribution problem" (the problem of providing each communicant with a secret key) have been suggested [2, 4], under the name of public key cryptography. Another cryptographic prob- lem, "the traffic analysis problem" (the problem of keep- ing confidential who converses with whom, and when they converse), will become increasingly important with the growth of electronic mail. This paper presents a solution to the traffic analysis problem that is based on public key cryptography. Baran has solved the traffic analysis problem for networks [1], but requires each participant to trust a common authority. In contrast, systems based on the solution advanced here can be compromised only by subversion or conspiracy of all of a set of authorities. Ideally, each participant is an au- thority. The following two sections introduce the notation and assumptions. Then the basic concepts are introduced for some special cases involving a series of one or more authorities. The final section covers general purpose mail networks. Notation Someone becomes a user of a public key cryptosystem (like that of Rivest, Shamir, and Adleman [5])by creating a pair of keys K and K-1 from a suitable randomly generated seed. The public key K is made known to the other users or anyone else who cares to know it; the private key K-~ is never divulged. The encryption of X with key K will be denoted K(X), and is just the image of X under the mapping implemented by the crypto- graphic algorithm using key K. The increased utility of these algorithms over conventional algorithms results because the two keys are inverses of each other, in the sense that K-I(K(X)) = K(K-~(X)) = X. A message X is sealed with a public key K so that only the holder of the private key K-1 can discover its content. If X is simply encrypted with K, then anyone could verify a guess that Y = X by checking whether K(Y) = K(X). This threat can be eliminated by attaching a large string of random bits R to X before encrypting. The sealing of X with K is then denoted K(R, X). A user signs some material X by prepending a large constant C (all zeros, for example) and then encrypting with its private key, denoted K-~(C, X) -- Y. Anyone can verify that Y has been signed by the holder of K -a and determine the signed matter X, by forming K(Y) = C, X, and checking for C. Assumptions The approach taken here is based on two important assumptions: 84 Communications February 1981 of Volume 24 the ACM Number 2
  • 2. (1) No one can determine anything about the corre- spondences between a set of sealed items and the corresponding set of unsealed items, or create for- geries without the appropriate random string or private key. (2) Anyone may learn the origin, destination(s), and representation of all messages in the underlying telecommunication system and anyone may inject, remove, or modify messages. Mail System The users of the cryptosystem will include not only the correspondents but a computer called a mix that will process each item of mail before it is delivered. A partic- ipant prepares a message M for delivery to a participant at address A by sealing it with the addressee's pubfic key Ka, appending the address A, and then sealing the result with the mix's public key K1. The left-hand side of the following expression denotes this item which is input to the mix: Ki(R1, K~(Ro, M), .4) ~ Ka(Ro, M), A. The ~ denotes the transformation of the input by the mix into the output shown on the right-hand side. The mix decrypts its input with its private key, throws away the random string R1, and outputs the remainder. One might imagine a mechanism that forwards the sealed messages Ka(Ro, M) of the output to the addressees who then decrypt them with their own private keys. The purpose of a mix is to hide the correspondences between the items in its input and those in its output. The order of arrival is hidden by outputting the uni- formly sized items in lexicographically ordered batches. By assumption (1) above, there need be no concern about a cryptoanalytic attack yielding the correspondence be- tween the sealed items of a mix's input and its unsealed output--if items are not repeated. However, if just one item is repeated in the input and is allowed to be repeated in the output, then the correspondence is revealed for that item. Thus, an important function of a mix is to ensure that no item is processed more than once. This function can be readily achieved by a mix for a particular batch by removing redundant copies before outputting the batch. If a single mix is used for multiple batches, then one way that repeats aross batches can be detected is for the mix to maintain a record of items used in previous batches. (Records can be discarded once a mix changes its public key by, for example, announcing the new key in a statement signed with its old private key.) A mix need not retain previous batches if part of each random string Ra contains something--such as a time-stamp-- that is only valid for a particular batch. If a participant gets signed receipts for messages it submits to a mix, then the participant can provide sub- stantial evidence that the mix failed to output an item properly. Only a wronged participant can supply the receipt Y (=Ka-~(C, K~(Ri, Ka(Ro, M), A ))), the missing output X (=Ka(R0, M), A), and the retained string R1, such that K~(Y) = C, KI(R1,S). Because a mix will sign each output batch as a whole, the absence of an item X from a batch can be substantiated by a copy of the signed batch. The use of a cascade, or series of mixes, offers the advantage that any single constituent mix is able to provide the secrecy of the correspondence between the inputs and the outputs of the entire cascade. Incrimina- tion of a particular mix of a cascade that failed to properly process an item is accomplished as with a single mix, but only requires a receipt from the first mix of the cascade, since a mix can use the signed output of its predecessor to show the absence of an item from its own input. An item is prepared for a cascade of n mixes the same as for a single mix. It is then successively sealed for each succeeding mix: Kn(Rn, Kn-i( Rn-1..... K2(R2, KI(R1, Ka(Ro, M), A)) ... )) ..-~. The first mix yields a lexicographically ordered batch of items, each of the form gn-l( Rn-1..... K2(R2, Ki(Ra, ga( Ro, M), A )) ...) "). The items in the final output batch of a cascade are of the form K,,(Ro, M), A, the same as those of a single mix. Return Addresses The techniques just described allow participant x to send anonymous messages to participant y. What is needed now is a way for y to respond to x while still keeping the identity of x secret from y. A solution is for x to form an untraceable return address Ki(R1, Ax), Kx, where Ax is its own real address, Kx is a public key chosen for the occasion, and R1 is a key that will also act as a random string for purposes of sealing. Then, x can send this return address to y as part of a message sent by the techniques already described. (In general, two partic- ipants can exchange return addresses through a chain of other participants, where at least one member of each adjacent pair knows the identity of the other member of the pair.) The following indicates how y uses this untrace- able return address to form a response to x, via a new kind of mix: Ki(Ri, Ax), Kx(e0, M) -.~ A,,, R~(K,,(Ro, M)). This mix uses the string of bits R1 that it finds after decrypting the address part Ki(R1, Ax) as a key to re-en- crypt the message part Kx(Ro, M). Only the addressee x can decrypt the resulting output because x created both 85 Communications February t981 of Volume24 the ACM Number2
  • 3. R~ and Kx. The mix must not allow address parts to be repeated--for the same reason that items of regular mail must not be repeated. This means that x must supply y with a return address for each item of mail x wishes to receive. Also notice that conventional as opposed to public key cryptography could be used for both encryp- tions of M. With a cascade of mixes, the message part is prepared the same as for a single mix, and the address part is as shown in the following input: Ki(R1, K2(R2..... Kn-1,(Rn-1,Kn(Rn,Ax))...)), Kx(Ro, M) .--.).. The result of the first mix is K2(R2,..., Kn-l(Rn-1, Kn(Rn, Ax))-..), RffKI( Ro, M)) .-.-), and the final result of the remaining n - 1 mixes is A~, Rn(R,_~ ... R2(Ra(K,,(Ro, M))) ...). Untraceable return addresses allow the possibility of certified mail: They can provide the sender of an anon- ymous letter with a receipt attesting to the fact that the letter appeared intact in the final output batch. The address A that is incorporated in a certified letter is expanded to include not only the usual address of the recipient, but also an untraceable return address for the sender. When this return address appears in the output batch of the final mix, it is used to mail the sender a signed receipt which includes the message as well as the address to which it was delivered. The receipt might be signed by each mix. Digital Pseudonyms A digital pseudonym is a public key used to verify signatures made by the anonymous holder of the corre- sponding private key. A roster, or list of pseudonyms, is created by an authority that decides which applications for pseudonyms to accept, but is unable to trace the pseudonyms in the completed roster. The applications may be sent to the authority anonymously, by untrace- able mail, for example, or they may be provided in some other way. Each application received by the authority contains all the information required for the acceptance decision and a special unaddressed digital letter (whose message is the public key K, the applicant's proposed pseudo- nym). In the case of a single mix, these letters are of the form Ki(Rx, K). For a cascade of n mixes, they are of the form Kn(R...... K2(R2, Ki(R~, K)) ...). The authority will form an input batch containing only those unad- 86 dressed letters from the applications it accepts. This input batch will be supplied to a special cascade whose final output batch will be publically available. Since each entry in the final output batch of the cascade is a public key K from an accepted applicant, the signed output of the final mix is a roster of digital pseudonyms. Notification of applicants can be accomplished by also forming a roster for unaccepted applications and then using the technique of certified mail to return a single batch of receipts to both sets of applicants. Of course, repeats must not be allowed within or across batches. If only registered voters are accepted for a particular roster, then it can be used to carry out an election. For a single mix, each voter submits a ballot of the form KI(RI, K, K-i(C, V)), where K is the voter's pseudonym and V is the actual vote. For a cascade of mixes, ballots are of the form K,(Rn ..... K2(R2, Ki(Ri, K, K -1 (C, V))) ...). The ballots must be processed as a single batch, as were the letters used to form rosters. Items in the final lexicographicaUy ordered output batch are of the form K, K-I(C, V). Since the roster of regis- tered voters is also ordered on K, it is easy for anyone to count the votes by making a single pass through both batches at once. Each ballot is counted only after check- ing that the pseudonym K which forms its prefix, is also contained in the roster and that the pseudonym properly decrypts the signed vote K An individual might be known to an organization only by a pseudonym that appears in a roster of accept- able clients. Clients can correspond with the organization via untraceable mail and the organization can corre- spond with the clients using untraceable return addresses. If applicants identify themselves in their applications, or if they sign applications with pseudonyms that appear in a roster issued by an authority that requires identifica- tion, then the organization is assured that the same client cannot come to it under different pseudonyms. Under special circumstances, such as default of payment, a particular pseudonym could be shown to correspond to a particular application (without revealing any other correspondences) if each mix in turn supplied the appro- priate Ri. General Purpose Mail Systems One way to construct a general purpose, untraceable mail system is to require that every message pass through a cascade. Of course, mixes can operate continuously or periodically, and long messages will be encrypted first and then split into multiple items. In order to hide the number of messages sent, each participant supplies the same number of messages to each batch (some of which might be randomly addressed dummies). In order to hide the number of messages received, each participant pri- vately searches the entire output for messages directed to it. Communications February 1981 of Volume24 the ACM Number 2
  • 4. Such a system may prove too costly for some partic- A 1: ipants. One way to reduce the cost is to allow mail to be addressed to subsets of participants, such as a local net. Participants that take advantage of such arrangements need search only the mail addressed to a particular subset. Another way to economize is for a participant to send for each batch only the number of dummy messages suggested by a random value (chosen from some suitable A2: distribution), as opposed to always sending the maximal number of messages. This can substantially reduce mes- sage traffic and consequently, the size of output batches. While these techniques may open the door to some kinds of statistical attack, the system size that necessitated them may reduce the effectiveness of such attacks. In a large, general purpose mail system with many mixes, it may be impractical for every message to pass through every mix. In such a case, a sequence of mixes will be selected for each message, perhaps on the basis of network topology or trust. Notice that if a participant can choose mixes it trusts with its traffic volume data as early members of its sequences, then these mixes can discard dummies they receive from the participant and deriver small, fixed-sized batches (padded with dummies) directly to the participant. A new kind of mix will be presented here that allows a sequence of mixes to be selected for each message. It also (a) hides the number and identity of the mixes a message must pass through, (b) allows incrimination of a mix that does not properly forward items, and (c) makes no distinction between regular mail and mail sent by untraceable return address. It is based on the idea that every item of mail is composed of the same number of fixed-sized blocks. The operations performed by this new kind of mix are always the same. First it removes the first block and adds a random block J of junk to the end, to maintain the item's length of l blocks. Then, using its private key, the mix decrypts the block removed during the first step. This yields a key R, which the mix uses to encrypt each of the l blocks of the item (using either pubric key or conventional cryptography). It also yields the address A (either of a recipient or of another mix) to which the item A2: will be forwarded. The left-hand side of the following shows how an item is prepared to pass through a single mix: A~: [KA,(RA,, A)], [R~:(M~)], [R]:(M2)] ..... [R]~(Mi-1)] ~ A: [M1]..... [Ml-1], [RAi(JAi)], where square brackets show the extent of each block, and the sealed message Ka(Ro, M) is divided into pieces Mi, such that Ka(Ro, M) = M1, M2..... ml-n. The Ai: indicates that the left-hand side is delivered to mix A,, while the A: means that the right-hand side is delivered to address A. Items with the same first block should be regarded as repeats. A message prepared to be passed through mixes A1 through An has the form 871 [KA,(RA,, A2)], [RA~(KA2(RA2, A3))] ..... [R]~(R~ ... R]~_,(KA.(RA,, A)) ..-)], [R]~(R]~... R]](M1) ...] ..... --1 --1 Raln(ml_tt) .. ,)] ,.,,,,,,,,..~.[RAi(RA 2 ''° The result leaving A1is [KA2(J~A2,A3)], [RA~(KA3(RA3,..44))] ..... [R]~(R]]... RA]_,(KA,(RAn, A )) ---)], [Ra~(Ra] ... R]a,(M~) ...)] ..... [R]~(R]~ ... Rib(Mr-n) ...)], [RA,( JA~)] -'~, and the final result leaving An is A: [M1], [M2]..... [MI-n], [RA.(RA._, ''' RAi(JA,) "" ")] .... , [RA,,(JA.)]. An intermediate mix always knows which mix it received its input from--by assumption (2)--but if a mix broad- casts copies of its fixed:sized output batches, then only individual recipient mixes need be able to recognize their own input in a broadcast batch. The untraceable return address x sends to y contains the key K,~ that y uses to encrypt the message part. It also includes, in the case of a single mix, what y will use as the first block of the item it submits to the mix: Ai: [KA,(RA,, Ax)], [Ma] .... , [Ml-1] Ax: [RAi(M1)]..... [RA,(Mi-1)], [RA,(JA,)], where K,,(Ro, M) = M1, M2..... Ml-n. Only x can decrypt the item it receives since it created RA t and Kx. When a message is to pass through n mixes, the untrace- able return address contains the first n blocks: Ai: [KA,(RA,, A2)], [R~(KA2(RAs, Aa))]..... [R]~(R]~ ... R]]_,(KA.(RA,, A~)) ...)], [M1], [M2], • •., [Ml-n] "-}. After being operated on by mix A1 it will have the form [KA~(RA~,A3)]..... [RA~(RA] • '' RA~lm(KA.(RA., Ax)) ...)], [RA,(M1)], [RAi(M2)] .... , [RA,(gt-n)], [RAi(JA,) ] -->, and the final result leaving An is hx: [RA.(RA._, ''' RA,(M~) ..-)] ..... [RA°(RA°_, .-" RAAMz-.) "" ")], [RA.(RA._, .'' RA,(JA1) "" ")] ..... [RA.(JA.)]. Summary and Conclusion A solution to the traffic analysis problem has been presented that allows any single intermediary to provide security for those messages passing through it. In addi- Communications February 1981 of Volume 24 the ACM Number 2
  • 5. tion, the solution allows messages to be sent or received anonymously. Through the notion of a roster of pseu- donyms, it also provides some new and interesting kinds of limited anonymity. Acknowledgments. I owe a great deal to R. Fabry's outstanding and multifaceted support. Special thanks are due C. S6quin, who has read my work with great care and provided many stimulating discussions. I would also like to thank D. Gusfield, B. Mont-Reynaud, A. Moose, and S. Wecker for their comments and encouragement. The referees have been very helpful. Received 2/79; accepted 4/80; revised 10/80 Technical Note Operations and H. Morgan Management Editor On Uniformly Inserting One Data Structure into Another Arnold L. Rosenberg IBM Thomas J. Watson Research Center References 1. Baran,P. On distributedcommunications:IX securitysecrecy and tamper-freeconsiderations.MemoRM-3765-PR,Rand Corp., Santa Monica,CA, Aug. 1964. 2. Diffie,W.and Hellman,M.E.New directionsin cryptography. IEEE Trans. Information Theory 1T-22, 6 (Nov. 1976),644-654. 3. Kahn,D. TheCodeBreakers, The Story of Secret Writing. Macmillan,New York, 1967. 4. Merkle,R.C. Securecommunicationsoverinsecurechannels. Comm. ACM 21, 4 (Apt. 1978),294-299. 5. Rivest,R.L.,Shamir,A., and Adleman,L. A methodfor obtainingdigitalsignaturesand public-keycryptosystems.Comm. ACM 21, 2 (Feb. 1977),120-126. Corrigendum. Technical Note, Graphics and Image Pro- cessing M.L.V. Pitteway and D.J. Watkinson, "Bresenham's Al- gorithm with Grey Scale," Comm. A CM 23, 11 (Nov. 1980), 625-626. The figure on p. 626 has been printed erroneously. The correct figure should have the black portions on top and be reversed as per the description in the figure caption. Two recent papers (131 and lid def'me the operation of uniform insertion of one data structure in another, as a step toward a structured methodology for defining data structures. This note repairs a flaw in the definition of this operation that occurs in both of the cited papers. Key Words and Phrases: data structures, uniform insertion, uniform substitution CR Category: 4.34 Shneiderman and Scheuermann [3] have defined an operation uniform insertion on a pair of data structures whereby an instance of one of the structures is appended from each data node of the other. Hollander [I] has noted a potential inconsistency in the Shneiderman- Scheuermann definition of uniform insertion and has proposed an addendum to the definition which precludes the inconsistency. However, all three authors seem to have missed a fundamental flaw in the original definition of uniform insertion, a flaw which persists in Hollander's modified definition. Before exposing and repairing the flawed definition, the notion of a structured data structure from [1, 3] is paraphrased. Definition 1. A structured data structure (sds, for short) is a system Z = (e, D, L, F) which specifies a connected edge-labelled directed graph in the following way: (a) {e} O D is the set of nodes of the graph; (b) L is the set of edge labels of the graph; (c) F : ((e} U D) X L ~ D is the (not necessarily total) edge-specification function. Note in particular that the entry node e has indegree 0. Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. Author's present address: Arnold L. Rosenberg, Mathematical Sciences Department, IBM Thomas J. Watson Research Center, York- town Heights, New York 10598. ACM wishes to extend an apology to the author for the extra- ordinarily long delay in the publication of this note, which was due to no fault of his own. © 1981 ACM 0001-0782/81/0200-0088 $00.75. 88 Communications February 1981 of Volume 24 the ACM Number 2