Cryptography and Network Security After reading chapter 4, evaluate the history of the Data Encryption Standard (DES) and then how it has transformed

Cryptography and Network Security
After reading chapter 4, evaluate the history of the Data Encryption Standard (DES) and then how it has transformed cryptography with the advancement of triple DES. The initial post must be completed by Thursday at 11:59 eastern. You are also required to post a response to a minimum of twoother students in the class by the end of the week.You must use at least one scholarly resource.Every discussion posting must be properly APA formatted.

CRYPTOGRAPHY AND
NETWORK SECURITY
PRINCIPLES AND PRACTICE
SEVENTH EDITION
GLOBAL EDITION

Don't use plagiarized sources. Get Your Custom Assignment on
Cryptography and Network Security After reading chapter 4, evaluate the history of the Data Encryption Standard (DES) and then how it has transformed
From as Little as $13/Page

William Stallings

Boston Columbus Indianapolis New York San Francisco Hoboken
Amsterdam Cape Town Dubai London Madrid Milan Munich Paris Montral Toronto

Delhi Mexico City So Paulo Sydney Hong Kong Seoul Singapore Taipei Tokyo

Hiva-Network.Com

http://www.hiva-network.com/

For Tricia: never dull, never boring,
the smartest and bravest person

Iknow

ISBN 10:1-292-15858-1

ISBN 13: 978-1-292-15858-7

10 9 8 7 6 5 4 3 2 1

British Library Cataloguing-in-Publication Data
A catalogue record for this book is available from the British Library

Vice President and Editorial Director, ECS:
Marcia J. Horton
Executive Editor: Tracy Johnson (Dunkelberger)
Editorial Assistant: Kristy Alaura
Acquisitions Editor, Global Editions: Abhijit Baroi
Program Manager: Carole Snyder
Project Manager: Robert Engelhardt
Project Editor, Global Editions: K.K. Neelakantan
Media Team Lead: Steve Wright
R&P Manager: Rachel Youdelman
R&P Senior Project Manager: William Opaluch
Senior Operations Specialist: Maura Zaldivar-Garcia
Inventory Manager: Meredith Maresca

Inventory Manager: Meredith Maresca
Senior Manufacturing Controller, Global Editions:
Trudy Kimber

Media Production Manager, Global Editions:
Vikram Kumar

Product Marketing Manager: Bram Van Kempen
Marketing Assistant: Jon Bryant
Cover Designer: Lumina Datamatics
Cover Art: goghy73 / Shutterstock
Full-Service Project Management:
Chandrakala Prakash, SPi Global

Composition: SPi Global

Credits and acknowledgments borrowed from other sources and reproduced, with permission, in this textbook

appear on page 753.

Pearson Education Limited 2017

The right of William Stallings to be identified as the author of this work has been asserted by him in accordance

with the Copyright, Designs and Patents Act 1988.

Authorized adaptation from the United States edition, entitled Cryptography and Network Security: Principles and
Practice, 7th Edition, ISBN 978-0-13-444428-4, by William Stallings published by Pearson Education 2017.

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in

any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without either the prior

written permission of the publisher or a license permitting restricted copying in the United Kingdom issued by the

Copyright Licensing Agency Ltd, Saffron House, 610 Kirby Street, London EC1N 8TS.

All trademarks used herein are the property of their respective owners. The use of any trademark in this text does

not vest in the author or publisher any trademark ownership rights in such trademarks, nor does the use of such

trademarks imply any affiliation with or endorsement of this book by such owners.

Pearson Education Limited

Edinburgh Gate

Harlow

Essex CM20 2JE

England

and Associated Companies throughout the world

Visit us on the World Wide Web at:

www.pearsonglobaleditions.com

Typeset by SPi Global

Printed and bound in Malaysia.

http://www.pearsonglobaleditions.com

3

CONTENTS
Notation 10

Preface 12

About the Author 18

PART ONE: BACKGROUND 19

Chapter 1 Computer and Network Security Concepts 19

