|
1--Translucency-- 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-- |