| Preface |
|
| 1 Cheating |
1 |
| 1.1 How Cheaters Prosper . . |
2 |
| 1.2 Stopping Cheaters |
4 |
| 1.3 Using the Book |
7 |
| 2 Encryption |
9 |
| 2.1 Encryption Tools |
10 |
| 2.2 Uses |
14 |
| 2.3 Encryption Basics |
15 |
| 2.3.1 Modulo Arithmetic |
15 |
| 2.3.2 Diffie-Hellman Key Exchange |
16 |
| 2.4 RSA |
17 |
| 2.5 Conclusion |
18 |
| 2.5.1 Lessons |
18 |
| 3 Synchronized |
21 |
| 3.1 Synchrony |
21 |
| 3.2 Basic Structure |
22 |
| 3.3 Trading Time for Secrecy |
23 |
| 3.3.1 Bluffing |
24 |
| 3.4 Conclusion |
24 |
| 3.4.1 Lessons |
24 |
| 4 Bit Commitment |
27 |
| 4.1 Commitment |
28 |
| 4.2 Practical Considerations |
28 |
| 4.2.1 Adding Structure |
29 |
| 4.2.2 Adding Randomness |
30 |
| 4.3 Using Encryption Functions |
30 |
| 4.4 Conclusion |
31 |
| 4.4.1 Lessons |
32 |
| 5 Randomness |
33 |
| 5.1 Remote Viewing |
34 |
| 5.2 Hashing A Random Number |
34 |
| 5.3 Preventing Eavesdroppers |
35 |
| 5.3.1 More than Two People |
36 |
| 5.4 Attacks |
36 |
| 5.5 Conclusion |
37 |
| 5.5.1 Lessons |
38 |
| 6 Lottery |
41 |
| 6.1 Lotto Tickets |
41 |
| 6.2 Printing Lottery Tickets |
42 |
| 6.3 Conclusion |
43 |
| 6.3.1 Lessons |
43 |
| 7 Cards |
45 |
| 7.1 Dealing a Hand |
45 |
| 7.2 Commutative Encryption |
46 |
| 7.2.1 Implementation Details |
47 |
| 7.2.2 Creating the Cards |
48 |
| 7.3 Extending the Algorithm for Many Players |
49 |
| 7.3.1 Shuffling |
49 |
| 7.3.2 Dealing the Cards |
50 |
| 7.4 Conclusion |
50 |
| 7.4.1 Lessons |
50 |
| 8 Veils |
53 |
| 8.1 Obscuring the Information |
54 |
| 8.2 Splitting the Information |
55 |
| 8.2.1 Encrypting the Information |
55 |
| 8.3 Hiding a Tree in a Forest |
56 |
| 8.4 Conclusion |
57 |
| 8.4.1 Lessons |
57 |
| 9 Signatures |
59 |
| 9.1 Digital Signatures for Data Structures |
60 |
| 9.1.1 Passcodes for MACs |
60 |
| 9.2 Hierarchies and Hash Trees |
61 |
| 9.3 Reducing the Output |
62 |
| 9.4 Conclusion |
62 |
| 9.4.1 Lessons |
63 |
| 10 Certificates |
65 |
| 10.1 Certificates of Authenticity |
65 |
| 10.2 Hierarchies of Signatures |
66 |
| 10.2.1 Trees versus Webs |
67 |
| 10.3 Key Schemes |
68 |
| 10.3.1 Key Expiration |
69 |
| 10.4 Conclusion |
69 |
| 10.4.1 Lessons |
70 |
| 11 Provenance |
71 |
| 11.1 Ownership |
71 |
| 11.2 A Basic Scheme |
72 |
| 11.3 Disputes and Cheating |
73 |
| 11.4 Conclusion |
74 |
| 11.4.1 Lessons |
75 |
| 12 Blind Signatures |
77 |
| 12.1 Blind Trust |
78 |
| 12.2 The Basic Algorithm |
78 |
| 12.3 Multiple Key Control |
79 |
| 12.4 Conclusion |
80 |
| 12.4.1 Lessons |
80 |
| 13 Cash |
83 |
| 13.1 Serial Numbers and Signatures |
84 |
| 13.2 Transactions |
85 |
| 13.2.1 Peer-to-Peer |
85 |
| 13.2.2 Making Change |
86 |
| 13.3 Removing the Central Bank |
87 |
| 13.3.1 Multiple Audits |
87 |
| 13.4 Conclusion |
88 |
| 13.4.1 Lessons |
88 |
| 14 Expendable |
91 |
| 14.1 Once and Again |
91 |
| 14.2 One-Time Nonces |
92 |
| 14.2.1 Public Key Tricks |
93 |
| 14.3 Access Chains |
93 |
| 14.4 Date-stamped Access |
94 |
| 14.5 Conclusion |
95 |
| 14.5.1 Lessons |
95 |
| 15 Oblivious Transfer |
97 |
| 15.1 Pick a Card |
97 |
| 15.2 The Algorithm |
98 |
| 15.2.1 Just Two At Once |
98 |
| 15.2.2 Handling More than Two Choices |
99 |
| 15.3 Conclusion |
100 |
| 15.3.1 Lessons |
101 |