1.1 Computer Security Concepts 21
1.2 The OSI Security Architecture 26
1.3 Security Attacks 27
1.4 Security Services 29
1.5 Security Mechanisms 32
1.6 Fundamental Security Design Principles 34
1.7 Attack Surfaces and Attack Trees 37
1.8 A Model for Network Security 41
1.9 Standards 43
1.10 Key Terms, Review Questions, and Problems 44

Chapter 2 Introduction to Number Theory 46

2.1 Divisibility and the Division Algorithm 47
2.2 The Euclidean Algorithm 49
2.3 Modular Arithmetic 53
2.4 Prime Numbers 61
2.5 Fermats and Eulers Theorems 64
2.6 Testing for Primality 68
2.7 The Chinese Remainder Theorem 71
2.8 Discrete Logarithms 73
2.9 Key Terms, Review Questions, and Problems 78
Appendix 2A The Meaning of Mod 82

PART TWO: SYMMETRIC CIPHERS 85

Chapter 3 Classical Encryption Techniques 85

3.1 Symmetric Cipher Model 86
3.2 Substitution Techniques 92
3.3 Transposition Techniques 107
3.4 Rotor Machines 108
3.5 Steganography 110
3.6 Key Terms, Review Questions, and Problems 112

Chapter 4 Block Ciphers and the Data Encryption Standard 118

4.1 Traditional Block Cipher Structure 119
4.2 The Data Encryption Standard 129
4.3 A DES Example 131
4.4 The Strength of DES 134

4 CONTENTS

4.5 Block Cipher Design Principles 135
4.6 Key Terms, Review Questions, and Problems 137

Chapter 5 Finite Fields 141

5.1 Groups 143
5.2 Rings 145
5.3 Fields 146
5.4 Finite Fields of the Form GF( p) 147
5.5 Polynomial Arithmetic 151
5.6 Finite Fields of the Form GF(2n) 157
5.7 Key Terms, Review Questions, and Problems 169

Chapter 6 Advanced Encryption Standard 171

6.1 Finite Field Arithmetic 172
6.2 AES Structure 174
6.3 AES Transformation Functions 179
6.4 AES Key Expansion 190
6.5 An AES Example 193
6.6 AES Implementation 197
6.7 Key Terms, Review Questions, and Problems 202
Appendix 6A Polynomials with Coefficients in GF(28) 203

Chapter 7 Block Cipher Operation 207

7.1 Multiple Encryption and Triple DES 208
7.2 Electronic Codebook 213
7.3 Cipher Block Chaining Mode 216
7.4 Cipher Feedback Mode 218
7.5 Output Feedback Mode 220
7.6 Counter Mode 222
7.7 XTS-AES Mode for Block-Oriented Storage Devices 224
7.8 Format-Preserving Encryption 231
7.9 Key Terms, Review Questions, and Problems 245

Chapter 8 Random Bit Generation and Stream Ciphers 250

8.1 Principles of Pseudorandom Number Generation 252
8.2 Pseudorandom Number Generators 258
8.3 Pseudorandom Number Generation Using a Block Cipher 261
8.4 Stream Ciphers 267
8.5 RC4 269
8.6 True Random Number Generators 271
8.7 Key Terms, Review Questions, and Problems 280

PART THREE: ASYMMETRIC CIPHERS 283

Chapter 9 Public-Key Cryptography and RSA 283

9.1 Principles of Public-Key Cryptosystems 285
9.2 The RSA Algorithm 294
9.3 Key Terms, Review Questions, and Problems 308

CONTENTS 5

Chapter 10 Other Public-Key Cryptosystems 313

10.1 Diffie-Hellman Key Exchange 314
10.2 Elgamal Cryptographic System 318
10.3 Elliptic Curve Arithmetic 321
10.4 Elliptic Curve Cryptography 330
10.5 Pseudorandom Number Generation Based on an Asymmetric Cipher 334
10.6 Key Terms, Review Questions, and Problems 336

PART FOUR: CRYPTOGRAPHIC DATA INTEGRITY ALGORITHMS 339

Chapter 11 Cryptographic Hash Functions 339

