Table of Contents for
Practical Cryptography

Version ebook / Retour

Cover image for bash Cookbook, 2nd Edition Practical Cryptography by Al-Sakib Khan Pathan Published by Auerbach Publications, 2014
  1. Cover Page
  2. Practical Cryptography
  3. Title Page
  4. Copyright Page
  5. Practical Cryptography
  6. Practical Cryptography
  7. Preface
  8. Acknowledgments
  9. About the Editors
  10. Contributors
  11. Chapter 1: Basics of Security and Cryptography
  12. Chapter 2: Classical Cryptographic Algorithms
  13. Chapter 3: Rotor Machine
  14. Chapter 4: Block Cipher
  15. Chapter 5: Data Encryption Standard
  16. Chapter 6: Advanced Encryption Standard
  17. Chapter 7: Asymmetric Key Algorithms
  18. Chapter 8: The RSA Algorithm
  19. Chapter 9: Elliptic Curve Cryptography
  20. Chapter 10: Message Digest Algorithm 5
  21. Chapter 11: Secure Hash Algorithm
  22. Chapter 12: Fundamentals of Identity Based Cryptography
  23. Chapter 13: Symmetric Key Encryption Acceleration on Heterogeneous Many Core Architectures
  24. Chapter 14: Methods and Algorithms for Fast Hashing in Data Streaming
  25. Footnotes
  26. Cryptography / Information Security

