Foundations of Cryptography
Cryptography is concerned with the conceptualization, definition, and construction of
computing systems that address security concerns. The design of cryptographic systems
must be based on firm foundations. This book presents a rigorous and systematic
treatment of the foundational issues: defining cryptographic tasks and solving new
cryptographic problems using existing tools. It focuses on the basic mathematical tools:
computational difficulty (one-way functions), pseudorandomness, and zero-knowledge
proofs. The emphasis is on the clarification of fundamental concepts and on demonstrat-
ing the feasibility of solving cryptographic problems rather than on describing ad hoc
approaches.
The book is suitable for use in a graduate course on cryptography and as a reference
book for experts. The author assumes basic familiarity with the design and analysis of
algorithms; some knowledge of complexity theory and probability is also useful.
Oded Goldreich is Professor of Computer Science at the Weizmann Institute of Science
and incumbent of the Meyer W. Weisgal Professorial Chair. An active researcher, he
has written numerous papers on cryptography and is widely considered to be one of
the world experts in the area. He is an editor of Journal of Cryptology and SIAM
Journal on Computing and the author of Modern Cryptography, Probabilistic Proofs
and Pseudorandomness, published in 1999 by Springer-Verlag.
Foundations of Cryptography
Basic Tools
Oded Goldreich
Weizmann Institute of Science
The Pitt Building, Trumpington Street, Cambridge, United Kingdom
The Edinburgh Building, Cambridge CB2 2RU, UK
40 West 20th Street, New York, NY 10011-4211, USA
477 Williamstown Road, Port Melbourne, VIC 3207, Australia
Ruiz de Alarcón 13, 28014 Madrid, Spain
Dock House, The Waterfront, Cape Town 8001, South Africa
http://www.cambridge.org
©
Oded Goldreich 2004
First published in printed format
2001
ISBN 978-0-511-54689-1 OCeISBN
ISBN 0-521-79172-3 hardback
First published 2001
Reprinted with corrections 2003
To Dana
Contents
List of Figures
Preface
1 Introduction
1.1. Cryptography: Main Topics
1.1.1. Encryption Schemes
1.1.2. Pseudorandom Generators
1.1.3. Digital Signatures
1.1.4. Fault-Tolerant Protocols and Zero-Knowledge Proofs
1.2. Some Background from Probability Theory
1.3. The Computational Model
1.2.1. Notational Conventions
1.2.2. Three Inequalities
1.3.1. P, NP , and NP -Completeness
1.3.2. Probabilistic Polynomial Time
1.3.3. Non-Uniform Polynomial Time
1.3.4.
1.3.5. Oracle Machines
Intractability Assumptions
1.4. Motivation to the Rigorous Treatment
1.4.1. The Need for a Rigorous Treatment
1.4.2. Practical Consequences of the Rigorous Treatment
1.4.3. The Tendency to Be Conservative
1.5. Miscellaneous
1.5.1. Historical Notes
1.5.2. Suggestions for Further Reading
1.5.3. Open Problems
1.5.4. Exercises
vii
page xii
xiii
1
1
2
3
4
6
8
8
9
12
12
13
16
19
20
21
21
23
24
25
25
27
27
28