logo资料库

Understanding Cryptography A Textbook for Students and Practitio....pdf

第1页 / 共384页
第2页 / 共384页
第3页 / 共384页
第4页 / 共384页
第5页 / 共384页
第6页 / 共384页
第7页 / 共384页
第8页 / 共384页
资料共384页,剩余部分请下载后查看
Front Matter
Foreword
Preface
Acknowledgements
Table of Contents
1-Introduction to Cryptography and Data Security
Introduction to Cryptography and Data Security
Overview of Cryptology (and This Book)
Symmetric Cryptography
Basics
Simple Symmetric Encryption: The Substitution Cipher
Cryptanalysis
General Thoughts on Breaking Cryptosystems
How Many Key Bits Are Enough?
Modular Arithmetic and More Historical Ciphers
Modular Arithmetic
Integer Rings
Shift Cipher (or Caesar Cipher)
Affine Cipher
Discussion and Further Reading
Lessons Learned
Problems
2-Stream Ciphers
Stream Ciphers
Introduction
Stream Ciphers vs. Block Ciphers
Encryption and Decryption with Stream Ciphers
Random Numbers and an Unbreakable Stream Cipher
Random Number Generators
The One-Time Pad
Towards Practical Stream Ciphers
Shift Register-Based Stream Ciphers
Linear Feedback Shift Registers (LFSR)
Known-Plaintext Attack Against Single LFSRs
Trivium
Discussion and Further Reading
Lessons Learned
Problems
3-The Data Encryption Standard (DES) and Alternatives
The Data Encryption Standard (DES) and Alternatives
Introduction to DES
Confusion and Diffusion
Overview of the DES Algorithm
Internal Structure of DES
Initial and Final Permutation
The f-Function
Key Schedule
Decryption
Security of DES
Exhaustive Key Search
Analytical Attacks
Implementation in Software and Hardware
DES Alternatives
The Advanced Encryption Standard (AES) and the AES Finalist Ciphers
Triple DES (3DES) and DESX
Lightweight Cipher PRESENT
Discussion and Further Reading
Lessons Learned
Problems
4-The Advanced Encryption Standard (AES)
The Advanced Encryption Standard (AES)
Introduction
Overview of the AES Algorithm
Some Mathematics: A Brief Introduction to Galois Fields
Existence of Finite Fields
Prime Fields
Extension Fields GF(2m)
Addition and Subtraction in GF(2m)
Multiplication in GF(2m)
Inversion in GF(2m)
Internal Structure of AES
Byte Substitution Layer
Diffusion Layer
Key Addition Layer
Key Schedule
Decryption
Implementation in Software and Hardware
Discussion and Further Reading
Lessons Learned
Problems
5-More About Block Ciphers
More About Block Ciphers
Encryption with Block Ciphers: Modes of Operation
Electronic Codebook Mode (ECB)
Cipher Block Chaining Mode (CBC)
Output Feedback Mode (OFB)
Cipher Feedback Mode (CFB)
Counter Mode (CTR)
Galois Counter Mode (GCM)
Exhaustive Key Search Revisited
Increasing the Security of Block Ciphers
Double Encryption and Meet-in-the-Middle Attack
Triple Encryption
Key Whitening
Discussion and Further Reading
Lessons Learned
Problems
6-Introduction to Public-Key Cryptography
Introduction to Public-Key Cryptography
Symmetric vs. Asymmetric Cryptography
Practical Aspects of Public-Key Cryptography
Security Mechanisms
The Remaining Problem: Authenticity of Public Keys
Important Public-Key Algorithms
Key Lengths and Security Levels
Essential Number Theory for Public-Key Algorithms
Euclidean Algorithm
Extended Euclidean Algorithm
Euler's Phi Function
Fermat's Little Theorem and Euler's Theorem
Discussion and Further Reading
Lessons Learned
Problems
7-The RSA Cryptosystem
The RSA Cryptosystem
Introduction
Encryption and Decryption
Key Generation and Proof of Correctness
Encryption and Decryption: Fast Exponentiation
Speed-up Techniques for RSA
Fast Encryption with Short Public Exponents
Fast Decryption with the Chinese Remainder Theorem
Finding Large Primes
How Common Are Primes?
Primality Tests
RSA in Practice: Padding
Attacks
Implementation in Software and Hardware
Discussion and Further Reading
Lessons Learned
Problems
8-Public-Key Cryptosystems Based on the Discrete Logarithm Problem
Public-Key Cryptosystems Based on the Discrete Logarithm Problem
Diffie--Hellman Key Exchange
Some Algebra
Groups
Cyclic Groups
Subgroups
The Discrete Logarithm Problem
The Discrete Logarithm Problem in Prime Fields
The Generalized Discrete Logarithm Problem
Attacks Against the Discrete Logarithm Problem
Security of the Diffie--Hellman Key Exchange
The Elgamal Encryption Scheme
From Diffie--Hellman Key Exhange to Elgamal Encryption
The Elgamal Protocol
Computational Aspects
Security
Discussion and Further Reading
Lessons Learned
Problems
9-Elliptic Curve Cryptosystems
Elliptic Curve Cryptosystems
How to Compute with Elliptic Curves
Definition of Elliptic Curves
Group Operations on Elliptic Curves
Building a Discrete Logarithm Problem with Elliptic Curves
Diffie--Hellman Key Exchange with Elliptic Curves
Security
Implementation in Software and Hardware
Discussion and Further Reading
Lessons Learned
Problems
10-Digital Signatures
Digital Signatures
Introduction
Odd Colors for Cars, or: Why Symmetric Cryptography Is Not Sufficient
Principles of Digital Signatures
Security Services
The RSA Signature Scheme
Schoolbook RSA Digital Signature
Computational Aspects
Security
The Elgamal Digital Signature Scheme
Schoolbook Elgamal Digital Signature
Computational Aspects
Security
The Digital Signature Algorithm (DSA)
The DSA Algorithm
Computational Aspects
Security
The Elliptic Curve Digital Signature Algorithm (ECDSA)
The ECDSA Algorithm
Computational Aspects
Security
Discussion and Further Reading
Lessons Learned
Problems
11-Hash Functions
Hash Functions
Motivation: Signing Long Messages
Security Requirements of Hash Functions
Preimage Resistance or One-Wayness
Second Preimage Resistance or Weak Collision Resistance
Collision Resistance and the Birthday Attack
Overview of Hash Algorithms
Dedicated Hash Functions: The MD4 Family
Hash Functions from Block Ciphers
The Secure Hash Algorithm SHA-1
Preprocessing
Hash Computation
Implementation
Discussion and Further Reading
Lessons Learned
Problems
12-Message Authentication Codes (MACs)
Message Authentication Codes (MACs)
Principles of Message Authentication Codes
MACs from Hash Functions: HMAC
MACs from Block Ciphers: CBC-MAC
Galois Counter Message Authentication Code (GMAC)
Discussion and Further Reading
Lessons Learned
Problems
13-Key Establishment
Key Establishment
Introduction
Some Terminology
Key Freshness and Key Derivation
The n2 Key Distribution Problem
Key Establishment Using Symmetric-Key Techniques
Key Establishment with a Key Distribution Center
Kerberos
Remaining Problems with Symmetric-Key Distribution
Key Establishment Using Asymmetric Techniques
Man-in-the-Middle Attack
Certificates
Public-Key Infrastructures (PKI) and CAs
Discussion and Further Reading
Lessons Learned
Problems
Back Matter
References
Index
Understanding Cryptography
Christof Paar · Jan Pelzl Understanding Cryptography A Textbook for Students and Practitioners Foreword by Bart Preneel 123
Prof. Dr.-Ing. Christof Paar Lehrstuhl f¨ur Kommunikationssicherheit Fakult¨at f¨ur Elektrotechnik und Informationstechnik Ruhr-Universit¨at Bochum 44780 Bochum Germany christof.paar@rub.de Dr. Jan Pelzl escrypt GmbH - Embedded Security Zentrum f¨ur IT-Sicherheit Lise-Meitner-Allee 4 44801 Bochum Germany jpelzl@escrypt.com ISBN 978-3-642-04100-6 DOI 10.1007/978-3-642-04101-3 Springer Heidelberg Dordrecht London New York e-ISBN 978-3-642-04101-3 Library of Congress Control Number: 2009940447 ACM Computing Classification (1998): E.3, K.4.4, K.6.5. c Springer-Verlag Berlin Heidelberg 2010, 2nd Corrected printing 2010 This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilm or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer. Violations are liable to prosecution under the German Copyright Law. The use of general descriptive names, registered names, trademarks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. Cover design: KuenkelLopka GmbH Printed on acid-free paper Springer is part of Springer Science+Business Media (www.springer.com)
To Flora, Maja, Noah and Sarah as well as to Karl, Greta and Nele While writing this book we noticed that for some reason the names of our spouses and children are limited to five letters. As far as we know, this has no cryptographic relevance.
Foreword Academic research in cryptology started in the mid-1970s; today it is a mature re- search discipline with an established professional organization (IACR, International Association for Cryptologic Research), thousands of researchers, and dozens of in- ternational conferences. Every year more than a thousand scientific papers are pub- lished on cryptology and its applications. Until the 1970s, cryptography was almost exclusively found in diplomatic, mili- tary and government applications. During the 1980s, the financial and telecommuni- cations industries deployed hardware cryptographic devices. The first mass-market cryptographic application was the digital mobile phone system of the late 1980s. Today, everyone uses cryptography on a daily basis: Examples include unlocking a car or garage door with a remote-control device, connecting to a wireless LAN, buying goods with a credit or debit card in a brick and mortar store or on the Inter- net, installing a software update, making a phone call via voice-over-IP, or paying for a ride on a public transport system. There is no doubt that emerging application areas such as e-health, car telematics and smart buildings will make cryptography even more ubiquitous. Cryptology is a fascinating discipline at the intersection of computer science, mathematics and electrical engineering. As cryptology is moving fast, it is hard to keep up with all the developments. During the last 25 years, the theoretical foun- dations of the area have been strengthened; we now have a solid understanding of security definitions and of ways to prove constructions secure. Also in the area of applied cryptography we witness very fast developments: old algorithms are broken and withdrawn and new algorithms and protocols emerge. While several excellent textbooks on cryptology have been published in the last decade, they tend to focus on readers with a strong mathematical background. More- over, the exciting new developments and advanced protocols form a temptation to add ever more fancy material. It is the great merit of this textbook that it restricts itself to those topics that are relevant to practitioners today. Moreover, the mathe- matical background and formalism is limited to what is strictly necessary and it is introduced exactly in the place where it is needed. This “less is more” approach is very suitable to address the needs of newcomers in the field, as they get introduced vii
viii Foreword step by step to the basic concepts and judiciously chosen algorithms and protocols. Each chapter contains very helpful pointers to further reading, for those who want to expand and deepen their knowledge. Overall, I am very pleased that the authors have succeeded in creating a highly valuable introduction to the subject of applied cryptography. I hope that it can serve as a guide for practitioners to build more secure systems based on cryptography, and as a stepping stone for future researchers to explore the exciting world of cryptog- raphy and its applications. Leuven, August 2009 Bart Preneel
分享到:
收藏