Translucent Databases

Translucent Databases
Order from Barnes & Noble with free shipping
Order from the publisher with free U.S. shipping..
Buy it from Amazon with free shipping.
Read the Table of Contents
Read the FAQ about Translucent Databases
Read a case study of how Amazon could protect the privacy of their customers with a translucent database.
Read a case study of how libraries can protect the security of their patrons.
Here's a list of Case Studies from the book
Support for Professors who use the book in courses.
Download the source code from the book.
Other Books by Peter Wayner
Contact the author: p3@wayner.org
Errors and Corrections
Take a Telecourse in the topic
Take a Full Day Course in Storing Sensitive Information with MySQL
Info for Bookstores
Check out the new title, Policing Online Games
Policing Online Games
Check out the new title, Java RAMBO Manifesto
Java RAMBO Manifesto
Translucent Database Cover



Additions
  • Anyone interested in the description of the private accounting mechanism in Chapter 11 may want to check out some of the privacy homomorphisms here:

    Rivest, R. L., L. Adleman, and M. L. Dertouzos, ``On data banks and privacy homomorphisms,'' Foundations of Secure Computation (edited by R. DeMillo, D. Dobkin, A. Jones, and R. Lipton) (New York: Academic Press, 1978), 169-180.

    There are a number of other neat randomized privacy homomorphisms in the literature.
  • Section 2.4.2 describes some of the mechanisms built into Postgres. One reader suggests that people take note of Postgres's ability to use stored procedures written in Perl. This is an easy way to add encryption or hashing.
  • Another reader suggests that I amplify the message about the quality of some of the built-in encryption in MySQL. While I use the built-in Encrypt or Encode features, I note that they're based on either proprietary or relatively antique technologies. The best algorithms aren't represented, although this should change. Please be advised that I don't recommend using Encode or Encrypt for data that must be seriously protected. Both are relatively weak. Try a modern function like AES.
Errors and Corrections

The first person to write in with a technical error will receive a $5 reward. Please keep your eyes open. Here are the conditions:

  1. Only the first person to submit an error will get paid. I reserve the right to issue multiple rewards if several people submit answers around the same time. The condition only exists to prevent people from minting money by telling all of their friends to send in a submission.
  2. The rewards only apply to technical errors. Grammatical corrections are welcome, but I think the field is too ambiguous to judge accurately. 
  3. This offer is subject to withdrawal at any time.

Watch this space. I'll post all notices of corrections here. Thank you.



Page Technical Error Thanks Go To
16 every bit in p should be every bit in x Mike Morton
32 adding in digits does not add a factor of 10^i; the factor is (62/52)^i Mike Morton


Typographical Errors
Here are some typographical errors reported by kind readers Mike Blackwell, Tim Lord, Mike Morton, and Michael Swiercz. If you spot any new ones, please send them along. Please accept my apologies about these.

Page Typographical Error
8 whetehr should be whether
10 the world of cryptography researcher should be research
11 "A spokesman said the act was approved and could lead..." should be "A spokesman said the act was not approved and could lead..."
13 User scrambles should be A user... or The user... ?
15 ex nihilio should be ex nihilo
17 ,like SHA should be like SHA with no comma.
30 person's address
30 The first sentence of section 3.2 was included by mistake. It's not really a sentence but some terms for the index. They should have been invisible.
30 Pittsburg should be Pittsburgh
31 newline may be one word
31 asterix is French; asterisk is English
33 The first partial sentence in section 3.3.1 shouldn't be there.
47 The italic 'f' makes info look like in f o [two places on this page]
48 the first INSERT INTO lacks the word INSERT
49 inscrutible should be inscrutable 
57-- babysitter may be one word to some
61 in tht way should be  in that way
71 lookup up bids should be  lookup   bids
71 functiondoes should be function does
78 round off errors should be roundoff errors
79 amoung should be among
79 XORing is  XOR'ing elsewhere
79 Similar solution should be A similar solution
89 predications should be predictions
89 Superbowl is two words, Super Bowl ( see, e.g., http://www.superbowl.com/)
89 I it invented should be I invented it .
98 everyone all players their predictions should be   all players reveal their predictions
99 predictionsm should be predictions
99 ticks should be tics in this sense
110 card sbefore should be cards before
112 can later reveal it to claim should be can later reveal it to claim the pot.
117 pointspread should be point spread
119 Spindoctor should be SpinDoctor
121 there's a spare int at the end of setInt(5,lod);
125 Some might say study-wide, not studywide
150 discrepaencies should be discrepancies
151 itmes should be items
157 That is an more should be ...a more
157 occassionally should be occasionally
158 Some say the title is Loves Labor Lost, with no possessive.
169 I think distracter should be distraction
169 prinicples should be principles
170  repeats the basic algorithm log2n should have times after it
170 mod pm provided by the database should be mod p ... ?
171 use more decoy should be decoys
177 BIM00: servers computation should be server's computation
177 Bra95: Publike
179 personallyidentifying should be personally identifying