11.1 Applications of Cryptographic Hash Functions 341
11.2 Two Simple Hash Functions 346
11.3 Requirements and Security 348
11.4 Hash Functions Based on Cipher Block Chaining 354
11.5 Secure Hash Algorithm (SHA) 355
11.6 SHA-3 365
11.7 Key Terms, Review Questions, and Problems 377

Chapter 12 Message Authentication Codes 381

12.1 Message Authentication Requirements 382
12.2 Message Authentication Functions 383
12.3 Requirements for Message Authentication Codes 391
12.4 Security of MACs 393
12.5 MACs Based on Hash Functions: HMAC 394
12.6 MACs Based on Block Ciphers: DAA and CMAC 399
12.7 Authenticated Encryption: CCM and GCM 402
12.8 Key Wrapping 408
12.9 Pseudorandom Number Generation Using Hash Functions and MACs 413
12.10 Key Terms, Review Questions, and Problems 416

Chapter 13 Digital Signatures 419

13.1 Digital Signatures 421
13.2 Elgamal Digital Signature Scheme 424
13.3 Schnorr Digital Signature Scheme 425
13.4 NIST Digital Signature Algorithm 426
13.5 Elliptic Curve Digital Signature Algorithm 430
13.6 RSA-PSS Digital Signature Algorithm 433
13.7 Key Terms, Review Questions, and Problems 438

PART FIVE: MUTUAL TRUST 441

Chapter 14 Key Management and Distribution 441

14.1 Symmetric Key Distribution Using Symmetric Encryption 442
14.2 Symmetric Key Distribution Using Asymmetric Encryption 451
14.3 Distribution of Public Keys 454
14.4 X.509 Certificates 459

6 CONTENTS

14.5 Public-Key Infrastructure 467
14.6 Key Terms, Review Questions, and Problems 469

Chapter 15 User Authentication 473

15.1 Remote User-Authentication Principles 474
15.2 Remote User-Authentication Using Symmetric Encryption 478
15.3 Kerberos 482
15.4 Remote User-Authentication Using Asymmetric Encryption 500
15.5 Federated Identity Management 502
15.6 Personal Identity Verification 508
15.7 Key Terms, Review Questions, and Problems 515

PART SIX: NETWORK AND INTERNET SECURITY 519

Chapter 16 Network Access Control and Cloud Security 519

16.1 Network Access Control 520
16.2 Extensible Authentication Protocol 523
16.3 IEEE 802.1X Port-Based Network Access Control 527
16.4 Cloud Computing 529
16.5 Cloud Security Risks and Countermeasures 535
16.6 Data Protection in the Cloud 537
16.7 Cloud Security as a Service 541
16.8 Addressing Cloud Computing Security Concerns 544
16.9 Key Terms, Review Questions, and Problems 545

Chapter 17 Transport-Level Security 546

17.1 Web Security Considerations 547
17.2 Transport Layer Security 549
17.3 HTTPS 566
17.4 Secure Shell (SSH) 567
17.5 Key Terms, Review Questions, and Problems 579

Chapter 18 Wireless Network Security 581

18.1 Wireless Security 582
18.2 Mobile Device Security 585
18.3 IEEE 802.11 Wireless LAN Overview 589
18.4 IEEE 802.11i Wireless LAN Security 595
18.5 Key Terms, Review Questions, and Problems 610

Chapter 19 Electronic Mail Security 612

19.1 Internet Mail Architecture 613
19.2 Email Formats 617
19.3 Email Threats and Comprehensive Email Security 625
19.4 S/MIME 627
19.5 Pretty Good Privacy 638
19.6 DNSSEC 639
19.7 DNS-Based Authentication of Named Entities 643
19.8 Sender Policy Framework 645
19.9 DomainKeys Identified Mail 648

CONTENTS 7

19.10 Domain-Based Message Authentication, Reporting, and Conformance 654
19.11 Key Terms, Review Questions, and Problems 659

Chapter 20 IP Security 661

