Table of Contents (1st edition)
1.1--Some Examples--
1.2--Limits--
1.3--How to Use the Book--
1.4--Some Examples--
2--One Way Functions--
2.1--Pure One-Way Functions--
2.1.1--Discrete Log--
2.1.2--The Secure Hash Algorithm or SHA--
2.1.3--MD-5--
2.2--Public Key or Trapdoor Function--
2.3--Secret Key Functions--
2.3.1--Turning a secret key function into a pure one-way function.--
2.3.2--Turning One-Way Functions Into Secret-Key Encryption Functions--
2.4--Implementations--
2.4.1--MySQL--
2.4.2--PostgreSQL--
2.4.3--Oracle--
2.4.4--Client-side Applications--
2.5--Conclusions--
2.5.1--Lessons--
3--One Way Tables--
3.1--An Example from a Department Store--
3.1.1--Adding Security--
3.2--Cleaning Up One-Way Input--
3.2.1--Some Java Code--
3.3--Security Trade Offs--
3.3.1--Slowing the One-Way Functions--
3.3.2--Salt--
3.4--Adding Redundancy--
3.5--An Example with Encryption for Security--
3.5.1--Some Java Code--
3.6--Hashing Instead of Encryption--
3.7--Serial Queries--
3.8--Keeping Some Information In the Clear--
3.8.1--Inserting a Credit Card Number--
3.8.2--Using the Information--
3.9--Conclusions--
3.9.1--Lessons--
4--Coordinating Users--
4.1--A Bulletin Board Example--
4.1.1--Adding a Shared Password--
4.2--Special One-Way Functions--
4.2.1--Creating A Public Key--
4.2.2--Using the Public Key--
4.2.3--Recovering Messages--
4.2.4--Using Public-Key One-Way Functions--
4.3--Conclusion--
4.3.1--Lessons--
5--Synchronization--
5.0.2--The BabySitter's Table--
5.0.3--Adding More Names--
5.0.4--Multiple Tables--
5.0.5--Adding Extra Information--
5.0.6--Security--
5.1--Conclusions--
5.1.1--Lessons--
6--Evolving Data--
6.1--An Auction Example--
6.1.1--The First Bid--
6.1.2--Adding New Bids--
6.1.3--Creating Bids--
6.1.4--The Value of Counter--
6.1.5--Better Hash Functions--
6.2--Working With Encryption--
6.3--Conclusions--
6.3.1--Lessons--
7--Sharing--
7.1--The Algorithms--
7.1.1--More Precise Algorithms--
7.1.2--More Efficient Algorithms--
7.1.3--Adding Sophistication--
7.2--Nuclear Launch Codes--
7.2.1--Adding Launch Codes--
7.2.2--Recovering the Code--
7.2.3--Adding More Security--
7.3--A Public-Key Example--
7.3.1--Adding a Message--
7.3.2--Retrieving the Message--
7.4--Conclusions--
7.4.1--Lessons--
8--Revelation--
8.1--A Masquerade--
8.2--Lottery--
8.2.1--Paying for the Ticket--
8.2.2--Placing Bets--
8.2.3--Testing Winners--
8.3--Sports Poker and Multiple Columns--
8.3.1--Inserting Predictions--
8.3.2--Testing and Verifying--
8.4--Identity Cards and Selective Revelations--
8.4.1--The Basic Mathematics--
8.4.2--A Rental Car Example--
8.4.3--The License--
8.4.4--Proving Information--
8.4.5--The Rental Car Company--
8.5--Conclusions--
8.5.1--Lessons--
9--Quantization--
9.1--Algorithms--
9.1.1--Adaptive Quantization--
9.1.2--Projection--
9.2--Using Quantization In Databases--
9.2.1--Adding Random Noise--
9.2.2--Adding Encryption--
9.3--Quantized One-Way Functions--
9.3.1--One-Way Functions and Noise--
9.4--Conclusions--
9.4.1--Lessons--
10--Authentication--
10.1--Digital Signature Taxonomy--
10.1.1--One-Way Functions and Signatures--
10.1.2--Modular Exponentiation and Signatures--
10.2--Adding Digital Signatures To SQL Databases--
10.2.1--A Hash-based Signature--
10.2.2--Signatures Using Exponentiation--
10.3--Fake Information--
10.3.1--An Appointment System--
10.3.2--Adding Entries With Signatures--
10.3.3--Adding Fake Entries--
10.3.4--Finding the Results--
10.3.5--Modifications--
10.4--Conclusions--
10.4.1--Lessons--
11--Accounting--
11.1--Sales Force Accounting--
11.1.1--Adding Values--
11.1.2--Checking Things Out--
11.2--Conclusions--
11.2.1--Lessons--
12--Tokens--
12.1--Prescription Records--
12.1.1--Inserting Records--
12.1.2--A Relatively Fast Mechanism for Retrieval--
12.1.3--A More Secure Mechanism--
12.1.4--At the client--
12.1.5--At the database--
12.1.6--Using transparency--
12.1.7--Dealing with the Challenge--
12.2--Conclusions--
12.2.1--Lessons--
13--Private Retrieval--
13.1--Stock Prices From Multiple Sources--
13.2--A Single Server Example--
13.2.1--Using More Decoys--
13.3--A Patent Example--
13.4--Conclusions--
13.4.1--Lessons--
A--Further Reading--