Contents

  1. Cover Page
  2. Title Page
  3. Copyright Page
  4. Preface
  5. Acknowledgments
  6. About the Editors
  7. Contributors
  8. Chapter 1: Basics of Security and Cryptography
    1. 1.1 The Perimeter of Cryptography in Practice
    2. 1.2 Things That Cryptographic Technologies Cannot Do
  9. Chapter 2: Classical Cryptographic Algorithms
    1. 2.1 Caesar Cipher
      1. 2.1.1 Algorithm
      2. 2.1.2 Implementation
      3. 2.1.3 Limitations
    2. 2.2 Monoalphabetic Cipher
      1. 2.2.1 Algorithm
      2. 2.2.2 Implementation
      3. 2.2.3 Limitations
    3. 2.3 Playfair Cipher
      1. 2.3.1 Algorithm
      2. 2.3.2 Implementation
      3. 2.3.3 Limitations
    4. 2.4 Polyalphabetic Cipher
      1. 2.4.1 Algorithm
      2. 2.4.2 Implementation
      3. 2.4.3 Limitations
  10. Chapter 3: Rotor Machine
    1. 3.1 Background
    2. 3.2 Basic Concept
    3. 3.3 Systematization
    4. 3.4 Algorithm
    5. 3.5 Implementation
    6. 3.6 Limitations
    7. Reference
  11. Chapter 4: Block Cipher
    1. 4.1 Block Cipher Principles
    2. 4.2 The Feistel Block Structure
    3. 4.3 Block Cipher Modes
      1. 4.3.1 Electronic Codebook (ECB) Mode
      2. 4.3.2 Cipher Block Chaining (CBC)
      3. 4.3.3 Cipher Feedback (CFB) Mode
      4. 4.3.4 Output Feedback (OFB) Mode
      5. 4.3.5 Counter (CTR) Mode
    4. References
  12. Chapter 5: Data Encryption Standard
    1. 5.1 Primitive Operations
      1. 5.1.1 Operations for Encryption/Decryption
      2. 5.1.2 Operations for Subkey Generation
    2. 5.2 Basic Structure
    3. 5.3 DES Encryption Algorithm
    4. 5.4 DES Decryption Algorithm
    5. 5.5 Implementation
      1. 5.5.1 C++ Library Headers
      2. 5.5.2 The DES Class
      3. 5.5.3 Introducing the Member Variables of DES Class
      4. 5.5.4 Introducing the Member Functions of DES Class
      5. 5.5.5 The Keygen() Function
      6. 5.5.6 The PermChoice1() Function
      7. 5.5.7 The Split_Key() Function
      8. 5.5.8 The PermChoice2() Function
      9. 5.5.9 The Encrypt(char *) Function
      10. 5.5.10 The IP() Function
      11. 5.5.11 The Expansion() Function
      12. 5.5.12 The xor_oneE(int round) Function
      13. 5.5.13 The Substitution() Function
      14. 5.5.14 The Permutation() Function
      15. 5.5.15 The xor_two() Function
      16. 5.5.16 The Decrypt(char *) Function
      17. 5.5.17 The Main() Function
  13. Chapter 6: Advanced Encryption Standard
    1. 6.1 Overview
    2. 6.2 History
    3. 6.3 Design Consideration
    4. 6.4 Primitive Operations of AES
    5. 6.5 Structure of AES
    6. 6.6 Overview of Key Expansion
    7. 6.7 Key Expansion Example
    8. 6.8 Encryption
    9. 6.9 An Encryption Example
    10. 6.10 Decryption
    11. 6.11 Limitations
    12. 6.12 Pros and Cons of AES
    13. 6.13 Implementation
    14. 6.14 Conclusion
  14. Chapter 7: Asymmetric Key Algorithms
    1. 7.1 Basic Concept
    2. 7.2 Applications of Asymmetric Key Algorithms
      1. 7.2.1 Encryption/Decryption
      2. 7.2.2 Digital Signature
      3. 7.2.3 Encryption and Digital Signature
  15. Chapter 8: The RSA Algorithm
    1. 8.1 The Concept
    2. 8.2 Operations
      1. 8.2.1 Key Generation
      2. 8.2.2 Encryption
      3. 8.2.3 Decryption
    3. 8.3 Applications of the RSA Algorithm
    4. 8.4 Implementation Code
  16. Chapter 9: Elliptic Curve Cryptography
    1. 9.1 Introduction
    2. 9.2 Elliptic Curves over R
    3. 9.3 Elliptic Curves over ZP
      1. 9.3.1 Adding Points in Elliptic Curves over ZP
      2. 9.3.2 Scalar Multiplication
    4. 9.4 Discrete Logarithm Problem
    5. 9.5 Elliptic Curve Cryptography
      1. 9.5.1 Elliptic Curve Diffie–Hellman Key Exchange
      2. 9.5.2 Key Exchange Example
      3. 9.5.3 Elliptic Curve Encryption/Decryption
      4. 9.5.4 Encryption/Decryption Example
    6. 9.6 Implementation 1
    7. 9.7 Implementation 2
    8. References
  17. Chapter 10: Message Digest Algorithm 5
    1. 10.1 General Properties and Vulnerabilities
    2. 10.2 Design Principle
    3. 10.3 Algorithm Description
      1. 10.3.1 Add Padding Bits behind the Input Message
      2. 10.3.2 Add a 64-Bit Binary String That Is the Representation of the Message’s Length
      3. 10.3.3 Initialize Four 32-Bit Values
      4. 10.3.4 Compress Every 512-Bit Block
      5. 10.3.5 Generate the 128-Bit Output
    4. 10.4 An Example
    5. 10.5 Implementation 1
    6. 10.6 Implementation 2
    7. 10.7 Conclusion
    8. References
  18. Chapter 11: Secure Hash Algorithm
    1. 11.1 Basic Hash Function Concept
    2. 11.2 Applications
    3. 11.3 Steps of SHA-1
      1. 11.3.1 Appending Original Message Lengths and Padding
      2. 11.3.2 Initialization
      3. 11.3.3 Message Processing
      4. 11.3.4 Output
    4. 11.4 An Example
    5. 11.5 Implementation
    6. 11.6 Conclusion
  19. Chapter 12: Fundamentals of Identity Based Cryptography
    1. 12.1 Introduction to Cryptography
      1. 12.1.1 Symmetric Cryptography
      2. 12.1.2 Asymmetric Cryptography
      3. 12.1.3 Diffie–Hellman (DH) Algorithms
      4. 12.1.4 Rivest, Shamir, and Adleman (RSA) Algorithms
      5. 12.1.5 Elliptic Curve Cryptography (ECC)
        1. 12.1.5.1 ECC Key Generation
        2. 12.1.5.2 Elliptic Curve Digital Signature Algorithm
    2. 12.2 ID-Based Cryptography
      1. 12.2.1 ID-Based Key Construction
      2. 12.2.2 Pairing Functions
      3. 12.2.3 Examples of ID-Based Encryption Schemes
        1. 12.2.3.1 Boneh and Franklin Encryption Scheme
        2. 12.2.3.2 Boneh and Boyen Encryption Schemes
        3. 12.2.3.3 Chen et al. Encryption Scheme
      4. 12.2.4 Examples of ID-Based Signature Algorithms
        1. 12.2.4.1 Paterson Signature Scheme
        2. 12.2.4.2 Hess Signature Scheme
        3. 12.2.4.3 Barreto et al. Signature Scheme
      5. 12.2.5 Arguments in Favor of IBC
      6. 12.2.6 Use of IBC in Network Security
    3. 12.3 Conclusion
    4. References
  20. Chapter 13: Symmetric Key Encryption Acceleration on Heterogeneous Many Core Architectures
    1. 13.1 Introduction
    2. 13.2 Modern Heterogeneous Many-Core Architectures
    3. 13.3 The OpenCL Programming Model
      1. 13.3.1 OpenCL Parallel Execution Model
      2. 13.3.2 OpenCL Memory Model
      3. 13.3.3 First OpenCL Example
    4. 13.4 Implementing AES in OpenCL
      1. 13.4.1 The AES Block Cipher
      2. 13.4.2 Modes of Operation
      3. 13.4.3 AES Kernels
      4. 13.4.4 AES Host Library
      5. 13.4.5 Putting It All Together
    5. 13.5 Implementation
    6. 13.6 Concluding Remarks
    7. References
  21. Chapter 14: Methods and Algorithms for Fast Hashing in Data Streaming
    1. 14.1 Introduction and Practical Situations
    2. 14.2 Terminology
    3. 14.3 The Data Streaming Problem
      1. 14.3.1 Related Information Theory and Formulations
      2. 14.3.2 Practical Applications and Designs
      3. 14.3.3 Current Research Topics
    4. 14.4 Simple 32-Bit Fast Hashing
      1. 14.4.1 Hashing and Blooming Basics
      2. 14.4.2 Traditional Hashing Methods
      3. 14.4.3 Hashing by Bit Manipulation
      4. 14.4.4 Quality Evaluation of Hash Functions
      5. 14.4.5 Example Designs for Fast Hashing
    5. 14.5 Practical Data Streaming
      1. 14.5.1 Distributions in Practice
      2. 14.5.2 Bloom Filters: Store, Lookup, and Efficiency
      3. 14.5.3 Unconventional Bloom Filter Designs for Data Streams
      4. 14.5.4 Practical Data Streaming Targets
      5. 14.5.5 Higher-Complexity Data Streaming Targets
    6. 14.6 Practical Fast Hashing and Blooming
      1. 14.6.1 Arbitrary Bit Length Hashing
      2. 14.6.2 Arbitrary Length Bloom Filters
      3. 14.6.3 Hardware Implementation
    7. 14.7 Practical Example: High-Speed Packet Traffic Processor
      1. 14.7.1 Example Data Streaming Target
      2. 14.7.2 Design for Hashing and Data Structures
    8. 14.8 Summary
    9. References
  22. Footnotes
    1. Chapter 8: The RSA Algorithm
    2. Chapter 13: Symmetric Key Encryption Acceleration on Heterogeneous Many-Core Architectures
    3. Cryptography / Information Security
  1. i
  2. ii
  3. iii
  4. iv
  5. v
  6. vi
  7. vii
  8. viii
  9. ix
  10. x
  11. xi
  12. xii
  13. xiii
  14. xiv
  15. xv
  16. xvi
  17. xvii
  18. xviii
  19. xix
  20. xx
  21. 1
  22. 2
  23. 3
  24. 4
  25. 5
  26. 6
  27. 7
  28. 8
  29. 9
  30. 10
  31. 11
  32. 12
  33. 13
  34. 14
  35. 15
  36. 16
  37. 17
  38. 18
  39. 19
  40. 20
  41. 21
  42. 22
  43. 23
  44. 24
  45. 25
  46. 26
  47. 27
  48. 28
  49. 29
  50. 30
  51. 31
  52. 32
  53. 33
  54. 34
  55. 35
  56. 36
  57. 37
  58. 38
  59. 39
  60. 40
  61. 41
  62. 42
  63. 43
  64. 44
  65. 45
  66. 46
  67. 47
  68. 48
  69. 49
  70. 50
  71. 51
  72. 52
  73. 53
  74. 54
  75. 55
  76. 56
  77. 57
  78. 58
  79. 59
  80. 60
  81. 61
  82. 62
  83. 63
  84. 64
  85. 65
  86. 66
  87. 67
  88. 68
  89. 69
  90. 70
  91. 71
  92. 72
  93. 73
  94. 74
  95. 75
  96. 76
  97. 77
  98. 78
  99. 79
  100. 80
  101. 81
  102. 82
  103. 83
  104. 84
  105. 85
  106. 86
  107. 87
  108. 88
  109. 89
  110. 90
  111. 91
  112. 92
  113. 93
  114. 94
  115. 95
  116. 96
  117. 97
  118. 98
  119. 99
  120. 100
  121. 101
  122. 102
  123. 103
  124. 104
  125. 105
  126. 106
  127. 107
  128. 108
  129. 109
  130. 110
  131. 111
  132. 112
  133. 113
  134. 114
  135. 115
  136. 116
  137. 117
  138. 118
  139. 119
  140. 120
  141. 121
  142. 122
  143. 123
  144. 124
  145. 125
  146. 126
  147. 127
  148. 128
  149. 129
  150. 130
  151. 131
  152. 132
  153. 133
  154. 134
  155. 135
  156. 136
  157. 137
  158. 138
  159. 139
  160. 140
  161. 141
  162. 142
  163. 143
  164. 144
  165. 145
  166. 146
  167. 147
  168. 148
  169. 149
  170. 150
  171. 151
  172. 152
  173. 153
  174. 154
  175. 155
  176. 156
  177. 157
  178. 158
  179. 159
  180. 160
  181. 161
  182. 162
  183. 163
  184. 164
  185. 165
  186. 166
  187. 167
  188. 168
  189. 169
  190. 170
  191. 171
  192. 172
  193. 173
  194. 174
  195. 175
  196. 176
  197. 177
  198. 178
  199. 179
  200. 180
  201. 181
  202. 182
  203. 183
  204. 184
  205. 185
  206. 186
  207. 187
  208. 188
  209. 189
  210. 190
  211. 191
  212. 192
  213. 193
  214. 194
  215. 195
  216. 196
  217. 197
  218. 198
  219. 199
  220. 200
  221. 201
  222. 202
  223. 203
  224. 204
  225. 205
  226. 206
  227. 207
  228. 208
  229. 209
  230. 210
  231. 211
  232. 212
  233. 213
  234. 214
  235. 215
  236. 216
  237. 217
  238. 218
  239. 219
  240. 220
  241. 221
  242. 222
  243. 223
  244. 224
  245. 225
  246. 226
  247. 227
  248. 228
  249. 229
  250. 230
  251. 231
  252. 232
  253. 233
  254. 234
  255. 235
  256. 236
  257. 237
  258. 238
  259. 239
  260. 240
  261. 241
  262. 242
  263. 243
  264. 244
  265. 245
  266. 246
  267. 247
  268. 248
  269. 249
  270. 250
  271. 251
  272. 252
  273. 253
  274. 254
  275. 255
  276. 256
  277. 257
  278. 258
  279. 259
  280. 260
  281. 261
  282. 262
  283. 263
  284. 264
  285. 265
  286. 266
  287. 267
  288. 268
  289. 269
  290. 270
  291. 271
  292. 272
  293. 273
  294. 274
  295. 275
  296. 276
  297. 277
  298. 278
  299. 279
  300. 280
  301. 281
  302. 282
  303. 283
  304. 284
  305. 285
  306. 286
  307. 287
  308. 288
  309. 289
  310. 290
  311. 291
  312. 292
  313. 293
  314. 294
  315. 295
  316. 296
  317. 297
  318. 298
  319. 299
  320. 300
  321. 301
  322. 302
  323. 303
  324. 304
  325. 305
  326. 306
  327. 307
  328. 308
  329. 309
  330. 310
  331. 311
  332. 312
  333. 313
  334. 314
  335. 315
  336. 316
  337. 317
  338. 318
  339. 319
  340. 320
  341. 321
  342. 322
  343. 323
  344. 324
  345. 325
  346. 326
  347. 327
  348. 328
  349. 329
  350. 330
  351. 331
  352. 332
  353. 333
  354. 334
Back to top