## Book description

Cryptography, the science of encoding and decoding information, allows people to do online banking, online trading, and make online purchases, without worrying that their personal information is being compromised. The dramatic increase of information transmitted electronically has led to an increased reliance on cryptography. This book discusses the theories and concepts behind modern cryptography and demonstrates how to develop and implement cryptographic algorithms using C++ programming language.

Written for programmers and engineers, Practical Cryptography explains how you can use cryptography to maintain the privacy of computer data. It describes dozens of cryptography algorithms, gives practical advice on how to implement them into cryptographic software, and shows how they can be used to solve security problems.

Covering the latest developments in practical cryptographic techniques, this book shows you how to build security into your computer applications, networks, and storage. Suitable for undergraduate and postgraduate students in cryptography, network security, and other security-related courses, this book will also help anyone involved in computer and network security who wants to learn the nuts and bolts of practical cryptography.

1. Cover Page
2. Title Page
4. Preface
5. Acknowledgments
7. Contributors
8. Chapter 1: Basics of Security and Cryptography
9. Chapter 2: Classical Cryptographic Algorithms
1. 2.1 Caesar Cipher
2. 2.2 Monoalphabetic Cipher
3. 2.3 Playfair Cipher
4. 2.4 Polyalphabetic Cipher
10. Chapter 3: Rotor Machine
11. Chapter 4: Block Cipher
1. 4.1 Block Cipher Principles
2. 4.2 The Feistel Block Structure
3. 4.3 Block Cipher Modes
4. References
12. Chapter 5: Data Encryption Standard
1. 5.1 Primitive Operations
2. 5.2 Basic Structure
3. 5.3 DES Encryption Algorithm
4. 5.4 DES Decryption Algorithm
5. 5.5 Implementation
13. Chapter 6: Advanced Encryption Standard
14. Chapter 7: Asymmetric Key Algorithms
1. 7.1 Basic Concept
2. 7.2 Applications of Asymmetric Key Algorithms
15. Chapter 8: The RSA Algorithm
1. 8.1 The Concept
2. 8.2 Operations
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
4. 9.4 Discrete Logarithm Problem
5. 9.5 Elliptic Curve Cryptography
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
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
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)
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
4. 12.2.4 Examples of ID-Based Signature Algorithms
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
4. 13.4 Implementing AES in OpenCL
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
4. 14.4 Simple 32-Bit Fast Hashing
5. 14.5 Practical Data Streaming
6. 14.6 Practical Fast Hashing and Blooming
7. 14.7 Practical Example: High-Speed Packet Traffic Processor
8. 14.8 Summary
9. References
22. Footnotes

## Product information

• Title: Practical Cryptography
• Author(s): Saiful Azad, Al-Sakib Khan Pathan
• Release date: November 2014
• Publisher(s): Auerbach Publications
• ISBN: 9781482228908