20.1 IP Security Overview 662
20.2 IP Security Policy 668
20.3 Encapsulating Security Payload 673
20.4 Combining Security Associations 681
20.5 Internet Key Exchange 684
20.6 Cryptographic Suites 692
20.7 Key Terms, Review Questions, and Problems 694

APPENDICES 696

Appendix A Projects for Teaching Cryptography and Network Security 696

A.1 Sage Computer Algebra Projects 697
A.2 Hacking Project 698
A.3 Block Cipher Projects 699
A.4 Laboratory Exercises 699
A.5 Research Projects 699
A.6 Programming Projects 700
A.7 Practical Security Assessments 700
A.8 Firewall Projects 701
A.9 Case Studies 701
A.10 Writing Assignments 701
A.11 Reading/Report Assignments 702
A.12 Discussion Topics 702

Appendix B Sage Examples 703

B.1 Linear Algebra and Matrix Functionality 704
B.2 Chapter 2: Number Theory 705
B.3 Chapter 3: Classical Encryption 710
B.4 Chapter 4: Block Ciphers and the Data Encryption Standard 713
B.5 Chapter 5: Basic Concepts in Number Theory and Finite Fields 717
B.6 Chapter 6: Advanced Encryption Standard 724
B.7 Chapter 8: Pseudorandom Number Generation and Stream Ciphers 729
B.8 Chapter 9: Public-Key Cryptography and RSA 731
B.9 Chapter 10: Other Public-Key Cryptosystems 734
B.10 Chapter 11: Cryptographic Hash Functions 739
B.11 Chapter 13: Digital Signatures 741

References 744

Credits 753

Index 754

8 CONTENTS

ONLINE CHAPTERS AND APPENDICES1

PART SEVEN: SYSTEM SECURITY

Chapter 21 Malicious Software

21.1 Types of Malicious Software (Malware)
21.2 Advanced Persistent Threat
21.3 PropagationInfected ContentViruses
21.4 PropagationVulnerability ExploitWorms
21.5 PropagationSocial EngineeringSpam E-mail, Trojans
21.6 PayloadSystem Corruption
21.7 PayloadAttack AgentZombie, Bots
21.8 PayloadInformation TheftKeyloggers, Phishing, Spyware
21.9 PayloadStealthingBackdoors, Rootkits
21.10 Countermeasures
21.11 Distributed Denial of Service Attacks
21.12 References
21.13 Key Terms, Review Questions, and Problems

Chapter 22 Intruders

22.1 Intruders
22.2 Intrusion Detection
22.3 Password Management
22.4 References
22.5 Key Terms, Review Questions, and Problems

Chapter 23 Firewalls

23.1 The Need for Firewalls
23.2 Firewall Characteristics and Access Policy
23.3 Types of Firewalls
23.4 Firewall Basing
23.5 Firewall Location and Configurations
23.6 References
23.7 Key Terms, Review Questions, and Problems

PART EIGHT: LEGAL AND ETHICAL ISSUES

Chapter 24 Legal and Ethical Aspects

24.1 Cybercrime and Computer Crime
24.2 Intellectual Property
24.3 Privacy
24.4 Ethical Issues
24.5 Recommended Reading
24.6 References
24.7 Key Terms, Review Questions, and Problems
24.A Information Privacy

1Online chapters, appendices, and other documents are at the Companion Website, available via the
access card at the front of this book.

CONTENTS 9

Appendix C Sage Exercises

Appendix D Standards and Standard-Setting Organizations

Appendix E Basic Concepts from Linear Algebra

Appendix F Measures of Secrecy and Security

Appendix G Simplified DES

Appendix H Evaluation Criteria for AES

Appendix I Simplified AES

Appendix J The Knapsack Algorithm

Appendix K Proof of the Digital Signature Algorithm

Appendix L TCP/IP and OSI

Appendix M Java Cryptographic APIs

Appendix N MD5 Hash Function

Appendix O Data Compression Using ZIP

Appendix P PGP

Appendix Q The International Reference Alphabet

Appendix R Proof of the RSA Algorithm

Appendix S Data Encryption Standard

Appendix T Kerberos Encryption Techniques

