Foundations of Cryptography { Teaching Notes

Total Page:16

File Type:pdf, Size:1020Kb

Foundations of Cryptography { Teaching Notes Foundations of Cryptography Teaching Notes Oded Goldreich Department of Computer Science Weizmann Institute of Science Israel Email odedwisdomweizmannaci l Fall I c Copyright by Oded Goldreich Permission to make copies of part or all of this work for p ersonal or classro om use is granted without fee provided that copies are not made or distributed for prot or commercial advantage and that new copies b ear this notice and the full citation on the rst page Abstracting with credit is p ermitted II Preface These teaching notes were initially intended for myself as an aid for preparing the lectures in the course Foundations of Cryptography given at Weizmann Institute at the Fall of It then o ccurred to me that these notes may also serve as suggestions to others as to how such a course can b e taught and the notes were slightly adapted accordingly The course was based on the rst two volumes of my work Foundations of Cryptography The rst volume entitled Foundations of Cryptography Basic Tools has app eared with Cambridge University Press in June The second volume entitled Foundations of Cryptography Basic Applications will hop efully b e completed in a couple of years Preliminary versions of the chapters of the second volume are available from the webpage httpwwwwisdomweizmannacilodedfocbookhtml You may want to check this website for various up dates and notices concerning the entire work These teaching notes refer to the ab ove work Sp ecically they merely summarize and annotate the parts of the work that was taught in class The detailed material is to b e found in the b o ok itself and the b oxes ushed to the right as the example b elow refer to the sections in the b o ok in which the relevant material is to b e found Example State and usage of these notes Unfortunately Ive stopp ed writing these notes at the middle of the semester Thus the current notes only cover the rst lectures out of the planned lectures I hop e to complete the missing notes next time I teach this course which may b e next year Unlike the ab ovementioned work these teaching notes were not carefully pro ofread I ap ologize for the various errors that they may contain and hop e that nevertheless these notes will b e useful Needless to say the teaching pace should and do es dep end on the sp ecic class In fact I often pro ceeded in pace dierent than the one I have originally planned omitting or adding material onthey III IV From the preface of Volume It is p ossible to build a cabin with no foundations but not a lasting building Eng Isidor Goldreich Cryptography is concerned with the construction of schemes that withstand any abuse Such schemes are constructed so to maintain a desired functionality even under malicious attempts aimed at making them deviate from their prescrib ed functionality The design of cryptographic schemes is a very dicult task One cannot rely on intuitions regarding the typical state of the environment in which the system op erates For sure the adversary attacking the system will try to manipulate the environment into untypical states Nor can one b e content with countermeasures designed to withstand sp ecic attacks since the adversary which acts after the design of the system is completed will try to attack the schemes in ways that are typically dierent from the ones the designer had envisioned The validity of the ab ove assertions seems selfevident still some p eople hop e that in practice ignoring these tautologies will not result in actual damage Exp erience shows that these hop es rarely come true cryptographic schemes based on makebelieve are broken typically so oner than later In view of the ab ove we b elieve that it makes little sense to make assumptions regarding the sp ecic strategy that the adversary may use The only assumptions that can b e justied refer to the computational abilities of the adversary Furthermore it is our opinion that the design of cryptographic systems has to b e based on rm foundations whereas adho c approaches and heuristics are a very dangerous way to go A heuristic may make sense when the designer has a very go o d idea ab out the environment in which a scheme is to op erate yet a cryptographic scheme has to op erate in a maliciously selected environment which typically transcends the designers view This b o ok is aimed at presenting rm foundations for cryptography The foundations of cryp tography are the paradigms approaches and techniques used to conceptualize dene and provide solutions to natural security concerns We will present some of these paradigms approaches and techniques as well as some of the fundamental results obtained using them Our emphasis is on the clarication of fundamental concepts and on demonstrating the feasibility of solving several central cryptographic problems Solving a cryptographic problem or addressing a security concern is a twostage pro cess con sisting of a denitional stage and a constructive stage First in the denitional stage the function ality underlying the natural concern is to b e identied and an adequate cryptographic problem has to b e dened Trying to list all undesired situations is infeasible and prone to error Instead one should dene the functionality in terms of op eration in an imaginary ideal mo del and require a candidate solution to emulate this op eration in the real clearly dened mo del which sp ecies the adversarys abilities Once the denitional stage is completed one pro ceeds to construct a system V VI that satises the denition Such a construction may use some simpler to ols and its security is proven relying on the features of these to ols In practice of course such a scheme may need to satisfy also some sp ecic eciency requirements This b o ok fo cuses on several archetypical cryptographic problems eg encryption and signature schemes and on several central to ols eg computational diculty pseudorandomness and zero knowledge pro ofs For each of these problems resp to ols we start by presenting the natural concern underlying it resp its intuitive ob jective then dene the problem resp to ol and nally demonstrate that the problem may b e solved resp the to ol can b e constructed In the latter step our fo cus is on demonstrating the feasibility of solving the problem not on providing a practical solution As a secondary concern we typically discuss the level of practicality or impracticality of the given or known solution Computational Diculty The sp ecic constructs mentioned ab ove as well as most constructs in this area can exist only if some sort of computational hardness exists Sp ecically all these problems and to ols require either explicitly or implicitly the ability to generate instances of hard problems Such ability is captured in the denition of oneway functions see further discussion in Section Thus one way functions is the very minimum needed for doing most sorts of cryptography As we shall see they actually suce for doing much of cryptography and the rest can b e done by augmentations and extensions of the assumption that oneway functions exist Our current state of understanding of ecient computation do es not allow us to prove that oneway functions exist In particular the existence of oneway functions implies that NP is not contained in BPP P not even on the average which would resolve the most famous op en problem of computer science Thus we have no choice at this stage of history but to assume that oneway functions exist As justication to this assumption we may only oer the combined b elieves of hundreds or thousands of researchers Furthermore these b elieves concern a simply stated assumption and their validity is supp orted by several widely b elieved conjectures which are central to some elds eg the conjecture that factoring integers is hard is central to computational number theory As we need assumptions anyhow why not just assume what we want ie the existence of a solution to some natural cryptographic problem Well rst we need to know what we want as stated ab ove we must rst clarify what exactly do we want that is go through the typically complex denitional stage But once this stage is completed can we just assume that the denition derived can b e met Not really the mere fact that a denition was derived do es not mean that it can b e met and one can easily dene ob jects that cannot exist without this fact b eing obvious in the denition The way to demonstrate that a denition is viable and so the intuitive security concern can b e satised at all is to construct a solution based on a better understood assumption ie one that is more common and widely b elieved For example lo oking at the denition of zero knowledge pro ofs it is not apriori clear that such pro ofs exist at all in a nontrivial sense The nontriviality of the notion was rst demonstrated by presenting a zeroknowledge pro of system for statements regarding Quadratic Residuosity which are b elieved to b e hard to verify without extra information Furthermore in contrary to prior b eliefs it was later shown in that the existence of oneway functions implies that any NPstatement can b e proven in zeroknowledge Thus facts that were not known at all to hold and even b elieved to b e false were shown to hold by reduction to widely b elieved assumptions without which most of mo dern cryptography collapses anyhow To summarize not all assumptions are equal and so reducing a complex new and doubtful assumption VI I to a widelyb elieved simple or even merely simpler assumption is of great value Furthermore reducing the solution of a new task to the assumed security of
Recommended publications
  • On the Randomness Complexity of Interactive Proofs and Statistical Zero-Knowledge Proofs*
    On the Randomness Complexity of Interactive Proofs and Statistical Zero-Knowledge Proofs* Benny Applebaum† Eyal Golombek* Abstract We study the randomness complexity of interactive proofs and zero-knowledge proofs. In particular, we ask whether it is possible to reduce the randomness complexity, R, of the verifier to be comparable with the number of bits, CV , that the verifier sends during the interaction. We show that such randomness sparsification is possible in several settings. Specifically, unconditional sparsification can be obtained in the non-uniform setting (where the verifier is modelled as a circuit), and in the uniform setting where the parties have access to a (reusable) common-random-string (CRS). We further show that constant-round uniform protocols can be sparsified without a CRS under a plausible worst-case complexity-theoretic assumption that was used previously in the context of derandomization. All the above sparsification results preserve statistical-zero knowledge provided that this property holds against a cheating verifier. We further show that randomness sparsification can be applied to honest-verifier statistical zero-knowledge (HVSZK) proofs at the expense of increasing the communica- tion from the prover by R−F bits, or, in the case of honest-verifier perfect zero-knowledge (HVPZK) by slowing down the simulation by a factor of 2R−F . Here F is a new measure of accessible bit complexity of an HVZK proof system that ranges from 0 to R, where a maximal grade of R is achieved when zero- knowledge holds against a “semi-malicious” verifier that maliciously selects its random tape and then plays honestly.
    [Show full text]
  • LINEAR ALGEBRA METHODS in COMBINATORICS László Babai
    LINEAR ALGEBRA METHODS IN COMBINATORICS L´aszl´oBabai and P´eterFrankl Version 2.1∗ March 2020 ||||| ∗ Slight update of Version 2, 1992. ||||||||||||||||||||||| 1 c L´aszl´oBabai and P´eterFrankl. 1988, 1992, 2020. Preface Due perhaps to a recognition of the wide applicability of their elementary concepts and techniques, both combinatorics and linear algebra have gained increased representation in college mathematics curricula in recent decades. The combinatorial nature of the determinant expansion (and the related difficulty in teaching it) may hint at the plausibility of some link between the two areas. A more profound connection, the use of determinants in combinatorial enumeration goes back at least to the work of Kirchhoff in the middle of the 19th century on counting spanning trees in an electrical network. It is much less known, however, that quite apart from the theory of determinants, the elements of the theory of linear spaces has found striking applications to the theory of families of finite sets. With a mere knowledge of the concept of linear independence, unexpected connections can be made between algebra and combinatorics, thus greatly enhancing the impact of each subject on the student's perception of beauty and sense of coherence in mathematics. If these adjectives seem inflated, the reader is kindly invited to open the first chapter of the book, read the first page to the point where the first result is stated (\No more than 32 clubs can be formed in Oddtown"), and try to prove it before reading on. (The effect would, of course, be magnified if the title of this volume did not give away where to look for clues.) What we have said so far may suggest that the best place to present this material is a mathematics enhancement program for motivated high school students.
    [Show full text]
  • Foundations of Cryptography – a Primer Oded Goldreich
    Foundations of Cryptography –APrimer Foundations of Cryptography –APrimer Oded Goldreich Department of Computer Science Weizmann Institute of Science Rehovot Israel [email protected] Boston – Delft Foundations and TrendsR in Theoretical Computer Science Published, sold and distributed by: now Publishers Inc. PO Box 1024 Hanover, MA 02339 USA Tel. +1 781 871 0245 www.nowpublishers.com [email protected] Outside North America: now Publishers Inc. PO Box 179 2600 AD Delft The Netherlands Tel. +31-6-51115274 A Cataloging-in-Publication record is available from the Library of Congress Printed on acid-free paper ISBN: 1-933019-02-6; ISSNs: Paper version 1551-305X; Electronic version 1551-3068 c 2005 O. Goldreich 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, mechanical, photocopying, recording or otherwise, without prior written permission of the publishers. now Publishers Inc. has an exclusive license to publish this mate- rial worldwide. Permission to use this content must be obtained from the copyright license holder. Please apply to now Publishers, PO Box 179, 2600 AD Delft, The Netherlands, www.nowpublishers.com; e-mail: [email protected] Contents 1 Introduction and Preliminaries 1 1.1 Introduction 1 1.2 Preliminaries 7 IBasicTools 10 2 Computational Difficulty and One-way Functions 13 2.1 One-way functions 14 2.2 Hard-core predicates 18 3 Pseudorandomness 23 3.1 Computational indistinguishability 24 3.2 Pseudorandom generators
    [Show full text]
  • A Note on Perfect Correctness by Derandomization⋆
    A Note on Perfect Correctness by Derandomization? Nir Bitansky and Vinod Vaikuntanathan MIT Abstract. We show a general compiler that transforms a large class of erroneous cryptographic schemes (such as public-key encryption, indis- tinguishability obfuscation, and secure multiparty computation schemes) into perfectly correct ones. The transformation works for schemes that are correct on all inputs with probability noticeably larger than half, and are secure under parallel repetition. We assume the existence of one-way functions and of functions with deterministic (uniform) time complexity 2O(n) and non-deterministic circuit complexity 2Ω(n). Our transformation complements previous results that showed how public- key encryption and indistinguishability obfuscation that err on a notice- able fraction of inputs can be turned into ones that for all inputs are often correct. The technique relies on the idea of \reverse randomization" [Naor, Crypto 1989] and on Nisan-Wigderson style derandomization, previously used in cryptography to remove interaction from witness-indistinguishable proofs and commitment schemes [Barak, Ong and Vadhan, Crypto 2003]. 1 Introduction Randomized algorithms are often faster and simpler than their state-of-the-art deterministic counterparts, yet, by their very nature, they are error-prone. This gap has motivated a rich study of derandomization, where a central avenue has been the design of pseudo-random generators [BM84, Yao82a, NW94] that could offer one universal solution for the problem. This has led to surprising results, intertwining cryptography and complexity theory, and culminating in a deran- domization of BPP under worst-case complexity assumptions, namely, the ex- istence of functions in E = Dtime(2O(n)) with worst-case circuit complexity 2Ω(n) [NW94, IW97].
    [Show full text]
  • Counting T-Cliques: Worst-Case to Average-Case Reductions and Direct Interactive Proof Systems
    2018 IEEE 59th Annual Symposium on Foundations of Computer Science Counting t-Cliques: Worst-Case to Average-Case Reductions and Direct Interactive Proof Systems Oded Goldreich Guy N. Rothblum Department of Computer Science Department of Computer Science Weizmann Institute of Science Weizmann Institute of Science Rehovot, Israel Rehovot, Israel [email protected] [email protected] Abstract—We study two aspects of the complexity of counting 3) Counting t-cliques has an appealing combinatorial the number of t-cliques in a graph: structure (which is indeed capitalized upon in our 1) Worst-case to average-case reductions: Our main result work). reduces counting t-cliques in any n-vertex graph to counting t-cliques in typical n-vertex graphs that are In Sections I-A and I-B we discuss each study seperately, 2 drawn from a simple distribution of min-entropy Ω(n ). whereas Section I-C reveals the common themes that lead 2 For any constant t, the reduction runs in O(n )-time, us to present these two studies in one paper. We direct the and yields a correct answer (w.h.p.) even when the reader to the full version of this work [18] for full details. “average-case solver” only succeeds with probability / n 1 poly(log ). A. Worst-case to average-case reductions 2) Direct interactive proof systems: We present a direct and simple interactive proof system for counting t-cliques in 1) Background: While most research in the theory of n-vertex graphs. The proof system uses t − 2 rounds, 2 2 computation refers to worst-case complexity, the impor- the verifier runs in O(t n )-time, and the prover can O(1) 2 tance of average-case complexity is widely recognized (cf., be implemented in O(t · n )-time when given oracle O(1) e.g., [13, Chap.
    [Show full text]
  • Computational Complexity
    Computational Complexity The Harvard community has made this article openly available. Please share how this access benefits you. Your story matters Citation Vadhan, Salil P. 2011. Computational complexity. In Encyclopedia of Cryptography and Security, second edition, ed. Henk C.A. van Tilborg and Sushil Jajodia. New York: Springer. Published Version http://refworks.springer.com/mrw/index.php?id=2703 Citable link http://nrs.harvard.edu/urn-3:HUL.InstRepos:33907951 Terms of Use This article was downloaded from Harvard University’s DASH repository, and is made available under the terms and conditions applicable to Open Access Policy Articles, as set forth at http:// nrs.harvard.edu/urn-3:HUL.InstRepos:dash.current.terms-of- use#OAP Computational Complexity Salil Vadhan School of Engineering & Applied Sciences Harvard University Synonyms Complexity theory Related concepts and keywords Exponential time; O-notation; One-way function; Polynomial time; Security (Computational, Unconditional); Sub-exponential time; Definition Computational complexity theory is the study of the minimal resources needed to solve computational problems. In particular, it aims to distinguish be- tween those problems that possess efficient algorithms (the \easy" problems) and those that are inherently intractable (the \hard" problems). Thus com- putational complexity provides a foundation for most of modern cryptogra- phy, where the aim is to design cryptosystems that are \easy to use" but \hard to break". (See security (computational, unconditional).) Theory Running Time. The most basic resource studied in computational com- plexity is running time | the number of basic \steps" taken by an algorithm. (Other resources, such as space (i.e., memory usage), are also studied, but they will not be discussed them here.) To make this precise, one needs to fix a model of computation (such as the Turing machine), but here it suffices to informally think of it as the number of \bit operations" when the input is given as a string of 0's and 1's.
    [Show full text]
  • Complexity Theory and Cryptography Understanding the Foundations of Cryptography Is Understanding the Foundations of Hardness
    Manuel Sabin Research Statement Page 1 / 4 I view research as a social endeavor. This takes two forms: 1) Research is a fun social activity. 2) Research is done within a larger sociotechnical environment and should be for society's betterment. While I try to fit all of my research into both of these categories, I have also taken two major research directions to fulfill each intention. 1) Complexity Theory asks profound philosophical questions and has compelling narratives about the nature of computation and about which problems' solutions may be provably beyond our reach during our planet's lifetime. Researching, teaching, and mentoring on this field’s stories is one my favorite social activities. 2) Algorithmic Fairness' questioning of how algorithms further cement and codify systems of oppression in the world has impacts that are enormously far-reaching both in current global problems and in the nature of future ones. This field is in its infancy and deciding its future and impact with intention is simultaneously exciting and frightening but, above all, of absolute necessity. Complexity Theory and Cryptography Understanding the foundations of Cryptography is understanding the foundations of Hardness. Complexity Theory studies the nature of computational hardness { i.e. lower bounds on the time required in solving computational problems { not only to understand what is difficult, but to understand the utility hardness offers. By hiding secrets within `structured hardness,' Complexity Theory, only as recently as the 1970s, transformed the ancient ad-hoc field of Cryptography into a science with rigorous theoretical foundations. But which computational hardness can we feel comfortable basing Cryptography on? My research studies a question foundational to Complexity Theory and Cryptography: Does Cryptography's existence follow from P 6= NP? P is the class of problems computable in polynomial time and is qualitatively considered the set of `easy' problems, while NP is the class of problems whose solutions, when obtained, can be checked as correct in polynomial time.
    [Show full text]
  • Computational Complexity
    Computational Complexity Avi Wigderson Oded Goldreich School of Mathematics Department of Computer Science Institute for Advanced Study Weizmann Institute of Science Princeton NJ USA Rehovot Israel aviiasedu odedgoldreichweizmann aci l Octob er Abstract The strive for eciency is ancient and universal as time is always short for humans Com putational Complexity is a mathematical study of the what can b e achieved when time and other resources are scarce In this brief article we will introduce quite a few notions Formal mo dels of computation and measures of eciency the P vs NP problem and NPcompleteness circuit complexity and pro of complexity randomized computation and pseudorandomness probabilistic pro of systems cryptography and more A glossary of complexity classes is included in an app endix We highly recommend the given bibliography and the references therein for more information Contents Introduction Preliminaries Computability and Algorithms Ecient Computability and the class P The P versus NP Question Ecient Verication and the class NP The Big Conjecture NP versus coNP Reducibility and NPCompleteness Lower Bounds Bo olean Circuit Complexity Basic Results and Questions Monotone Circuits
    [Show full text]
  • The Complexity of Estimating Min-Entropy
    Electronic Colloquium on Computational Complexity, Revision 1 of Report No. 70 (2012) The Complexity of Estimating Min-Entropy Thomas Watson∗ April 14, 2014 Abstract Goldreich, Sahai, and Vadhan (CRYPTO 1999) proved that the promise problem for esti- mating the Shannon entropy of a distribution sampled by a given circuit is NISZK-complete. We consider the analogous problem for estimating the min-entropy and prove that it is SBP- complete, where SBP is the class of promise problems that correspond to approximate counting of NP witnesses. The result holds even when the sampling circuits are restricted to be 3-local. For logarithmic-space samplers, we observe that this problem is NP-complete by a result of Lyngsø and Pedersen on hidden Markov models (JCSS 2002). 1 Introduction Deterministic randomness extraction is the problem of taking a sample from an imperfect physical source of randomness (modeled as a probability distribution on bit strings) and applying an efficient deterministic algorithm to transform it into a uniformly random string, which can be used by a randomized algorithm (see [Sha11, Vad12] for surveys of this topic). For such extraction to be possible, the source of randomness must satisfy two properties: (i) it must contain a sufficient “amount of randomness”, and (ii) it must be “structured”, meaning that it has a simple description. Regarding property (i), the most useful measure of the “amount of randomness” is the min- entropy, which is the logarithm of the reciprocal of the probability of the most likely outcome (in other words, if a distribution has high min-entropy then every outcome has small probability).
    [Show full text]
  • Computational Complexity: a Modern Approach PDF Book
    COMPUTATIONAL COMPLEXITY: A MODERN APPROACH PDF, EPUB, EBOOK Sanjeev Arora,Boaz Barak | 594 pages | 16 Jun 2009 | CAMBRIDGE UNIVERSITY PRESS | 9780521424264 | English | Cambridge, United Kingdom Computational Complexity: A Modern Approach PDF Book Miller; J. The polynomial hierarchy and alternations; 6. This is a very comprehensive and detailed book on computational complexity. Circuit lower bounds; Examples and solved exercises accompany key definitions. Computational complexity: A conceptual perspective. Redirected from Computational complexities. Refresh and try again. Brand new Book. The theory formalizes this intuition, by introducing mathematical models of computation to study these problems and quantifying their computational complexity , i. In other words, one considers that the computation is done simultaneously on as many identical processors as needed, and the non-deterministic computation time is the time spent by the first processor that finishes the computation. Foundations of Cryptography by Oded Goldreich - Cambridge University Press The book gives the mathematical underpinnings for cryptography; this includes one-way functions, pseudorandom generators, and zero-knowledge proofs. If one knows an upper bound on the size of the binary representation of the numbers that occur during a computation, the time complexity is generally the product of the arithmetic complexity by a constant factor. Jason rated it it was amazing Aug 28, Seller Inventory bc0bebcaa63d3c. Lewis Cawthorne rated it really liked it Dec 23, Polynomial hierarchy Exponential hierarchy Grzegorczyk hierarchy Arithmetical hierarchy Boolean hierarchy. Convert currency. Convert currency. Familiarity with discrete mathematics and probability will be assumed. The formal language associated with this decision problem is then the set of all connected graphs — to obtain a precise definition of this language, one has to decide how graphs are encoded as binary strings.
    [Show full text]
  • Brief Professional Biography
    Brief Professional Biography Oded Goldreich January 30, 2019 Current Position: Professor of Computer Science, Faculty of Mathematical Sciences, Weizmann Institute of Science, Rehovot, Israel. Incumbent of the Meyer W. Weisgal Professorial Chair. Education, Positions, and Fellowships Oded Goldreich was born in Tel-Aviv, Israel, on February 4th 1957. Received B.A., M.Sc., and D.Sc. in Computer Science from the Technion (Israel Institute of Technology), Israel, in 1980, 1982, and 1983, respectively. He was a post-doctoral fellow in MIT’s Laboratory for Computer Science (1983–86), and a faculty member of the Computer Science Department of the Technion (1983– 94). Since March 1994, he is a faculty member of the Computer Science and Applied Mathematics Department of the Weizmann Institute of Science. (He is a Full Professor since 1995, and incumbent of the Weisgal Professorial Chair since 1998). Oded Goldreich visited MIT (1995–98), and was a Visiting Miller Research Professor at the University of California at Berkeley (1996), and a Fellow of the Radcliffe Institute for Advanced Study at Harvard University (2003–04). He is a member of the TCS Chair Professor Team of Tsinghua University (since 2007). Oded Goldreich is a Corresponding Fellow of the Bavarian Academy of Sciences and Humanities (since 2003), a Fellow of the International Association for Cryptologic Research (since 2009), and received the RSA Conference 2006 Award for Excellence in the Field of Mathematics and the 2017 Donald E. Knuth prize for fundamental and lasting contributions to theoretical computer science. Editorial work, workshop organization, and invited speaker Oded Goldreich is an associate editor of the journal Computational Complexity (since 2003).
    [Show full text]
  • Notes on Levin's Theory of Average-Case Complexity
    Notes on Levin’s Theory of Average-Case Complexity Oded Goldreich Abstract. In 1984, Leonid Levin initiated a theory of average-case com- plexity. We provide an exposition of the basic definitions suggested by Levin, and discuss some of the considerations underlying these defini- tions. Keywords: Average-case complexity, reductions. This survey is rooted in the author’s (exposition and exploration) work [4], which was partially reproduded in [1]. An early version of this survey appeared as TR97-058 of ECCC. Some of the perspective and conclusions were revised in light of a relatively recent work of Livne [21], but an attempt was made to preserve the spirit of the original survey. The author’s current perspective is better reflected in [7, Sec. 10.2] and [8], which advocate somewhat different definitional choices (e.g., focusing on typical rather than average performace of algorithms). 1 Introduction The average complexity of a problem is, in many cases, a more significant mea- sure than its worst case complexity. This has motivated the development of a rich area in algorithmic research – the probabilistic analysis of algorithms [14, 16]. However, historically, this line of research focuses on the analysis of specific algorithms with respect to specific, typically uniform, probability distributions. The general question of average case complexity was addressed for the first time by Levin [18]. Levin’s work can be viewed as the basis for a theory of average NP-completeness, much the same way as Cook’s [2] (and Levin’s [17]) works are the basis for the theory of NP-completeness.
    [Show full text]