applied_cryptography_protocols_algorithms_and_source_code_in_c.pdf

(57710 KB) Pobierz
20
TH
ANNIVERSARY EDITION
APPLIED
CRYPTOGRAPHY
Protocols, Algorithms,
and Source Code in C
BRUCE SCHNEIER
_______
_________,.,.%~
v
Contents
Introduction xiii
Foreword by Whitfield Diffie
Preface
xxi
How
TO READ THIS BOOK
ACKNOWLEDGMENTS
xvii
xxii
About the Author
xxv
xxiv
1 FOUNDATIONS
1
1.1
TERMINOLOGY
1
1.2
STEGANOGRAPHY
9
1.3
SUBSTITUTION CIPHERS AND TRANSPOSITION
1.4
SIMPLE
XOR
13
1.5
ONE-TIME PADS
15
1.6
COMPUTER ALGORITHMS
17
1. 7
LARGE NUMBERS
17
CIPHERS
10
PART I
CRYPTOGRAPHIC PROTOCOLS
2 PROTOCOL BUILDING BLOCKS
21
2.1
2.2
2.3
2.4
2.5
2.6
INTRODUCTION
ONE-WAY
ONE-WAY
TO PROTOCOLS
21
COMMUNICATIONS
USING SYMMETRIC CRYPTOGRAPHY
28
FUNCTIONS
29
30
31
HASH FUNCTIONS
COMMUNICATIONS
USING PUBLIC-KEY CRYPTOGRAPHY
DIGITAL SIGNATURES
RANDOM
34
41
GENERATION
2. 7
2.8
DIGITAL SIGNATURES WITH ENCRYPTION
AND PSEUDO-RANDOM-SEQUENCE
44
~-..------:s
vi
-------
Contents
3.1
3.2
3.3
3.4
3 BASIC PROTOCOLS
KEY EXCHANGE
47
AUTHENTICATION
AUTHENTICATION
MULTIPLE-KEY
47
52
AND KEY EXCHANGE
56
AND KEY-EXCHANGE
PROTOCOLS
FORMAL ANALYSIS OF AUTHENTICATION
SECRET SPLITTING
SECRET SHARING
CRYPTOGRAPHIC
65
3.5
3.6
3. 7
3.8
PUBLIC-KEY CRYPTOGRAPHY
68
70
71
PROTECTION
OF DATABASES
73
4.1
4.2
4.3
4.4
4 INTERMEDIATE PROTOCOLS
75
TIMESTAMPING SERVICES
75
SUBLIMINAL CHANNEL
79
UNDENIABLE DIGITAL SIGNATURES
81
DESIGNATED CONFIRMER SIGNATURES
82
PROXY SIGNATURES
GROUP SIGNATURES
COMPUTING
4.5
4.6
83
84
85
85
4. 7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
FAIL-STOP DIGITAL SIGNATURES
BIT COMMITMENT
FAIR COIN FLIPS
MENTAL POKER
ONE-WAY
ALL-OR-NOTHING
KEY ESCROW
WITH ENCRYPTED DATA
86
89
92
95
96
DISCLOSURE OF SECRETS
ACCUMULATORS
97
101
109
115
5 ADVANCED PROTOCOLS
5.1
5.2
5.3
5 .4
ZERO-KNOWLEDGE
ZERO-KNOWLEDGE
BLIND SIGNATURES
OBLIVIOUS TRANSFER
OBLIVIOUS SIGNATURES
SIMULTANEOUS CONTRACT
DIGITAL CERTIFIED MAIL
PROOFS
101
PROOFS OF IDENTITY
112
IDENTITY-BASED PUBLIC-KEY CRYPTOGRAPHY
5.5
5.6
5.7
5.8
5.9
116
117
SIGNING
118
123
122
SIMULTANEOUS EXCHANGE OF SECRETS
6 ESOTERIC PROTOCOLS
6.1
6.2
6.3
6.4
SECURE ELECTIONS
ANONYMOUS
DIGITAL CASH
125
125
SECURE MULTIPARTY COMPUTATION
MESSAGE BROADCAST
134
137
139
_______
Contents
_________,.,.%~
vii
PART II
CRYPTOGRAPHIC TECHNIQUES
7 KEY LENGTH
7.1
7.2
7.3
7.4
7.5
7.6
SYMMETRIC KEY
PUBLIC-KEY KEY
COMPARING
How
151
LENGTH
151
LENGTH
158
HASH FUNCTIONS
SYMMETRIC AND PUBLIC-KEY KEY LENGTH
BIRTHDAY ATTACKS AGAINST ONE-WAY
LONG SHOULD A KEY BE?
165
165
166
169
CAVEAT EMPTOR
168
170
175
176
178
180
180
181
182
183
184
185
189
189
193
198
8 KEY MANAGEMENT
8.1
8.2
8.3
8.4
8.5
8.6
8.7
8.8
8.9
8.10
8.11
8.12
GENERATING
NONLINEAR
KEYS
KEYS
KEYSPACES
TRANSFERRING
USING KEYS
UPDATING
STORING KEYS
BACKUP KEYS
COMPROMISED
DESTROYING
VERIFYING KEYS
179
KEYS
KEYS
KEYS
LIFETIME OF KEYS
PUBLIC- KEY KEY MANAGEMENT
9 ALGORITHM TYPES AND MODES
9.1
9.2
9.3
9.4
9.5
9.6
9.7
9.8
9.9
9.10
9.11
9.12
9.13
ELECTRONIC CODEBOOK MODE
BLOCK REPLAY
STREAM CIPHERS
CIPHER-FEEDBACK
SYNCHRONOUS
COUNTER
CHOOSING
191
MODE
CIPHER BLOCK CHAINING
197
STREAM CIPHERS
MODE
SELF-SYNCHRONIZING
200
202
203
206
208
210
STREAM CIPHERS
OUTPUT- FEEDBACK MODE
MODE
205
MODES
OTHER BLOCK-CIPHER
INTERLEAVING
A CIPHER MODE
210
213
216
216
223
BLOCK CIPHERS VERSUS STREAM CIPHERS
10 USING ALGORITHMS
10.1
CHOOSING AN ALGORITHM
214
CHANNELS
10.2
10.3
10.4
10.5
PUBLIC-KEY CRYPTOGRAPHY VERSUS SYMMETRIC CRYPTOGRAPHY
ENCRYPTING
COMMUNICATIONS
ENCRYPTING DATA FOR STORAGE
220
HARDWARE ENCRYPTION VERSUS SOFTWARE ENCRYPTION
~-..------:s
viii
-------
10.6
10. 7
10.8
10.9
COMPRESSION,
DETECTING
Contents
ENCODING,
AND ENCRYPTION
226
ENCRYPTION
226
227
228
HIDING CIPHERTEXT IN CIPHERTEXT
DESTROYING INFORMATION
PART Ill
CRYPTOGRAPHIC ALGORITHMS
11.1
11.2
11.3
11.4
11.5
11.6
11 MATHEMATICAL BACKGROUND
233
INFORMATION THEORY
233
COMPLEXITY THEORY
23
7
NUMBER THEORY
242
FACTORING
255
PRIME NUMBER GENERATION
258
DISCRETE LOGARITHMS IN A FINITE FIELD
261
12 DATA ENCRYPTION STANDARD {DES)
265
BACKGROUND
265
DESCRIPTION OF DES
270
SECURITY OF DES
278
DIFFERENTIAL AND LINEAR CRYPTANALYSIS
285
THE REAL DESIGN CRITERIA
293
DES VARIANTS
294
How SECURE Is DES TODAY?
300
13 OTHER BLOCK CIPHERS
LUCIFER
303
MADRYGA
304
NEwDES
FEAL
REDOC
LOKI
RC2
12.1
12.2
12.3
12.4
12.5
12.6
12. 7
303
13.1
13.2
13.3
13.4
13.5
13.6
13.7
13.8
13.9
13.10
13.11
13.12
306
308
311
314
316
KHUFU AND KHAFRE
318
IDEA
319
MMB
325
CA-1.1
327
SKIPJACK
328
14 STILL OTHER BLOCK CIPHERS
COST
331
CAST
334
BLOWFISH
SAFER
3-WAY
331
14.1
14.2
14.3
14.4
14.5
336
339
341
Zgłoś jeśli naruszono regulamin