Appendix U Mathematical Basis of the Birthday Attack

Appendix V Evaluation Criteria for SHA-3

Appendix W The Complexity of Algorithms

Appendix X Radix-64 Conversion

Appendix Y The Base Rate Fallacy

Glossary

NOTATION

Symbol Expression Meaning

D, K D(K, Y) Symmetric decryption of ciphertext Y using secret key K

D, PRa D(PRa, Y) Asymmetric decryption of ciphertext Y using As private key PRa

D, PUa D(PUa, Y) Asymmetric decryption of ciphertext Y using As public key PUa

E, K E(K, X) Symmetric encryption of plaintext X using secret key K

E, PRa E(PRa, X) Asymmetric encryption of plaintext X using As private key PRa

E, PUa E(PUa, X) Asymmetric encryption of plaintext X using As public key PUa

K Secret key

PRa Private key of user A

PUa Public key of user A

MAC, K MAC(K, X) Message authentication code of message X using secret key K

GF(p)
The finite field of order p, where p is prime.The field is defined as
the set Zp together with the arithmetic operations modulo p.

GF(2n) The finite field of order 2n

Zn Set of nonnegative integers less than n

gcd gcd(i, j)
Greatest common divisor; the largest positive integer that

divides both i and j with no remainder on division.

mod a mod m Remainder after division of a by m

mod, K a K b (mod m) a mod m = b mod m

mod, [ a [ b (mod m) a mod m b mod m

dlog dloga,p(b) Discrete logarithm of the number b for the base a (mod p)

w f(n)
The number of positive integers less than n and relatively
primeto n.
This is Eulers totient function.

a
n

i = 1
ai

a1 + a2 + g + an

q
n

i = 1
ai

a1 * a2 * g * an

i j
i divides j, which means that there is no remainder when j is
divided by i

, a Absolute value of a

10

Hiva-Network.Com

http://www.hiva-network.com/

NOTATION 11

Symbol Expression Meaning

} x} y x concatenated with y

x y x is approximately equal to y

x y
Exclusive-OR of x and y for single-bit variables;
Bitwise exclusive-OR of x and y for multiple-bit variables

:, ; :x; The largest integer less than or equal to x
x S The element x is contained in the set S.

A (a1, a2,
c ak)

The integer A corresponds to the sequence of integers

(a1, a2, c ak)

PREFACE

WHATS NEW IN THE SEVENTH EDITION

In the four years since the sixth edition of this book was published, the field has seen contin-

ued innovations and improvements. In this new edition, I try to capture these changes while

maintaining a broad and comprehensive coverage of the entire field. To begin this process of

revision, the sixth edition of this book was extensively reviewed by a number of professors

who teach the subject and by professionals working in the field. The result is that, in many

places, the narrative has been clarified and tightened, and illustrations have been improved.

Beyond these refinements to improve pedagogy and user-friendliness, there have been

substantive changes throughout the book. Roughly the same chapter organization has been

retained, but much of the material has been revised and new material has been added. The

most noteworthy changes are as follows:

Fundamental security design principles: Chapter 1 includes a new section discussing the
security design principles listed as fundamental by the National Centers of Academic

Excellence in Information Assurance/Cyber Defense, which is jointly sponsored by the

U.S. National Security Agency and the U.S. Department of Homeland Security.

Attack surfaces and attack trees: Chapter 1 includes a new section describing these two
concepts, which are useful in evaluating and classifying security threats.

Number theory coverage: The material on number theory has been consolidated
into a single chapter, Chapter 2. This makes for a convenient reference. The relevant

portions of Chapter 2 can be assigned as needed.

Finite fields: The chapter on finite fields has been revised and expanded with addi-
tional text and new figures to enhance understanding.

Format-preserving encryption: This relatively new mode of encryption is enjoying
increasing commercial success. A new section in Chapter 7 covers this method.

Conditioning and health testing for true random number generators: Chapter 8 now
provides coverage of these important topics.

User authentication model: Chapter 15 includes a new description of a general model
for user authentication, which helps to unify the discussion of the various approaches

