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.