A How-to Guide for Implementing Algorithms and Protocols
Addressing real-world implementation issues, Understanding and Applying Cryptography and Data Security emphasizes cryptographic algorithm and protocol implementation in hardware, software, and embedded systems. Derived from the author's teaching notes and research publications, the text is designed for electrical engineering and computer science courses.
Provides the Foundation for Constructing Cryptographic Protocols
The first several chapters present various types of symmetric-key cryptographic algorithms. These chapters examine basic substitution ciphers, cryptanalysis, the Data Encryption Standard (DES), and the Advanced Encryption Standard (AES). Subsequent chapters on public-key cryptographic algorithms cover the underlying mathematics behind the computation of inverses, the use of fast exponentiation techniques, tradeoffs between public- and symmetric-key algorithms, and the minimum key lengths necessary to maintain acceptable levels of security. The final chapters present the components needed for the creation of cryptographic protocols and investigate different security services and their impact on the construction of cryptographic protocols.
Offers Implementation Comparisons
By examining tradeoffs between code size, hardware logic resource requirements, memory usage, speed and throughput, power consumption, and more, this textbook provides students with a feel for what they may encounter in actual job situations.
A solutions manual is available to qualified instructors with course adoptions.
Introduction A Brief History of Cryptography and Data Security Cryptography and Data Security in the Modern World Existing Texts Book Organization Symmetric-Key Cryptography Cryptosystem Overview The Modulo Operator Greatest Common Divisor The Ring Zm Homework Problems Symmetric-Key Cryptography: Substitution Ciphers Basic Cryptanalysis Shift Ciphers Affine Ciphers Homework Problems Symmetric-Key Cryptography: Stream Ciphers Random Numbers The One-Time Pad Key Stream Generators Real-World Applications Homework Problems Symmetric-Key Cryptography: Block Ciphers The Data Encryption Standard The Advanced Encryption Standard Public-Key Cryptography Issues with Symmetric-Key Cryptosystems Public-Key Cryptosystem Overview One-Way Functions The Euclidean Algorithm The Extended Euclidean Algorithm Euler's Phi Function Euler's Theorem Fermat's Little Theorem Homework Problems Public-Key Cryptography: RSA Cryptosystem Efficient Implementation Attacks Homework Problems Public-Key Cryptography: Discrete Logarithms Cyclic Groups The Discrete Logarithm Problem Diffie-Hellman Key Agreement Protocol Efficient Implementation ElGamal Encryption Attacks Homework Problems Public-Key Cryptography: Elliptic Curves Cryptosystem Diffie-Hellman Key Agreement Protocol Efficient Implementation Menezes-Vanstone Encryption Attacks Homework Problems Cryptographic Components Digital Signatures Hash Functions Message Authentication Codes Cryptographic Protocols Security Services Key Establishment Applications Homework Problems References Index