to user authentication.

Cloud security: The material on cloud security in Chapter 16 has been updated and
expanded to reflect its importance and recent developments.

Transport Layer Security (TLS): The treatment of TLS in Chapter 17 has been updated,
reorganized to improve clarity, and now includes a discussion of the new TLS version1.3.

Email Security: Chapter 19 has been completely rewritten to provide a comprehensive
and up-to-date discussion of email security. It includes:

New: discussion of email threats and a comprehensive approach to email security.

New: discussion of STARTTLS, which provides confidentiality and authentication

for SMTP.
12

PREFACE 13

Revised: treatment of S/MIME has been updated to reflect the latest version 3.2.

New: discussion of DNSSEC and its role in supporting email security.

New: discussion of DNS-based Authentication of Named Entities (DANE) and the

use of this approach to enhance security for certificate use in SMTP and S/MIME.

New: discussion of Sender Policy Framework (SPF), which is the standardized way

for a sending domain to identify and assert the mail senders for a given domain.

Revised: discussion of DomainKeys Identified Mail (DKIM) has been revised.

New: discussion of Domain-based Message Authentication, Reporting, and Confor-

mance (DMARC) allows email senders to specify policy on how their mail should

be handled, the types of reports that receivers can send back, and the frequency

those reports should be sent.

OBJECTIVES

The subject, and therefore this book, draws on a variety of disciplines. In particular,

it is impossible to appreciate the significance of some of the techniques discussed in this

book without a basic understanding of number theory and some results from probability

theory. Nevertheless, an attempt has been made to make the book self-contained. The book

not only presents the basic mathematical results that are needed but provides the reader

with an intuitive understanding of those results. Such background material is introduced

as needed. This approach helps to motivate the material that is introduced, and the author

considers this preferable to simply presenting all of the mathematical material in a lump at

the beginning of the book.

SUPPORT OF ACM/IEEE COMPUTER SCIENCE CURRICULA 2013

The book is intended for both academic and professional audiences. As a textbook, it is

intended as a one-semester undergraduate course in cryptography and network security for

computer science, computer engineering, and electrical engineering majors. The changes to

this edition are intended to provide support of the ACM/IEEE Computer Science Curricula

2013 (CS2013). CS2013 adds Information Assurance and Security (IAS) to the curriculum rec-

ommendation as one of the Knowledge Areas in the Computer Science Body of Knowledge.

The document states that IAS is now part of the curriculum recommendation because of the

critical role of IAS in computer science education. CS2013 divides all course work into three

categories: Core-Tier 1 (all topics should be included in the curriculum), Core-Tier-2 (all or

almost all topics should be included), and elective (desirable to provide breadth and depth).

In the IAS area, CS2013 recommends topics in Fundamental Concepts and Network Security

It is the purpose of this book to provide a practical survey of both the principles and practice

of cryptography and network security. In the first part of the book, the basic issues to be

addressed by a network security capability are explored by providing a tutorial and survey

of cryptography and network security technology. The latter part of the book deals with the

practice of network security: practical applications that have been implemented and are in

use to provide network security.

14 PREFACE

in Tier 1 and Tier 2, and Cryptography topics as elective. This text covers virtually all of the

topics listed by CS2013 in these threecategories.

The book also serves as a basic reference volume and is suitable for self-study.

PLAN OF THE TEXT

The book is divided into eight parts.

Background

Symmetric Ciphers

Asymmetric Ciphers

Cryptographic Data Integrity Algorithms

Mutual Trust

Network and Internet Security

System Security

Legal and Ethical Issues

The book includes a number of pedagogic features, including the use of the computer

algebra system Sage and numerous figures and tables to clarify the discussions. Each chap-

ter includes a list of key words, review questions, homework problems, and suggestions

for further reading. The book also includes an extensive glossary, a list of frequently used

acronyms, and a bibliography. In addition, a test bank is available to instructors.

INSTRUCTOR SUPPORT MATERIALS

The major goal of this text is to make it as effective a teaching tool for this exciting and

fast-moving subject as possible. This goal is reflected both in the structure of the book and in

