O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Cryptography and Network Security

Book Description

This book elaborates the basic and advanced concepts of cryptography and network security issues. It is user friendly since each chapter is modelled with several case studies and illustration. All algorithms are explained with various algebraic structures to map the theoretical concepts of cryptography with modern algebra. Moreover, all the concepts are explained with the secure multicast communication scenarios that deal with one to many secure communications.

Table of Contents

  1. Cover
  2. Title Page
  3. Contents
  4. Foreword - 1
  5. Foreword - 2
  6. Preface
  7. Acknowledgements
  8. CHAPTER 1 Cryptography
    1. 1.1 Overview of Cryptography
    2. 1.2 Security Trends
    3. 1.3 The Open Systems Interconnection Security Architecture
    4. 1.4 Security Attacks
      1. 1.4.1 Passive Attacks
      2. 1.4.2 Active Attacks
    5. 1.5 Security Services
      1. 1.5.1 Authentication
      2. 1.5.2 Access Control
      3. 1.5.3 Data Confidentiality
      4. 1.5.4 Non-repudiation
      5. 1.5.5 Data Integrity
    6. Key Terms
    7. Summary
    8. Summary
    9. References
  9. CHAPTER 2 Mathematics of Modern Cryptography
    1. 2.1 Basic Number Theory
      1. 2.1.1 Basic Notations
      2. 2.1.2 Congruence
      3. 2.1.3 Modular Exponentiation
      4. 2.1.4 Greatest Common Divisor Computation
    2. 2.2 Chinese Remainder Theorem
      1. 2.2.1 Secure Multicasting using CRT
      2. 2.2.2 Implementation of CRT in JAVA
    3. 2.3 Fermat’s and Euler’s Theorem
    4. 2.4 Algebraic Structure
      1. 2.4.1 Group
      2. 2.4.2 Ring
      3. 2.4.3 Field
      4. 2.4.4 Galois Fields
      5. 2.4.5 Legendre and Jacobi Symbols
      6. 2.4.6 Continued Fraction
    5. 2.5 Primality Testing Methods
      1. 2.5.1 Naive Algorithm
      2. 2.5.2 Sieve of Eratosthenes Method
      3. 2.5.3 Fermat’s Primality Test
      4. 2.5.4 Miller–Rabin Primality Test
    6. 2.6 Factorization
      1. 2.6.1 Prime Factorization Method
      2. 2.6.2 Trial Division Method
      3. 2.6.3 Fermat’s Factorization Method
      4. 2.6.4 Pollard’s rho Method
    7. Key Terms
    8. Summary
    9. Summary
  10. CHAPTER 3 Classical Encryption Techniques
    1. 3.1 Conventional Encryption
      1. 3.1.1 The Conventional Encryption Model
      2. 3.1.2 Types of Attacks
    2. 3.2 Substitution Techniques
      1. 3.2.1 Caesar Cipher (Z+n)74
      2. 3.2.2 Affine Cipher (Z*n)76
      3. 3.2.3 Playfair Cipher
      4. 3.2.4 Vigenere Cipher
      5. 3.2.5 Vernam One-Time Pad Cipher
      6. 3.2.6 Hill Cipher (Z*n)83
    3. 3.3 Transposition Techniques
      1. 3.3.1 Rail Fence Cipher
      2. 3.3.2 Column Transposition
    4. 3.4 Steganography
      1. 3.4.1 Modern Steganography Techniques
      2. 3.4.2 Attacks on Steganography
      3. 3.4.3 Applications
    5. 3.5 Linear Feedback Shift Registers
      1. 3.5.1 Linear Recurrence Relation
      2. 3.5.2 LFSR Operation
    6. Key Terms
    7. Summary
    8. Summary
  11. CHAPTER 4 Data Encryption Standard
    1. 4.1 Simplified Data Encryption Standard
      1. 4.1.1 S-DES Encryption
      2. 4.1.2 Key Expansion Process
      3. 4.1.3 S-DES Decryption
    2. 4.2 Data Encryption Standard
      1. 4.2.1 DES Encryption and Decryption
      2. 4.2.2 DES Key Expansion
      3. 4.2.3 DES Decryption
    3. 4.3 Strength of DES
      1. 4.3.1 Brute-force Attack
      2. 4.3.2 Differential Cryptanalysis
      3. 4.3.3 Linear Cryptanalysis
    4. 4.4 Modes of Operation
      1. 4.4.1 Electronic Code Book Mode
      2. 4.4.2 Cipher Block Chaining Mode
      3. 4.4.3 Cipher Feedback Mode
      4. 4.4.4 Output Feedback Mode
      5. 4.4.5 Counter Mode
    5. Key Terms
    6. Summary
    7. Summary
    8. References
  12. Chapter 5 Secure Block Cipher and Stream Cipher Technique
    1. 5.1 Need for Double DES and Triple DES
    2. 5.2 Double DES
      1. 5.2.1 Meet-in-the-Middle Attack
      2. 5.2.2 Attacking Scenario
    3. 5.3 Triple DES
    4. 5.4 Pseudo Random Number Generator
      1. 5.4.1 Linear Congruential Generator
      2. 5.4.2 Blum Blum Shub Generator
    5. 5.5 RC
      1. 5.5.1 Principle of RC
      2. 5.5.2 The Key-scheduling Algorithm
      3. 5.5.3 The Pseudo Random Generation Algorithm
      4. 5.5.4 Encryption and Decryption
    6. 5.6 RC
      1. 5.6.1 Principles of RC
      2. 5.6.2 RC5 Key Expansion
      3. 5.6.3 RC5 Encryption
      4. 5.6.4 RC5 Decryption
    7. 5.7 International Data Encryption Algorithm
      1. 5.7.1 Principles of IDEA
      2. 5.7.2 Key Expansion
      3. 5.7.3 IDEA Encryption and Decryption
    8. 5.8 Blowfish Encryption
      1. 5.8.1 Principles of Blowfish
      2. 5.8.2 Key Expansion
      3. 5.8.3 Encryption and Decryption
    9. 5.9 CAST-128172
      1. 5.9.1 CAST-128 Algorithm
      2. 5.9.2 Strength of CAST
    10. 5.10 RC
      1. 5.10.1 Key Expansion Process
      2. 5.10.2 Encryption Algorithm
      3. 5.10.3 Decryption Operation
    11. Key Terms
    12. Summary
    13. Summary
    14. References
  13. Chapter 6 Advanced Encryption Standard (AES)187
    1. 6.1 AES Introduction (GF(2n))187
    2. 6.2 Working Principle of the AES
    3. 6.3 AES Encryption and Decryption
    4. 6.4 AES Key Expansion Algorithm
    5. 6.5 AES Exercises Based on GF (28)197
    6. Key Terms
    7. Summary
    8. Summary
    9. References
  14. Chapter 7 Public Key Cryptosystem
    1. 7.1 Introduction to Public-Key Cryptosystem
    2. 7.2 RSA Algorithm
    3. 7.3 Attacks on RSA
      1. 7.3.1 Brute-Force Attack
      2. 7.3.2 Mathematical Attack
      3. 7.3.3 Timing Attack
    4. 7.4 JAVA Implementation of RSA
    5. 7.5 Knapsack Cryptosystem
      1. 7.5.1 Definition
      2. 7.5.2 Superincreasing Knapsack
      3. 7.5.3 Encryption and Decryption Algorithm for Knapsack Cryptosystem
      4. 7.5.4 Secret Communication using Knapsack
    6. Key Terms
    7. Summary
    8. Summary
    9. References
  15. Chapter 8 Key Management and Key Distribution
    1. 8.1 Introduction to Key Management
    2. 8.2 Centralized vs Distributed Key Management
      1. 8.2.1 Key Generation
      2. 8.2.2 Key Distribution
      3. 8.2.3 Key Updating
    3. 8.3 Diffie–Hellman Key Exchange
      1. 8.3.1 Diffie–Hellman Key Exchange Algorithm
      2. 8.3.2 Discrete Logarithms
    4. 8.4 Computing Discrete Logarithms
      1. 8.4.1 Baby Step, Giant Step
      2. 8.4.2 Index Calculus
    5. 8.5 Man-In-The-Middle Attack
    6. 8.6 JAVA Implementation of Diffie–HellmanKey Exchange Algorithm
    7. 8.7 Secure Multicast Communication Based onDiffie–Hellman Key Exchange
      1. 8.7.1 Introduction
      2. 8.7.2 Key Computation Protocol
    8. 8.8 Computation-Efficient Secure Multicast KeyManagement Based on Greatest Common Divisor
      1. 8.8.1 Introduction
      2. 8.8.2 Clustered Tree-based Key ManagementScheme
    9. 8.9 JAVA Implementation of Secure Multicast KeyManagement Based on GCD
    10. Key Terms
    11. Summary
    12. Summary
    13. References
  16. Chapter 9 Elliptic Curve Cryptography
    1. 9.1 Introduction
    2. 9.2 ECC Arithmetic
      1. 9.2.1 Elliptic Curve Operations
      2. 9.2.2 Geometric Description of Addition
      3. 9.2.3 Arithmetic Description of Point Addition
      4. 9.2.4 Point Multiplication
      5. 9.2.5 Elliptic Curve Over Zp261
    3. 9.3 Diffie–Hellman Key Exchange using Elliptic Curves
    4. 9.4 Elgamal Cryptosystem using Elliptic Curves
    5. 9.5 ECC-Based Elgamal Digital Signature
    6. Key Terms
    7. Summary
    8. Summary
    9. References
  17. Chapter 10 Authentication Techniques
    1. 10.1 Message Authentication
      1. 10.1.1 Message AuthenticationRequirements
      2. 10.1.2 Message Authentication Functions
    2. 10.2 Hash Functions
      1. 10.2.1 Requirements of Hash Functions
      2. 10.2.2 Security of Hash Functions
    3. 10.3 Message Authentication Code
      1. 10.3.1 Requirements of MAC
      2. 10.3.2 Security of MAC
    4. 10.4 Authentication Algorithms
      1. 10.4.1 MD
      2. 10.4.2 Secure Hash Algorithms
      3. 10.4.3 Birthday Attacks
      4. 10.4.4 RIPEMD-160282
      5. 10.4.5 Hash Message Authentication Code
      6. 10.4.6 Whirlpool
    5. Key Terms
    6. Summary
    7. Summary
  18. Chapter 11 Digital Signature
    1. 11.1 Introduction to Digital Signature
      1. 11.1.1 Uses of Digital Signature
      2. 11.1.2 Comparison of Digital Signature withDigital Certificate
      3. 11.1.3 Digital Signature Standard
    2. 11.2 Digital Signature Schemes
      1. 11.2.1 ElGamal Signature Scheme299
      2. 11.2.2 DSA Signature Scheme
      3. 11.2.3 RSA Signature Scheme
      4. 11.2.4 Fiat–Shamir Signature Scheme
      5. 11.2.5 Lamport Signature Scheme
      6. 11.2.6 Chaum–Antwerpen Undeniable Signature Scheme
      7. 11.2.7 Chaum’s Blind Signature Scheme
      8. 11.2.8 Ong–Schnorr–Shamir Subliminal ChannelSignature Scheme
      9. 11.2.9 Heyst–Pedersen Signature Scheme
      10. 11.2.10 Probabilistic Signature Scheme
    3. 11.3 Batch Digital Signature Algorithm
      1. 11.3.1 Naccache et al. Batch Verification Algorithm
      2. 11.3.2 Lim and Lee’s Attack
    4. 11.4 Attacks On Digital Signature
      1. 11.4.1 Problem
      2. 11.4.2 Attacks
    5. 11.5 Merits and Demerits of Digital Signature Schemes
    6. 11.6 Java Implementation of DSA
      1. 11.6.1 History
      2. 11.6.2 DSA Implementation using JCA
      3. 11.6.3 Security Considerations while ImplementingDigital Signature
      4. 11.6.4 Simple Batch Processing of DSA
    7. Key Terms
    8. Summary
    9. Summary
  19. Chapter 12 Authentication Applications
    1. 12.1 Kerberos
      1. 12.1.1 Kerberos Terminologies
      2. 12.1.2 Kerberos Version 4328
      3. 12.1.3 Kerberos Version 5330
    2. 12.2 X.509 Authentication Services
      1. 12.2.1 X.509 Formats
      2. 12.2.2 Version 3 X.509 Certificates
    3. 12.3 Public Key Infrastructure
      1. 12.3.1 PKI Management Model
      2. 12.3.2 PKI Management Operations
    4. Key Terms
    5. Summary
    6. Summary
  20. Chapter 13 Application Layer Security
    1. 13.1 Web Security
    2. 13.1.1 Web Security Threats and Countermeasures
    3. 13.2 Secure Electronic Transaction
      1. 13.2.1 Actors in SET
      2. 13.2.2 Functionality of SET
      3. 13.2.3 SET Algorithms
    4. 13.3 E-Mail Security
      1. 13.3.1 Pretty Good Privacy
      2. 13.3.2 Secure/Multipurpose Internet Mail Extensions 349
    5. 13.4 Case Study
      1. 13.4.1 Case Study of PGP
      2. 13.4.2 Case Study of S/MIME
    6. 13.5 Secure Hypertext Transfer Protocol
    7. Key Terms
    8. Summary
    9. Summary
  21. Chapter 14 Transport Layer Security
    1. 14.1 Secure Socket Layer
      1. 14.1.1 SSL Architecture
      2. 14.1.2 Working of SSL
      3. 14.1.3 SSL Applications
      4. 14.1.4 Issues in SSL
    2. 14.2 Wired TLS 362
      1. 14.2.1 TLS Architecture
      2. 14.2.2 Working of TLS
      3. 14.2.3 TLS Applications
      4. 14.2.4 Issues in TLS
    3. 14.3 Wireless Transport Layer Security
      1. 14.3.1 WTLS Architecture
      2. 14.3.2 Working of the WTLS
      3. 14.3.3 WTLS Applications 366
      4. 14.3.4 Issues in the WTLS
    4. 14.4 Comparison of SSL and TLS 367
    5. Key Terms
    6. Summary
    7. Summary
  22. Chapter 15 IP Security
    1. 15.1 IP Security
      1. 15.1.1 IP Security Overview
    2. 15.2 IP Security Architecture
      1. 15.2.1 IP Security Policy
    3. 15.3 IP Datagram
    4. 15.4 IPsec Authentication Header
      1. 15.4.1 AH Format
      2. 15.4.2 AH Datagram Placement and Linking
    5. 15.5 IPsec Encapsulating Security Payload
      1. 15.5.1 ESP Format
      2. 15.5.2 ESP Field Calculation and Placement
    6. 15.6 Applications of IPsec
    7. 15.7 Security Issues with IPsec
    8. Key Terms
    9. Summary
    10. Summary
  23. Chapter 16 System Security
    1. 16.1 Password
      1. 16.1.1 Password Management
      2. 16.1.2 Password Usage
      3. 16.1.3 Password Management System 384
    2. 16.2 Program Security
      1. 16.2.1 Malware
      2. 16.2.2 Malware Propagation 385
      3. 16.2.3 Malware Detection 386
      4. 16.2.4 Viruses
      5. 16.2.5 Case Study
    3. 16.3 OS Security
      1. 16.3.1 Operating System
      2. 16.3.2 Trusted OSs
      3. 16.3.3 Security Policies
      4. 16.3.4 Features of Trusted OS
      5. 16.3.5 The Attacks on the System
      6. 16.3.6 Models of Security
      7. 16.3.7 Design of a Trusted OS
    4. 16.4 Network Security
      1. 16.4.1 Intrusion Detection System
      2. 16.4.2 Firewall
      3. 16.4.3 Types of Firewall 398
    5. 16.5 Database Security
      1. 16.5.1 DB Security Requirements
      2. 16.5.2 DB Vulnerabilities and Attacks
      3. 16.5.3 SQL Injection
      4. 16.5.4 SQL Injection Countermeasures
    6. Key Terms
    7. Summary
    8. Summary
  24. Appendix: Frequently Asked University Questions with Solutions