Introduction to Cryptography with Coding Theory, 3rd edition
Published by Pearson (February 21, 2020) © 2021
- Wade Trappe
- Lawrence C. Washington
eTextbook
- Anytime, anywhere learning with the Pearson+ app
- Easy-to-use search, navigation and notebook
- Simpler studying with flashcards
- Hardcover, paperback or looseleaf edition
- Affordable rental option for select titles
- Free shipping on looseleafs and traditional textbooks
For courses in Cryptography, Network Security and Computer Security.
A broad spectrum of cryptography topics from a mathematical point of view
Extensively revised and updated, Introduction to Cryptography with Coding Theory, 3rd Edition mixes applied and theoretical aspects to build a solid foundation in cryptography and security. Relevant examples and exercises allow students to apply course concepts.The authors' lively, conversational tone and practical focus informs a broad coverage of topics from a mathematical point of view. The text reflects trends in the rapidly changing field of cryptography, such as cryptocurrency.
Hallmark features of this title
- Practical applications of cryptography to security protocols connect cryptographic tools to the building of real security tools, showing there is more to security and cryptography than just math.
- Historical examples illustrate the concepts of security and cryptanalysis by relating theory to easier-to-grasp events.
- Increasingly prominent methods discussed include Elliptic curves, Quantum techniques and more.
- In-depth coverage of coding theory is provided.
- Practical examples and applications give students hands-on experience with the large-numbered cryptography of today's security systems, along with a discussion of security protocols.
- Numerous example calculations include examples such as computer-generated examples with realistic parameter sizes.
New and updated features of this title
- Many new exercises have been added throughout, and answers to most of the odd-numbered problems have been added in a new section at the back of the book.
- Chapters 5-8 now organize content previously covered separately: on Stream Ciphers, including RC4, Block Ciphers, DES, and AES, respectively. In particular, the RC4 material is all new.
- Heavily revised chapters on hash functions: Chapter 11 (Hash Functions) now includes sections on SHA-2 and SHA-3. Chapter 12 (Hash Functions: Attacks and Applications) now includes material on message authentication codes, password protocols, and blockchains.
- The short section on the one-time pad has been expanded to become Chapter 4, which includes sections on multiple use of the one-time pad, perfect secrecy and ciphertext indistinguishability.
- Chapter 14 (What Can Go Wrong) shows what can happen when cryptographic algorithms are used or designed incorrectly.
- Expanded Chapter 16 on digital cash now includes Bitcoin and cryptocurrencies. Pairing-Based Cryptography is introduced in the new Chapter 22.
Features of Pearson eText for the 3rd Edition
- References to the new Sage appendices have been added in relevant locations in the text. Within the eText, these references are live links to this content.
- Short URLs within the text have been added to take students to relevant Web content.
- Overview of Cryptography and Its Applications
- 1.1 Secure Communications
- 1.2 Cryptographic Applications
- Classical Cryptosystems
- 2.1 Shift Ciphers
- 2.2 Affine Ciphers
- 2.3 The VigenÈre Cipher
- 2.4 Substitution Ciphers
- 2.5 Sherlock Holmes
- 2.6 The Playfair and ADFGX Ciphers
- 2.7 Enigma
- 2.8 Exercises
- 2.9 Computer Problems
- Basic Number Theory
- 3.1 Basic Notions
- 3.2 The Extended Euclidean Algorithm
- 3.3 Congruences
- 3.4 The Chinese Remainder Theorem
- 3.5 Modular Exponentiation
- 3.6 Fermat and Euler
- 3.7 Primitive Roots
- 3.8 Inverting Matrices Mod n
- 3.9 Square Roots Mod n
- 3.10 Legendre and Jacobi Symbols
- 3.11 Finite Fields
- 3.12 Continued Fractions
- 3.13 Exercises
- 3.14 Computer Problems
- The One-Time Pad
- 4.1 Binary Numbers and ASCII
- 4.2 One-Time Pads
- 4.3 Multiple Use of a One-Time Pad
- 4.4 Perfect Secrecy of the One-Time Pad
- 4.5 Indistinguishability and Security
- 4.6 Exercises
- Stream Ciphers
- 5.1 Pseudo-Random Bit Generation
- 5.2 LFSR Sequences
- 5.3 RC4
- 5.4 Exercises
- 5.5 Computer Problems
- Block Ciphers
- 6.1 Block Ciphers
- 6.2 Hill Ciphers
- 6.3 Modes of Operation
- 6.4 Multiple Encryption
- 6.5 Meet-in-the-Middle Attacks
- 6.6 Exercises
- 6.7 Computer Problems
- The Data Encryption Standard
- 7.1 Introduction
- 7.2 A Simplified DES-Type Algorithm
- 7.3 Differential Cryptanalysis
- 7.4 DES
- 7.5 Breaking DES
- 7.6 Password Security
- 7.7 Exercises
- 7.8 Computer Problems
- The Advanced Encryption Standard: Rijndael
- 8.1 The Basic Algorithm
- 8.2 The Layers
- 8.3 Decryption
- 8.4 Design Considerations
- 8.5 Exercises
- The RSA Algorithm
- 9.1 The RSA Algorithm
- 9.2 Attacks on RSA
- 9.3 Primality Testing
- 9.4 Factoring
- 9.5 The RSA Challenge
- 9.6 An Application to Treaty Verification
- 9.7 The Public Key Concept
- 9.8 Exercises
- 9.9 Computer Problems
- Discrete Logarithms
- 10.1 Discrete Logarithms
- 10.2 Computing Discrete Logs
- 10.3 Bit Commitment
- 10.4 Diffie-Hellman Key Exchange
- 10.5 The ElGamal Public Key Cryptosystem
- 10.6 Exercises
- 10.7 Computer Problems
- Hash Functions
- 11.1 Hash Functions
- 11.2 Simple Hash Examples
- 11.3 The Merkle-Damg ÌŠard Construction
- 11.4 SHA-2
- 11.5 SHA-3/Keccak
- 11.6 Exercises
- Hash Functions: Attacks and Applications
- 12.1 Birthday Attacks
- 12.2 Multicollisions
- 12.3 The Random Oracle Model
- 12.4 Using Hash Functions to Encrypt
- 12.5 Message Authentication Codes
- 12.6 Password Protocols
- 12.7 Blockchains
- 12.8 Exercises
- 12.9 Computer Problems
- Digital Signatures
- 13.1 RSA Signatures
- 13.2 The ElGamal Signature Scheme
- 13.3 Hashing and Signing
- 13.4 Birthday Attacks on Signatures
- 13.5 The Digital Signature Algorithm
- 13.6 Exercises
- 13.7 Computer Problems
- What Can Go Wrong
- 14.1 An Enigma ‘Feature’
- 14.2 Choosing Primes for RSA
- 14.3 WEP
- 14.4 Exercises
- Security Protocols
- 15.1 Intruders-in-the-Middle and Impostors
- 15.2 Key Distribution
- 15.3 Kerberos
- 15.4 Public Key Infrastructures (PKI)
- 15.5 X.509 Certificates
- 15.6 Pretty Good Privacy
- 15.7 SSL and TLS
- 15.8 Secure Electronic Transaction
- 15.9 Exercises
- Digital Cash
- 16.1 Setting the Stage for Digital Economies
- 16.2 A Digital Cash System
- 16.3 Bitcoin Overview
- 16.4 Cryptocurrencies
- 16.5 Exercises
- Secret Sharing Schemes
- 17.1 Secret Splitting
- 17.2 Threshold Schemes
- 17.3 Exercises
- 17.4 Computer Problems
- Games
- 18.1 Flipping Coins over the Telephone
- 18.2 Poker over the Telephone
- 18.3 Exercises
- Zero-Knowledge Techniques
- 19.1 The Basic Setup
- 19.2 The Feige-Fiat-Shamir Identification Scheme
- 19.3 Exercises
- Information Theory
- 20.1 Probability Review
- 20.2 Entropy
- 20.3 Huffman Codes
- 20.4 Perfect Secrecy
- 20.5 The Entropy of English
- 20.6 Exercises
- Elliptic Curves
- 21.1 The Addition Law
- 21.2 Elliptic Curves Mod p
- 21.3 Factoring with Elliptic Curves
- 21.4 Elliptic Curves in Characteristic 2
- 21.5 Elliptic Curve Cryptosystems
- 21.6 Exercises
- 21.7 Computer Problems
- Pairing-Based Cryptography
- 22.1 Bilinear Pairings
- 22.2 The MOV Attack
- 22.3 Tripartite Diffie-Hellman
- 22.4 Identity-Based Encryption
- 22.5 Signatures
- 22.6 Keyword Search
- 22.7 Exercises
- Lattice Methods
- 23.1 Lattices
- 23.2 Lattice Reduction
- 23.3 An Attack on RSA
- 23.4 NTRU
- 23.5 Another Lattice-Based Cryptosystem
- 23.6 Post-Quantum Cryptography?
- 23.7 Exercises
- Error Correcting Codes
- 24.1 Introduction
- 24.2 Error Correcting Codes
- 24.3 Bounds on General Codes
- 24.4 Linear Codes
- 24.5 Hamming Codes
- 24.6 Golay Codes
- 24.7 Cyclic Codes
- 24.8 BCH Codes
- 24.9 Reed-Solomon Codes
- 24.10 The McEliece Cryptosystem
- 24.11 Other Topics
- 24.12 Exercises
- 24.13 Computer Problems
- Quantum Techniques in Cryptography
- 25.1 A Quantum Experiment
- 25.2 Quantum Key Distribution
- 25.3 Shor’s Algorithm
- 25.4 Exercises
- Mathematica® Examples
- A.1 Getting Started with Mathematica
- A.2 Some Commands
- A.3 Examples for Chapter 2
- A.4 Examples for Chapter 3
- A.5 Examples for Chapter 5
- A.6 Examples for Chapter 6
- A.7 Examples for Chapter 9
- A.8 Examples for Chapter 10
- A.9 Examples for Chapter 12
- A.10 Examples for Chapter 17
- A.11 Examples for Chapter 18
- A.12 Examples for Chapter 21
- Maple® Examples
- B.1 Getting Started with Maple
- B.2 Some Commands
- B.3 Examples for Chapter 2
- B.4 Examples for Chapter 3
- B.5 Examples for Chapter 5
- B.6 Examples for Chapter 6
- B.7 Examples for Chapter 9
- B.8 Examples for Chapter 10
- B.9 Examples for Chapter 12
- B.10 Examples for Chapter 17
- B.11 Examples for Chapter 18
- B.12 Examples for Chapter 21
- MATLAB® Examples
- C.1 Getting Started with MATLAB
- C.2 Examples for Chapter 2
- C.3 Examples for Chapter 3
- C.4 Examples for Chapter 5
- C.5 Examples for Chapter 6
- C.6 Examples for Chapter 9
- C.7 Examples for Chapter 10
- C.8 Examples for Chapter 12
- C.9 Examples for Chapter 17
- C.10 Examples for Chapter 18
- C.11 Examples for Chapter 21
- Sage Examples
- D.1 Computations for Chapter 2
- D.2 Computations for Chapter 3
- D.3 Computations for Chapter 5
- D.4 Computations for Chapter 6
- D.5 Computations for Chapter 9
- D.6 Computations for Chapter 10
- D.7 Computations for Chapter 12
- D.8 Computations for Chapter 17
- D.9 Computations for Chapter 18
- D.10 Computations for Chapter 21
E. Answers and Hints for Selected Odd-Numbered Exercises
F. Suggestions for Further Reading
Bibliography
Index
About our author
Wade Trappe is a Professor in the Electrical and Computer Engineering Department at Rutgers University, and Associate Director of the Wireless Information Network Laboratory (WINLAB). He has led several federally funded projects in the area of cybersecurity and communication systems. He was named Fellow of the Institute of Electrical and Electronics Engineers (IEEE) in 2014 for contributions to information and communication security.
Need help? Get in touch