the supporting material. The text is accompanied by the following supplementary material

that will aid the instructor:

Solutions manual: Solutions to all end-of-chapter Review Questions and Problems.

Projects manual: Suggested project assignments for all of the project categories listed
below.

PowerPoint slides: A set of slides covering all chapters, suitable for use in lecturing.

PDF files: Reproductions of all figures and tables from the book.

Test bank: A chapter-by-chapter set of questions with a separate file of answers.

Sample syllabuses: The text contains more material than can be conveniently covered
in one semester. Accordingly, instructors are provided with several sample syllabuses

that guide the use of the text within limited time.

All of these support materials are available at the Instructor Resource Center
(IRC) for this textbook, which can be reached through the publishers Web site
www.pearsonglobaleditions.com/stallings. To gain access to the IRC, please contact your

local Pearson sales representative.

http://www.pearsonglobaleditions.com/stallings

PREFACE 15

PROJECTS AND OTHER STUDENT EXERCISES

For many instructors, an important component of a cryptography or network security course

is a project or set of projects by which the student gets hands-on experience to reinforce

concepts from the text. This book provides an unparalleled degree of support, including a

projects component in the course. The IRC not only includes guidance on how to assign and

structure the projects, but also includes a set of project assignments that covers a broad range

of topics from the text:

Sage projects: Described in the next section.

Hacking project: Exercise designed to illuminate the key issues in intrusion detection
and prevention.

Block cipher projects: A lab that explores the operation of the AES encryption algo-
rithm by tracing its execution, computing one round by hand, and then exploring the

various block cipher modes of use. The lab also covers DES. In both cases, an online

Java applet is used (or can be downloaded) to execute AES or DES.

Lab exercises: A series of projects that involve programming and experimenting with
concepts from the book.

Research projects: A series of research assignments that instruct the student to research
a particular topic on the Internet and write a report.

Programming projects: A series of programming projects that cover a broad range of
topics and that can be implemented in any suitable language on any platform.

Practical security assessments: A set of exercises to examine current infrastructure and
practices of an existing organization.

Firewall projects: A portable network firewall visualization simulator, together with
exercises for teaching the fundamentals of firewalls.

Case studies: A set of real-world case studies, including learning objectives, case
description, and a series of case discussion questions.

Writing assignments: A set of suggested writing assignments, organized by chapter.

Reading/report assignments: A list of papers in the literatureone for each chapter
that can be assigned for the student to read and then write a short report.

This diverse set of projects and other student exercises enables the instructor to use

the book as one component in a rich and varied learning experience and to tailor a course

plan to meet the specific needs of the instructor and students. See Appendix A in this book

for details.

THE SAGE COMPUTER ALGEBRA SYSTEM

One of the most important features of this book is the use of Sage for cryptographic examples

and homework assignments. Sage is an open-source, multiplatform, freeware package that

implements a very powerful, flexible, and easily learned mathematics and computer algebra

system. Unlike competing systems (such as Mathematica, Maple, and MATLAB), there are

16 PREFACE

no licensing agreements or fees involved. Thus, Sage can be made available on computers

and networks at school, and students can individually download the software to their own

personal computers for use at home. Another advantage of using Sage is that students learn

a powerful, flexible tool that can be used for virtually any mathematical application, not

justcryptography.

The use of Sage can make a significant difference to the teaching of the mathematics

of cryptographic algorithms. This book provides a large number of examples of the use of

Sage covering many cryptographic concepts in Appendix B, which is included in this book.

Appendix C lists exercises in each of these topic areas to enable the student to gain

hands-on experience with cryptographic algorithms. This appendix is available to instruc-

tors at the IRC for this book. Appendix C includes a section on how to download and get

started with Sage, a section on programming with Sage, and exercises that can be assigned to

students in the following categories:

Chapter 2Number Theory and Finite Fields: Euclidean and extended Euclidean
algorithms, polynomial arithmetic, GF(24), Eulers Totient function, MillerRabin, fac-

toring, modular exponentiation, discrete logarithm, and Chinese remainder theorem.

