Cover image for Modern cryptography : theory and practice
Title:
Modern cryptography : theory and practice
Personal Author:
Series:
Hewlett-Packard professional books
Publication Information:
Upper Saddle River, NJ : Prentice Hall, 2004
ISBN:
9780130669438

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010132653 QA76.9.A25 M36 2004 Open Access Book Book
Searching...

On Order

Summary

Summary

bull; Specifies which protocols are to be followed and which are to be avoided, providing security engineers with essential knowledge. bull; Dissects schemes and protocols in standards and real-world cases, pointing out their strong security strengths and weaknesses. bull; Opens the "bag of tricks " attackers use and gives cryptographers countermeasures.


Author Notes

Wenbo Mao, PhD, is a Technical Contributor to the Trusted Systems Lab at Hewlett-Packard Laboratories, Bristol, UK. Mao leads HP's participation and research activities in Computer Aided Solutions to Secure Electronic Commerce Transactions (CASENET), a research project funded by the European Union. His research interests include cryptography, computer security, and formal methods


Excerpts

Excerpts

Preface Our society has entered an era where commerce activities, business transactionsand government services have been, and more and more of them will be, conductedand offered over open computer and communications networks such as the Internet,in particular, via WorldWideWeb-based tools. Doing things online has a greatadvantage of an always-on availability to people in any corner of the world. Hereare a few examples of things that have been, can or will be done online: Banking, bill payment, home shopping, stock trading, auctions, taxation,gambling, micro-payment (e.g., pay-per-downloading), electronicidentity, online access to medical records, virtual private networking, securedata archival and retrieval, certified delivery of documents, fair exchangeof sensitive documents, fair signing of contracts, time-stamping,notarization, voting, advertising, licensing, ticket booking, interactivegames, digital libraries, digital rights management, pirate tracing, . . . And more can be imagined. Fascinating commerce activities, transactions and services like these are onlypossible if communications over open networks can be conducted in a secure manner.An effective solution to securing communications over open networks is to applycryptography. Encryption, digital signatures, password-based user authentication,are some of the most basic cryptographic techniques for securing communications.However, as we shall witness many times in this book, there are surprising subtletiesand serious security consequences in the applications of even the most basiccryptographic techniques. Moreover, for many "fancier" applications, such as manylisted in the preceding paragraph, the basic cryptographic techniques are no longeradequate. With an increasingly large demand for safeguarding communications over opennetworks for more and more sophisticated forms of electronic commerce, businessand servicesa, an increasingly large number of information security professionalsaGartner Group forecasts that total electronic business revenues for business to business (B2B)and business to consumer (B2C) in the European Union will reach a projected US $2.6trillion inwill be needed for designing, developing, analyzing and maintaining informationsecurity systems and cryptographic protocols. These professionals may range fromIT systems administrators, information security engineers and software/hardwaresystems developers whose products have security requirements, to cryptographers. In the past few years, the author, a technical consultant on information securityand cryptographic systems at Hewlett-Packard Laboratories in Bristol, haswitnessed the phenomenon of a progressively increased demand for information securityprofessionals unmatched by an evident shortage of them. As a result, manyengineers, who are oriented to application problems and may have little propertraining in cryptography and information security have become "roll-up-sleeves"designers and developers for information security systems or cryptographic protocols.This is in spite of the fact that designing cryptographic systems and protocolsis a diffcult job even for an expert cryptographer. The author's job has granted him privileged opportunities to review many informationsecurity systems and cryptographic protocols, some of them proposedand designed by "roll-up-sleeves" engineers and are for uses in serious applications.In several occasions, the author observed so-called "textbook crypto" features insuch systems, which are the result of applications of cryptographic algorithms andschemes in ways they are usually introduced in many cryptographic textbooks. Directencryption of a password (a secret number of a small magnitude) under abasic public-key encryption algorithm (e.g., "RSA") is a typical example of textbookcrypto. The appearances of textbook crypto in serious applications with a"non-negligible probability" have caused a concern for the author to realize thatthe general danger of textbook crypto is not widely known to many people whodesign and develop information security systems for serious real-world applications. Motivated by an increasing demand for information security professionals anda belief that their knowledge in cryptography should not be limited to textbookcrypto, the author has written this book as a textbook on non-textbook cryptography.This book endeavors to: Introduce a wide range of cryptographic algorithms, schemes and protocols with a particular emphasis on their non-textbook versions. Reveal general insecurity of textbook crypto by demonstrating a large number of attacks on and summarizing typical attacking techniques for such systems. Provide principles and guidelines for the design, analysis and implementation of cryptographic systems and protocols with a focus on standards. Study formalism techniques and methodologies for a rigorous establishment of strong and fit-for-application security notions for cryptographic systems and protocols. Include self-contained and elaborated material as theoretical foundations of modern cryptography for readers who desire a systematic understanding of the subject. Scope Modern cryptography is a vast area of study as a result of fast advances made in thepast thirty years. This book focuses on one aspect:in troducing fit-for-applicationcryptographic schemes and protocols with their strong security properties evidentlyestablished. The book is organized into the following six parts: Part I This part contains two chapters (1--2) and serves an elementary-level introductionfor the book and the areas of cryptography and information security.Chapter 1 begins with a demonstration on the effectiveness of cryptographyin solving a subtle communication problem. A simple cryptographic protocol(first protocol of the book) for achieving "fair coin tossing over telephone"will be presented and discussed. This chapter then carries on to conduct acultural and "trade" introduction to the areas of study. Chapter 2 uses aseries of simple authentication protocols to manifest an unfortunate fact inthe areas:pitfalls are everywhere.As an elementary-level introduction, this part is intended for newcomers tothe areas. Part II This part contains four chapters (3--6) as a set of mathematical backgroundknowledge, facts and basis to serve as a self-contained mathematicalreference guide for the book. Readers who only intend to "knowhow," i.e.,know how to use the fit-for-application crypto schemes and protocols, mayskip this part yet still be able to follow most contents of the rest of the book.Readers who also want to "know-why," i.e., know why these schemes andprotocols have strong security properties, may find that this self-containedmathematical part is a suffcient reference material. When we present workingprinciples of cryptographic schemes and protocols, reveal insecurity forsome of them and reason about security for the rest, it will always be possiblefor us to refer to a precise point in this part of the book for supportingmathematical foundations.This part can also be used to conduct a systematic background study of thetheoretical foundations for modern cryptography. Part III This part contains four chapters (7--10) introducing the most basic cryptographicalgorithms and techniques for providing privacy and data integrity protections. Chapter 7 is for symmetric encryption schemes, Chapter 8, asymmetrictechniques. Chapter 9 considers an important security quality possessedby the basic and popular asymmetric cryptographic functions whenthey are used in an ideal world in which data are random. Finally, Chapter10 covers data integrity techniques.Since the schemes and techniques introduced here are the most basic ones,many of them are in fact in the textbook crypto category and are consequentlyinsecure. While the schemes are introduced, abundant attacks onmany schemes will be demonstrated with warning remarks explicitly stated.For practitioners who do not plan to proceed with an in-depth study of fitfor-application crypto and their strong security notions, this textbook cryptopart will still provide these readers with explicit early warning signals on thegeneral insecurity of textbook crypto. Part IV This part contains three chapters (11--13) introducing an important notionin applied cryptography and information security:authen tication. Thesechapters provide a wide coverage of the topic. Chapter 11 includes technicalbackground, principles, a series of basic protocols and standards, common attackingtricks and prevention measures. Chapter 12 is a case study for fourwell-known authentication protocol systems for real world applications. Chapter13 introduces techniques which are particularly suitable for open systemswhich cover up-to-date and novel techniques.Practitioners, such as information security systems administration staff in anenterprise and software/hardware developers whose products have securityconsequences may find this part helpful. Part V This part contains four chapters (14--17) which provide formalism andrigorous treatments for strong (i.e., fit-for-application) security notions forpublic-key cryptographic techniques (encryption, signature and signcryption)and formal methodologies for the analysis of authentication protocols. Chapter14 introduces formal definitions of strong security notions. The next twochapters are fit-for-application counterparts to textbook crypto schemes introducedin Part III, with strong security properties formally established (i.e.,evidently reasoned). Finally, Chapter 17 introduces formal analysis methodologiesand techniques for the analysis of authentication protocols, which wehave not been able to deal with in Part IV. Part VI This is the final part of the book. It contains two technical chapters (18--19) and a short final remark (Chapter 20). The main technical content of thispart, Chapter 18, introduces a class of cryptographic protocols called zeroknowledgeprotocols. These protocols provide an important security service claimant. Zero-knowledge protocols to be introduced in this part exemplifythe diversity of special security needs in various real world applications, whichare beyond confidentiality, integrity, authentication and non-repudiation. Inthe final technical chapter of the book (Chapter 19) we will complete ourjob which has been left over from the first protocol of the book:to realize"fair coin tossing over telephone." That final realization will achieve a protocolwhich has evidently-established strong security properties yet with aneffciency suitable for practical applications. Needless to say, a description for each fit-for-application crypto scheme or protocolhas to begin with a reason why the textbook crypto counterpart is unfit forapplication. Invariably, these reasons are demonstrated by attacks on these schemesor protocols, which, by the nature of attacks, often contain a certain degree of subtleties.In addition, a description of a fit-for-application scheme or protocol mustalso end at an analysis that the strong (i.e., fit-for-application) security propertiesdo hold as claimed. Consequently, some parts of this book inevitably containmathematical and logical reasonings, deductions and transformations in order tomanifest attacks and fixes. While admittedly fit-for-application cryptography is not a topic for quick masteryor that can be mastered via light reading, this book, nonetheless, is not one forin-depth research topics which will only be of interest to specialist cryptographers.The things reported and explained in it are well-known and quite elementary tocryptographers. The author believes that they can also be comprehended by nonspecialistsif the introduction to the subject is provided with plenty of explanationsand examples and is supported by self-contained mathematical background andreference material. Who Should Read This Book Students who have completed, or are near to completion of, first degree courses in computer, information science or applied mathematics, and plan to pursue a career in information security. For them, this book may serve as an advanced course in applied cryptography. Security engineers in high-tech companies who are responsible for the design and development of information security systems. If we say that the consequence of textbook crypto appearing in an academic research proposal may not be too harmful since the worst case of the consequence would be an embarrassment, then the use of textbook crypto in an information security product may lead to a serious loss. Therefore, knowing the unfitness of textbook crypto for real world applications is necessary for these readers. Moreover, these readers should have a good understanding of the security principles behind the fit-for-application schemes and protocols and so they can apply the schemes and the principles correctly. The self-contained mathematical foundations material in Part II makes the book a suitable self-teaching text for which is needed in various "fancy" electronic commerce and business applications: v erification of a claimed property of secret data (e.g., in conforming with a business requirement) while preserving a strict privacy quality for the these readers. Information security systems administration staff in an enterprise and software/ hardware systems developers whose products have security consequences. For these readers, Part I is a simple and essential course for cultural and "trade" training; Parts III and IV form a suitable cut-down set of knowledge in cryptography and information security. These three parts contain many basic crypto schemes and protocols accompanied with plenty of attacking tricks and prevention measures which should be known to and can be grasped by this population of readers without demanding them to be burdened by theoretical foundations. New Ph.D. candidates beginning their research in cryptography or computer security. These readers will appreciate a single-point reference book which covers formal treatment of strong security notions and elaborates these notions adequately. Such a book can help them to quickly enter into the vast area of study. For them, Parts II, IV, V and VI constitute a suitable level of literature survey material which can lead them to find further literatures, and can help them to shape and specialize their own research topics. A cut-down subset of the book (e.g., Part I, II, III and VI) also form a suitable course in applied cryptography for undergraduate students in computer science, information science and applied mathematics courses. Excerpted from Modern Cryptography: Theory and Practice by Wenbo Mao All rights reserved by the original copyright owners. Excerpts are provided for display purposes only and may not be reproduced, reprinted or distributed without the written permission of the publisher.

