Table of Contents for Translucent Databases 2nd Edition
Chapter |
|
Preface |
ix |
|
0.1 |
Original Preface |
x |
Chapter |
1 |
Translucency |
1 |
|
1.1 |
Some Examples |
5 |
|
1.2 |
Limits |
8 |
|
1.3 |
How to Use the Book |
9 |
|
1.4 |
Some Motivation |
9 |
Chapter |
2 |
One-Way Functions |
13 |
|
2.1 |
Pure One-Way Functions |
15 |
|
2.1.1 |
Discrete Log |
15 |
|
2.1.2 |
The Secure Hash Algorithm (SHA) |
17 |
|
2.1.3 |
SHA256, SHA384 and SHA512 |
18 |
|
2.1.4 |
MD5 |
18 |
|
2.2 |
Tiger |
19 |
|
2.3 |
Other Cryptographically Secure Hash Functions |
19 |
|
2.4 |
Public Key Functions |
19 |
|
2.5 |
Secret-Key Functions |
20 |
|
2.5.1 |
Turning a Secret-Key Function Into a Pure One-Way Function. |
21 |
|
2.5.2 |
Turning One-Way Functions Into Secret-Key Encryption Functions |
21 |
|
2.5.3 |
Using Two or More Functions |
22 |
|
2.5.4 |
Keying the Hash Functions |
22 |
|
2.6 |
Implementations |
23 |
|
2.6.1 |
MySQL |
23 |
|
2.6.2 |
PostgreSQL |
24 |
|
2.6.3 |
Oracle |
24 |
|
2.6.4 |
Client-side Applications |
25 |
|
2.7 |
Conclusions |
27 |
|
2.7.1 |
Lessons |
27 |
Chapter |
3 |
One-Way Tables |
29 |
|
3.1 |
An Example from a Department Store |
30 |
|
3.1.1 |
Adding Security |
31 |
|
3.2 |
Cleaning Up One-Way Input |
32 |
|
3.2.1 |
Some Java Code |
33 |
|
3.3 |
Security Trade-Offs |
34 |
|
3.3.1 |
Slowing the One-Way Functions |
35 |
|
3.3.2 |
Salt |
35 |
|
3.4 |
Adding Redundancy |
36 |
|
3.5 |
An Example with Encryption for Security |
38 |
|
3.5.1 |
Some Java Code |
39 |
|
3.6 |
Hashing Instead of Encryption |
40 |
|
3.7 |
Serial Queries |
41 |
|
3.8 |
Keeping Some Information in the Clear |
43 |
|
3.8.1 |
Inserting a Credit Card Number |
43 |
|
3.8.2 |
Using the Information |
44 |
|
3.9 |
Conclusions |
45 |
|
3.9.1 |
Lessons |
46 |
Chapter |
4 |
Fuzzy One-Way Functions |
47 |
|
4.1 |
Fuzziness through Linearity |
47 |
|
4.2 |
Statistical Hashes |
48 |
|
4.3 |
Combining Linear and Cryptographically Secure Hashes |
48 |
|
4.4 |
Block Hash Functions |
49 |
|
4.5 |
Triggered Hash Functions |
49 |
|
4.5.1 |
Normalizing and Comparing |
50 |
|
4.6 |
Conclusions |
50 |
|
4.6.1 |
Lessons |
50 |
Chapter |
5 |
Translucent XML |
53 |
|
5.1 |
XML Canonicalization |
54 |
|
5.1.1 |
Exclusive Canonicalization |
55 |
|
5.2 |
XML Signatures |
56 |
|
5.2.1 |
An Example |
56 |
|
5.3 |
Encryption |
58 |
|
5.4 |
Conclusions |
59 |
|
5.4.1 |
Lessons |
59 |
Chapter |
6 |
Quantization |
61 |
|
6.1 |
Algorithms |
62 |
|
6.1.1 |
Adaptive Quantization |
63 |
|
6.1.2 |
Projection |
66 |
|
6.2 |
Using Quantization In Databases |
67 |
|
6.2.1 |
Adding Random Noise |
68 |
|
6.2.2 |
Adding Encryption |
69 |
|
6.3 |
Quantized One-Way Functions |
71 |
|
6.3.1 |
One-Way Functions and Noise |
73 |
|
6.4 |
Conclusions |
74 |
|
6.4.1 |
Lessons |
74 |
Chapter |
7 |
Coordinating Users |
77 |
|
7.1 |
A Bulletin Board Example |
78 |
|
7.1.1 |
Adding a Shared Password |
78 |
|
7.2 |
Special One-Way Functions |
79 |
|
7.2.1 |
Creating A Public Key |
79 |
|
7.2.2 |
Using the Public Key |
81 |
|
7.2.3 |
Recovering Messages |
83 |
|
7.2.4 |
Using Public-Key One-Way Functions |
84 |
|
7.3 |
Conclusion |
85 |
|
7.3.1 |
Lessons |
85 |
Chapter |
8 |
Synchronization |
87 |
|
8.1 |
The Baby Sitter's Table |
87 |
|
8.2 |
Adding More Names |
89 |
|
8.3 |
Multiple Tables |
89 |
|
8.4 |
Adding Extra Information |
91 |
|
8.5 |
Security |
94 |
|
8.6 |
Conclusions |
95 |
|
8.6.1 |
Lessons |
96 |
Chapter |
9 |
Evolving Data |
97 |
|
9.1 |
An Auction Example |
98 |
|
9.1.1 |
The First Bid |
99 |
|
9.1.2 |
Adding New Bids |
100 |
|
9.1.3 |
Creating Bids |
101 |
|
9.1.4 |
The Value of the Counter Function |
102 |
|
9.1.5 |
Better Hash Functions |
102 |
|
9.2 |
Working With Encryption |
103 |
|
9.3 |
Conclusions |
103 |
|
9.3.1 |
Lessons |
104 |
Chapter |
10 |
Sharing |
105 |
|
10.1 |
The Algorithms |
105 |
|
10.1.1 |
More Precise Algorithms |
106 |
|
10.1.2 |
More Efficient Algorithms |
107 |
|
10.1.3 |
Adding Sophistication |
107 |
|
10.2 |
Nuclear Launch Codes |
108 |
|
10.2.1 |
Adding Launch Codes |
109 |
|
10.2.2 |
Recovering the Code |
110 |
|
10.2.3 |
Adding More Security |
110 |
|
10.3 |
A Public-Key Example |
112 |
|
10.3.1 |
Adding a Message |
112 |
|
10.3.2 |
Retrieving the Message |
113 |
|
10.4 |
Conclusions |
115 |
|
10.4.1 |
Lessons |
115 |
Chapter |
11 |
Revelation |
117 |
|
11.1 |
A Masquerade |
118 |
|
11.2 |
Lottery |
120 |
|
11.2.1 |
Paying for the Ticket |
120 |
|
11.2.2 |
Placing Bets |
121 |
|
11.2.3 |
Testing Winners |
123 |
|
11.3 |
Sports Poker and Multiple Columns |
124 |
|
11.3.1 |
Inserting Predictions |
125 |
|
11.3.2 |
Testing and Verifying |
128 |
|
11.4 |
Identity Cards and Selective Revelations |
129 |
|
11.4.1 |
The Basic Mathematics |
130 |
|
11.4.2 |
A Rental Car Example |
131 |
|
11.4.3 |
The License |
132 |
|
11.4.4 |
Proving Information |
133 |
|
11.4.5 |
The Rental Car Company |
136 |
|
11.5 |
Conclusions |
137 |
|
11.5.1 |
Lessons |
138 |
Chapter |
12 |
Voting |
139 |
|
12.1 |
Basic Translucent Voting Results |
139 |
|
12.2 |
Multiple Ballots |
140 |
|
12.2.1 |
Limits |
141 |
|
12.3 |
Conclusions |
142 |
|
12.3.1 |
Lessons |
143 |
Chapter |
13 |
Authentication |
145 |
|
13.1 |
Digital Signature Taxonomy |
146 |
|
13.1.1 |
One-Way Functions and Signatures |
146 |
|
13.1.2 |
Modular Exponentiation and Signatures |
147 |
|
13.2 |
Adding Digital Signatures to SQL Databases |
148 |
|
13.2.1 |
A Hash-based Signature |
148 |
|
13.2.2 |
Signatures Using Exponentiation |
151 |
|
13.3 |
Fake Information |
155 |
|
13.3.1 |
An Appointment System |
156 |
|
13.3.2 |
Adding Entries With Signatures |
156 |
|
13.3.3 |
Adding Fake Entries |
158 |
|
13.3.4 |
Finding the Results |
160 |
|
13.3.5 |
Modifications |
161 |
|
13.4 |
Conclusions |
162 |
|
13.4.1 |
Lessons |
162 |
Chapter |
14 |
Accounting |
163 |
|
14.1 |
Sales Force Accounting |
164 |
|
14.1.1 |
Adding Values |
165 |
|
14.1.2 |
Checking Things Out |
168 |
|
14.2 |
Conclusions |
169 |
|
14.2.1 |
Lessons |
169 |
Chapter |
15 |
Tokens |
171 |
|
15.1 |
Prescription Records |
172 |
|
15.1.1 |
Inserting Records |
173 |
|
15.1.2 |
A Relatively Fast Mechanism for Retrieval |
174 |
|
15.1.3 |
A More Secure Mechanism |
175 |
|
15.1.4 |
At the client |
175 |
|
15.1.5 |
At the database |
176 |
|
15.1.6 |
Using transparency |
177 |
|
15.1.7 |
Dealing with the Challenge |
178 |
|
15.2 |
Conclusions |
178 |
|
15.2.1 |
Lessons |
179 |
Chapter |
16 |
Zero Knowledge |
181 |
|
16.1 |
Friendship Graphs |
182 |
|
16.2 |
Tracking Cars |
183 |
|
16.2.1 |
Tracking Cars with Zero Knowledge |
184 |
|
16.3 |
Conclusions |
186 |
|
16.3.1 |
Lessons |
187 |
Chapter |
17 |
Private Retrieval |
189 |
|
17.1 |
Stock Prices From Multiple Sources |
190 |
|
17.2 |
A Single-Server Example |
191 |
|
17.2.1 |
Using More Decoys |
192 |
|
17.3 |
A Patent Example |
194 |
|
17.4 |
Conclusions |
195 |
|
17.4.1 |
Lessons |
196 |
Appendix |
A |
Further Reading |
197 |
Zircon - This is a contributing Drupal Theme
Design by
WeebPal.