Chapter 3Classical Encryption: Affine ciphers and the Hill cipher.

Chapter 4Block Ciphers and the Data Encryption Standard: Exercises based
onSDES.

Chapter 6Advanced Encryption Standard: Exercises based on SAES.

Chapter 8Pseudorandom Number Generation and Stream Ciphers: Blum Blum
Shub, linear congruential generator, and ANSI X9.17 PRNG.

Chapter 9Public-Key Cryptography and RSA: RSA encrypt/decrypt and signing.

Chapter 10Other Public-Key Cryptosystems: DiffieHellman, elliptic curve.

Chapter 11Cryptographic Hash Functions: Number-theoretic hash function.

Chapter 13Digital Signatures: DSA.

ONLINE DOCUMENTS FOR STUDENTS

For this new edition, a tremendous amount of original supporting material for students has

been made available online.

Purchasing this textbook new also grants the reader six months of access to the

Companion Website, which includes the following materials:

Online chapters: To limit the size and cost of the book, four chapters of the book are
provided in PDF format. This includes three chapters on computer security and one on

legal and ethical issues. The chapters are listed in this books table of contents.

Online appendices: There are numerous interesting topics that support material found
in the text but whose inclusion is not warranted in the printed text. A total of 20 online

appendices cover these topics for the interested student. The appendices are listed in

this books table of contents.

PREFACE 17

Homework problems and solutions: To aid the student in understanding the material,
aseparate set of homework problems with solutions are available.

Key papers: A number of papers from the professional literature, many hard to find,
are provided for further reading.

Supporting documents: A variety of other useful documents are referenced in the text
and provided online.

Sage code: The Sage code from the examples in Appendix B is useful in case the student
wants to play around with the examples.

To access the Companion Website, follow the instructions for digital resources for

students found in the front of this book.

ACKNOWLEDGMENTS

This new edition has benefited from review by a number of people who gave generously

of their time and expertise. The following professors reviewed all or a large part of the

manuscript: Hossein Beyzavi (Marymount University), Donald F. Costello (University of

NebraskaLincoln), James Haralambides (Barry University), Anand Seetharam (California

State University at Monterey Bay), Marius C. Silaghi (Florida Institute of Technology),

Shambhu Upadhyaya (University at Buffalo), Zhengping Wu (California State University

at San Bernardino), Liangliang Xiao (Frostburg State University), Seong-Moo (Sam) Yoo

(The University of Alabama in Huntsville), and Hong Zhang (Armstrong State University).

Thanks also to the people who provided detailed technical reviews of one or more

chapters: Dino M. Amaral, Chris Andrew, Prof. (Dr). C. Annamalai, Andrew Bain, Riccardo

Bernardini, Olivier Blazy, Zervopoulou Christina, Maria Christofi, Dhananjoy Dey, Mario

Emmanuel, Mike Fikuart, Alexander Fries, Pierpaolo Giacomin, Pedro R. M. Incio,

Daniela Tamy Iwassa, Krzysztof Janowski, Sergey Katsev, Adnan Kilic, Rob Knox, Mina

Pourdashty, Yuri Poeluev, Pritesh Prajapati, Venkatesh Ramamoorthy, Andrea Razzini,

Rami Rosen, Javier Scodelaro, Jamshid Shokrollahi, Oscar So, and David Tillemans.

In addition, I was fortunate to have reviews of individual topics by subject-area

gurus, including Jesse Walker of Intel (Intels Digital Random Number Generator), Russ

Housley of Vigil Security (key wrapping), Joan Daemen (AES), Edward F. Schaefer of

Santa Clara University (Simplified AES), Tim Mathews, formerly of RSA Laboratories

(S/MIME), Alfred Menezes of the University of Waterloo (elliptic curve cryptography),

William Sutton, Editor/Publisher of The Cryptogram (classical encryption), Avi Rubin of
Johns Hopkins University (number theory), Michael Markowitz of Information Security

Corporation (SHA and DSS), Don

Leave a Comment

Your email address will not be published. Required fields are marked *