Table of Contents

A Short Description of the Bookp. ix
Prefacep. xi
List of Figuresp. xxxiii
List of Algorithms, Protocols and Attacksp. xxxv
I Introductionp. 1
1 Beginning with a Simple Communication Gamep. 3
1.1 A Communication Gamep. 4
1.2 Criteria for Desirable Cryptographic Systems and Protocolsp. 9
1.3 Chapter Summaryp. 20
Exercisesp. 20
2 Wrestling Between Safeguard and Attackp. 23
2.1 Introductionp. 23
2.2 Encryptionp. 24
2.3 Vulnerable Environment (the Dolev-Yao Threat Model)p. 27
2.4 Authentication Serversp. 28
2.5 Security Properties for Authenticated Key Establishmentp. 30
2.6 Protocols for Authenticated Key Establishment Using Encryptionp. 31
2.7 Chapter Summaryp. 51
Exercisesp. 52
II Mathematical Foundationsp. 55
Standard Notationp. 57
3 Probability and Information Theoryp. 61
3.1 Introductionp. 61
3.2 Basic Concept of Probabilityp. 62
3.3 Propertiesp. 63
3.4 Basic Calculationp. 63
3.5 Random Variables and their Probability Distributionsp. 66
3.6 Birthday Paradoxp. 73
3.7 Information Theoryp. 78
3.8 Redundancy in Natural Languagesp. 80
3.9 Chapter Summaryp. 82
Exercisesp. 82
4 Computational Complexityp. 85
4.1 Introductionp. 85
4.2 Turing Machinesp. 86
4.3 Deterministic Polynomial Timep. 88
4.4 Probabilistic Polynomial Timep. 103
4.5 Non-deterministic Polynomial Timep. 122
4.6 Non-Polynomial Boundsp. 128
4.7 Polynomial-time Indistinguishabilityp. 130
4.8 Theory of Computational Complexity and Modern Cryptographyp. 133
4.9 Chapter Summaryp. 136
Exercisesp. 136
5 Algebraic Foundationsp. 139
5.1 Introductionp. 139
5.2 Groupsp. 139
5.3 Rings and Fieldsp. 151
5.4 The Structure of Finite Fieldsp. 153
5.5 Group Constructed Using Points on an Elliptic Curvep. 166
5.6 Chapter Summaryp. 173
Exercisesp. 173
6 Number Theoryp. 175
6.1 Introductionp. 175
6.2 Congruences and Residue Classesp. 175
6.3 Euler's Phi Functionp. 184
6.4 The Theorems of Fermat, Euler and Lagrangep. 186
6.5 Quadratic Residuesp. 186
6.6 Square Roots Modulo Integerp. 192
6.7 Blum Integersp. 198
6.8 Chapter Summaryp. 200
Exercisesp. 201
III Basic Cryptographic Techniquesp. 203
7 Encryption--Symmetric Techniquesp. 205
7.1 Introductionp. 205
7.2 Definitionp. 206
7.3 Substitution Ciphersp. 209
7.4 Transposition Ciphersp. 213
7.5 Classical Ciphers: Usefulness and Securityp. 214
7.6 The Data Encryption Standard (DES)p. 218
7.7 The Advanced Encryption Standard (AES)p. 222
7.8 Confidentiality Modes of Operationp. 231
7.9 Key Channel Establishment for Symmetric Cryptosystemsp. 240
7.10 Chapter Summaryp. 242
Exercisesp. 243
8 Encryption--Asymmetric Techniquesp. 245
8.1 Introductionp. 245
8.2 Insecurity of "Textbook Encryption Algorithms"p. 247
8.3 The Diffie-Hellman Key Exchange Protocolp. 249
8.4 The Diffie-Hellman Problem and the Discrete Logarithm Problemp. 252
8.5 The RSA Cryptosystem (Textbook Version)p. 257
8.6 Cryptanalysis Against Public-key Cryptosystemsp. 260
8.7 The RSA Problemp. 261
8.8 The Integer Factorization Problemp. 263
8.9 Insecurity of the Textbook RSA Encryptionp. 265
8.10 The Rabin Cryptosystem (Textbook Version)p. 268
8.11 Insecurity of the Textbook Rabin Encryptionp. 271
8.12 The ElGamal Cryptosystem (Textbook Version)p. 273
8.13 Insecurity of the Textbook ElGamal Encryptionp. 275
8.14 Need for Stronger Security Notions for Public-key Cryptosystemsp. 277
8.15 Combination of Asymmetric and Symmetric Cryptographyp. 278
8.16 Key Channel Establishment for Public-key Cryptosystemsp. 280
8.17 Chapter Summaryp. 281
Exercisesp. 281
9 In an Ideal World: Bit Security of the Basic Public-Key Cryptographic Functionsp. 285
9.1 Introductionp. 285
9.2 The RSA Bitp. 286
9.3 The Rabin Bitp. 290
9.4 The ElGamal Bitp. 292
9.5 The Discrete Logarithm Bitp. 292
9.6 Chapter Summaryp. 295
Exercisesp. 296
10 Data Integrity Techniquesp. 297
10.1 Introductionp. 297
10.2 Definitionp. 298
10.3 Symmetric Techniquesp. 300
10.4 Asymmetric Techniques I: Digital Signaturesp. 305
10.5 Asymmetric Techniques II: Data Integrity Without Source Identificationp. 322
10.6 Chapter Summaryp. 325
Exercisesp. 326
IV Authenticationp. 327
11 Authentication Protocols--Principlesp. 329
11.1 Introductionp. 329
11.2 Authentication and Refined Notionsp. 331
11.3 Conventionp. 335
11.4 Basic Authentication Techniquesp. 337
11.5 Password-based Authenticationp. 350
11.6 Authenticated Key Exchange Based on Asymmetric Cryptographyp. 358
11.7 Typical Attacks on Authentication Protocolsp. 367
11.8 A Brief Literature Notep. 382
11.9 Chapter Summaryp. 383
Exercisesp. 383
12 Authentication Protocols--the Real Worldp. 387
12.1 Introductionp. 387
12.2 Authentication Protocols for Internet Securityp. 389
12.3 The Secure Shell (SSH) Remote Login Protocolp. 404
12.4 The Kerberos Protocol and its Realization in Windows 2000p. 410
12.5 SSL and TLSp. 416
12.6 Chapter Summaryp. 423
Exercisesp. 424
13 Authentication Framework for Public-Key Cryptographyp. 427
13.1 Introductionp. 427
13.2 Directory-Based Authentication Frameworkp. 428
13.3 Non-Directory Based Public-key Authentication Frameworkp. 434
13.4 Chapter Summaryp. 456
Exercisesp. 456
V Formal Approaches to Security Establishmentp. 459
14 Formal and Strong Security Definitions for Public-key Cryptosystemsp. 461
14.1 Introductionp. 461
14.2 A Formal Treatment for Securityp. 463
14.3 Semantic Security--the Debut of Provable Securityp. 467
14.4 Inadequacy of Semantic Securityp. 480
14.5 Beyond Semantic Securityp. 482
14.6 Chapter Summaryp. 496
Exercisesp. 498
15 Provably Secure and Efficient Public-key Cryptosystemsp. 501
15.1 Introductionp. 501
15.2 The Optimal Asymmetric Encryption Paddingp. 503
15.3 The Cramer-Shoup Public-key Cryptosystemp. 523
15.4 An Overview of Provably Secure Hybrid Cryptosystemsp. 537
15.5 Literature Notes on Practical and Provably Secure Public-key Cryptosystemsp. 539
15.6 Chapter Summaryp. 541
Exercisesp. 542
16 Strong and Provable Security for Digital Signaturesp. 545
16.1 Introductionp. 545
16.2 Strong Security Notion for Digital Signaturesp. 547
16.3 Strong and Provable Security for ElGamal-family Signaturesp. 548
16.4 Fit-for-application Ways for Signing in RSA and Rabinp. 559
16.5 Signcryptionp. 566
16.6 Chapter Summaryp. 574
Exercisesp. 575
17 Formal Methods for Authentication Protocols Analysisp. 577
17.1 Introductionp. 577
17.2 Toward Formal Specification of Authentication Protocolsp. 579
17.3 A Computational View of Correct Protocols--the Bellare-Rogaway Modelp. 590
17.4 A Symbolic Manipulation View of Correct Protocolsp. 598
17.5 Formal Analysis Techniques: State System Explorationp. 602
17.6 Reconciling Two Views of Formal Techniques for Securityp. 614
17.7 Chapter Summaryp. 615
Exercisesp. 616
VI Cryptographic Protocolsp. 617
18 Zero-Knowledge Protocolsp. 619
18.1 Introductionp. 619
18.2 Basic Definitionsp. 620
18.3 Zero-knowledge Propertiesp. 627
18.4 Proof or Argument?p. 639
18.5 Protocols with Two-sided-errorp. 643
18.6 Round Efficiencyp. 648
18.7 Non-interactive Zero-knowledgep. 657
18.8 Chapter Summaryp. 662
Exercisesp. 663
19 Returning to "Coin Flipping over Telephone"p. 665
19.1 Blum's "Coin-Flipping-by-Telephone" Protocolp. 666
19.2 Security Analysisp. 668
19.3 Efficiencyp. 669
19.4 Chapter Summaryp. 670
20 Afterremarkp. 671
Bibliographyp. 673
Subject Indexp. 699