Demo Data from VLDB 2026 / reviewers in the wild / expert
Manuel Blum 0001
dblp:b/ManuelBlum
· DBLP profile ↗
56ranked-venue papers
39as first author
0since 2021 · last 2017
0000-0002-0982-4845ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Theory of computation · 35 · 28 first-authorSecurity and privacy · 7 · 3 first-authorApplied, interdisciplinary, general and emerging computing · 5 · 3 first-authorHuman-computer interaction and ubiquitous computing · 4 · 1 first-authorDatabases, data management, data science and information retrieval · 3 · 3 first-authorSystems, architecture and hardware · 2 · 2 first-authorArtificial intelligence and machine learning · 1 · 1 first-authorSoftware engineering, systems software and programming languages · 1 · 1 first-authorGraphics, computer vision, multimedia, augmented reality and games · 1
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Network and information security
16 papers |
Authentication and access control · 62% Cryptographic primitives and cryptanalysis · 16% Usable security · 11% | |
| Human-computer interaction and pervasive computing
3 papers |
Games and playful interaction · 60% Accessibility and assistive technology · 40% | |
| Theoretical computer science
17 papers |
Computational complexity · 53% Algorithmic game theory and mechanism design · 26% Mathematical optimization · 9% | |
| Software engineering, system software, and programming languages
7 papers |
Program verification · 63% Software testing · 34% Debugging and program repair · 3% | |
| Computer architecture, parallel and distributed computing, and storage systems
1 paper |
Hardware reliability and fault tolerance · 67% Distributed systems · 33% | |
| Artificial intelligence
3 papers |
Knowledge representation and reasoning · 49% Image recognition and object detection · 49% Learning theory · 2% |
Topics — the 30 heaviest of 66, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Games and playful interaction › serious games
human computation games |
0.2 | 3 | 2006 | Peekaboom: a game for locating objects in images · CHI 2006 Verbosity: a game for collecting common-sense facts · CHI 2006 Improving accessibility of the web with a computer game · CHI 2006 |
Authentication and access control
password authentication |
0.2 | 1 | 2013 | Naturally Rehearsing Passwords · ASIACRYPT (2) 2013 |
Accessibility and assistive technology
image description |
0.1 | 1 | 2006 | Improving accessibility of the web with a computer game · CHI 2006 |
Accessibility and assistive technology
web accessibility |
0.1 | 1 | 2006 | Improving accessibility of the web with a computer game · CHI 2006 |
Usable security
password usability |
0.0 | 1 | 2013 | Naturally Rehearsing Passwords · ASIACRYPT (2) 2013 |
Authentication and access control › human interactive proofs
CAPTCHA |
0.0 | 1 | 2003 | CAPTCHA: Using Hard AI Problems for Security · EUROCRYPT 2003 |
Authentication and access control
authentication |
0.0 | 1 | 2001 | Secure Human Identification Protocols · ASIACRYPT 2001 |
Program verification › dynamic verification
runtime verification |
0.0 | 2 | 1997 | Software reliability via run-time result-checking · J. ACM 1997 Designing Programs to Check Their Work (Abstract) · ISSTA 1993 |
Knowledge, reasoning and agents › Knowledge representation and reasoning › commonsense reasoning
commonsense knowledge acquisition |
0.0 | 1 | 2006 | Verbosity: a game for collecting common-sense facts · CHI 2006 |
Software testing
result verification |
0.0 | 1 | 1997 | Software reliability via run-time result-checking · J. ACM 1997 |
Hardware reliability and fault tolerance
error correction |
0.0 | 1 | 1996 | Reflections on the Pentium Bug · IEEE Trans. Computers 1996 |
Distributed systems › fault tolerance
result-checking |
0.0 | 1 | 1996 | Reflections on the Pentium Bug · IEEE Trans. Computers 1996 |
Cryptographic protocols and secure computation › proof systems
zero-knowledge proofs |
0.0 | 3 | 1991 | Noninteractive Zero-Knowledge · SIAM J. Comput. 1991 Non-Interactive Zero-Knowledge and Its Applications (Extended Abstract) · STOC 1988 How to Exchange (Secret) Keys (Extended Abstract) · STOC 1983 |
Cryptographic primitives and cryptanalysis › cryptographic assumptions
number-theoretic hardness |
0.0 | 3 | 1991 | Noninteractive Zero-Knowledge · SIAM J. Comput. 1991 A Simple Unpredictable Pseudo-Random Number Generator · SIAM J. Comput. 1986 How to Generate Cryptographically Strong Sequences of Pseudo-Random Bits · SIAM J. Comput. 1984 |
Algorithmic game theory and mechanism design
self-correcting |
0.0 | 1 | 1995 | Self-Correcting for Function Fields Transcendental Degree · ICALP 1995 |
Cryptographic protocols and secure computation › proof systems › zero-knowledge proofs
non-interactive zero-knowledge proofs |
0.0 | 2 | 1991 | Noninteractive Zero-Knowledge · SIAM J. Comput. 1991 Non-Interactive Zero-Knowledge and Its Applications (Extended Abstract) · STOC 1988 |
Algorithmic game theory and mechanism design
matching |
0.0 | 1 | 1994 | Matching Nuts and Bolts · SODA 1994 |
Cryptographic primitives and cryptanalysis › cryptographic assumptions
quadratic residuosity |
0.0 | 2 | 1991 | Noninteractive Zero-Knowledge · SIAM J. Comput. 1991 A Simple Unpredictable Pseudo-Random Number Generator · SIAM J. Comput. 1986 |
Cryptographic primitives and cryptanalysis
pseudorandom generators |
0.0 | 4 | 1986 | A Simple Unpredictable Pseudo-Random Number Generator · SIAM J. Comput. 1986 How to Generate Cryptographically Strong Sequences of Pseudo-Random Bits · SIAM J. Comput. 1984 How to Generate Cryptographically Strong Sequences of Pseudo Random Bits · FOCS 1982 |
Cryptographic primitives and cryptanalysis › public-key cryptography › public-key encryption
chosen-ciphertext security |
0.0 | 2 | 1988 | Non-Interactive Zero-Knowledge and Its Applications (Extended Abstract) · STOC 1988 Proving Security Against Chosen Cyphertext Attacks · CRYPTO 1988 |
Computational complexity
approximate checking |
0.0 | 1 | 1993 | Checking approximate computations over the reals · STOC 1993 |
Mathematical optimization
numerical computation |
0.0 | 1 | 1993 | Checking approximate computations over the reals · STOC 1993 |
Computational complexity
property testing |
0.0 | 1 | 1993 | Checking approximate computations over the reals · STOC 1993 |
Cryptographic protocols and secure computation
interactive proofs |
0.0 | 2 | 1995 | Designing Programs That Check Their Work · STOC 1989 Designing Programs that Check Their Work · J. ACM 1995 |
Information theory
hypothesis testing |
0.0 | 1 | 1992 | Towards a Computational Theory of Statistical Tests (Extended Abstract) · FOCS 1992 |
Computational complexity
pseudorandomness |
0.0 | 1 | 1992 | Towards a Computational Theory of Statistical Tests (Extended Abstract) · FOCS 1992 |
Cryptographic primitives and cryptanalysis › public-key cryptography
public-key encryption |
0.0 | 2 | 1988 | Non-Interactive Zero-Knowledge and Its Applications (Extended Abstract) · STOC 1988 An Efficient Probabilistic Public-Key Encryption Scheme Which Hides All Partial Information · CRYPTO 1984 |
Computational complexity › verification complexity
program checking |
0.0 | 1 | 1990 | Self-Testing/Correcting with Applications to Numerical Problems · STOC 1990 |
Computational complexity › property testing
self-testing |
0.0 | 1 | 1990 | Self-Testing/Correcting with Applications to Numerical Problems · STOC 1990 |
Computational complexity › relativization
generic oracles |
0.0 | 1 | 1987 | Generic Oracles and Oracle Classes (Extended Abstract) · FOCS 1987 |
Methods — techniques the papers use, named apart from their topics
game design · 0.2crowdsourcing game · 0.1probabilistic interactive proof · 0.1self-testing · 0.0run-time correctness checkers · 0.0online checking · 0.0adversary model · 0.0stored randomness · 0.0self-correctors · 0.0randomized matching · 0.0cryptography · 0.0reduction · 0.0self-reducibility · 0.0self-correction · 0.0correctness checks · 0.0indistinguishability · 0.0counter machines · 0.0interactive proof · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2017 | Towards Human Computable PasswordsabstractAn interesting challenge for the cryptography community is to design authentication protocols that are so simple that a human can execute them without relying on a fully trusted computer. We propose several candidate authentication protocols for a setting in which the human user can only receive assistance from a semi-trusted computer - a computer that stores information and performs computations correctly but does not provide confidentiality. Our schemes use a semi-trusted computer to store and display public challenges C_i\in[n]^k. The human user memorizes a random secret mapping \sigma:[n]\rightarrow \mathbb{Z}_d and authenticates by computing responses f(\sigma(C_i)) to a sequence of public challenges where f:\mathbb{Z}_d^k\rightarrow \mathbb{Z}_d is a function that is easy for the human to evaluate. We prove that any statistical adversary needs to sample m=\tilde{\Omega}\paren{n^{s(f)}} challenge-response pairs to recover \sigma, for a security parameter s(f) that depends on two key properties of f. Our lower bound generalizes recent results of Feldman et al. [Feldman'15] who proved analogous results for the special case d=2. To obtain our results, we apply the general hypercontractivity theorem [O'Donnell'14] to lower bound the statistical dimension of the distribution over challenge-response pairs induced by f and \sigma. Our statistical dimension lower bounds apply to arbitrary functions f:\mathbb{Z}_d^k\rightarrow \mathbb{Z}_d (not just to functions that are easy for a human to evaluate). As an application, we propose a family of human computable password functions f_{k_1,k_2} in which the user needs to perform 2k_1+2k_2+1 primitive operations (e.g., adding two digits or remembering a secret value \sigma(i)), and we show that s(f) = \min{k_1+1, (k_2+1)/2}. For these schemes, we prove that forging passwords is equivalent to recovering the secret mapping. Thus, our human computable password schemes can maintain strong security guarantees even after an adversary has observed the user login to many different accounts. Jeremiah Blocki, Manuel Blum 0001, Anupam Datta, Santosh S. Vempala |
ITCS | 2 |
| 2015 | Publishable Humanly Usable Secure Password Creation SchemasabstractWhat can a human compute in his/her head that a powerful adversary cannot infer? To answer this question, we define a model of human computation and a measure of security. Then, motivated by the special case of password creation, we propose a collection of well-defined password-generation methods. We show that our password generation methods are humanly computable and, to a well-defined extent, machine uncrackable. For the proof of security, we posit that password generation methods are public, but that the human’s privately chosen seed is not, and that the adversary will have observed only a few input-output pairs. Besides the application to password generation, our proposed Human Usability Model (HUM) will have other applications. Manuel Blum 0001, Santosh S. Vempala |
HCOMP | 1 |
| 2013 | Naturally Rehearsing Passwords
Jeremiah Blocki, Manuel Blum 0001, Anupam Datta |
ASIACRYPT (2) | 2 |
| 2010 | Understanding and Inductive Inference
Manuel Blum 0001 |
COCOON | 1 |
| 2007 | Improving Image Search with PHETCHabstractKeyword-based image search engines are hindered by the lack of proper labeling for images in their indices. In many cases the labels do not agree with the contents of the image itself, since images are generally indexed by their filename and the surrounding text in the Web page. Another popular approach to image search, content based image retrieval, suffers from a gap between the available low level data and the semantic needs of user searches. To overcome these problems we suggest human annotation of images with natural language descriptions. To this end we present Phetch, an engaging multiplayer game that allows people to attach accurate explanatory text captions to arbitrary images on the Web. People play the game because it is fun, and as a side effect we collect valuable information that can be applied towards improving image retrieval. Furthermore, the game can also be used for other novel applications. Luis von Ahn, Shiry Ginosar, Mihir Kedia, Manuel Blum 0001 |
ICASSP (4) | 4 |
| 2006 | Improving accessibility of the web with a computer gameabstractImages on the Web present a major accessibility issue for the visually impaired, mainly because the majority of them do not have proper captions. This paper addresses the problem of attaching proper explanatory text descriptions to arbitrary images on the Web. To this end, we introduce Phetch, an enjoyable computer game that collects explanatory descriptions of images. People play the game because it is fun, and as a side effect of game play we collect valuable information. Given any image from the World Wide Web, Phetch can output a correct annotation for it. The collected data can be applied towards significantly improving Web accessibility. In addition to improving accessibility, Phetch is an example of a new class of games that provide entertainment in exchange for human processing power. In essence, we solve a typical computer vision problem with HCI tools alone. Luis von Ahn, Shiry Ginosar, Mihir Kedia, Ruoran Liu, Manuel Blum 0001 |
CHI | 5 |
| 2006 | Verbosity: a game for collecting common-sense factsabstractWe address the problem of collecting a database of ""common-sense facts"" using a computer game. Informally, a common-sense fact is a true statement about the world that is known to most humans: ""milk is white,"" ""touching hot metal hurts,"" etc. Several efforts have been devoted to collecting common-sense knowledge for the purpose of making computer programs more intelligent. Such efforts, however, have not succeeded in amassing enough data because the manual process of entering these facts is tedious. We therefore introduce Verbosity, a novel interactive system in the form of an enjoyable game. People play Verbosity because it is fun, and as a side effect of them playing, we collect accurate common-sense knowledge. Verbosity is an example of a game that not only brings people together for leisure, but also collects useful data for computer science. Luis von Ahn, Mihir Kedia, Manuel Blum 0001 |
CHI | 3 |
| 2006 | Peekaboom: a game for locating objects in imagesabstractWe introduce Peekaboom, an entertaining web-based game that can help computers locate objects in images. People play the game because of its entertainment value, and as a side effect of them playing, we collect valuable image metadata, such as which pixels belong to which object in the image. The collected data could be applied towards constructing more accurate computer vision algorithms, which require massive amounts of training and testing data not currently available. Peekaboom has been played by thousands of people, some of whom have spent over 12 hours a day playing, and thus far has generated millions of data points. In addition to its purely utilitarian aspect, Peekaboom is an example of a new, emerging class of games, which not only bring people together for leisure purposes, but also exist to improve artificial intelligence. Such games appeal to a general audience, while providing answers to problems that computers cannot yet solve. Luis von Ahn, Ruoran Liu, Manuel Blum 0001 |
CHI | 3 |
| 2003 | CAPTCHA: Using Hard AI Problems for Security
Luis von Ahn, Manuel Blum 0001, Nicholas Hopper, John Langford 0001 |
EUROCRYPT | 2 |
| 2001 | Secure Human Identification Protocols
Nicholas Hopper, Manuel Blum 0001 |
ASIACRYPT | 2 |
| 1997 | Program Error Detection/Correction: Turning PAC Learning into PERFECT Learning (Abstract)
Manuel Blum 0001 |
ALT | 1 |
| 1997 | Software reliability via run-time result-checkingabstractWe review the field of result-checking, discussing simple checkers and self-correctors. We argue that such checkers could profitably be incorporated in software as an aid to efficient debugging and enhanced reliability. We consider how to modify traditional checking methodologies to make them more appropriate for use in real-time, real-number computer systems. In particular, we suggest that checkers should be allowed to use stored randomness: that is, that they should be allowed to generate, preprocess, and store random bits prior to run-time, and then to use this information repeatedly in a series of run-time checks. In a case study of checking a general real-number linear transformation (e.g., a Fourier Transform), we present a simple checker which uses stored randomness, and a self-corrector which is particularly efficient if stored randomness is employed. Hal Wasserman, Manuel Blum 0001 |
J. ACM | 2 |
| 1996 | Reflections on the Pentium BugabstractWe review the field of result-checking and suggest that it be extended to a methodology for enforcing hardware/software reliability. We thereby formulate a vision for "self-monitoring" hardware/software whose reliability is augmented through embedded suites of run-time correctness checkers. In particular, we suggest that embedded checkers and correctors may be employed to safeguard against arithmetic errors such as that which has bedeviled the Intel Pentium Microprocessor. We specify checkers and correctors suitable for monitoring the multiplication and division functionalities of an arbitrary arithmetic processor and seamlessly correcting erroneous output which may occur for any reason during the lifetime of the chip. Manuel Blum 0001, Hal Wasserman |
IEEE Trans. Computers | 1 |
| 1995 | Self-Correcting for Function Fields Transcendental Degree
Manuel Blum 0001, Bruno Codenotti, Peter Gemmell, Troy Shahoumian |
ICALP | 1 |
| 1995 | on the Problem of Sorting Burnt Pancakes
David S. Cohen, Manuel Blum 0001 |
Discret. Appl. Math. | 2 |
| 1995 | Designing Programs that Check Their WorkabstractA program correctness checker is an algorithm for checking the output of a computation. That is, given a program and an instance on which the program is run, the checker certifies whether the output of the program on that instance is correct. This paper defines the concept of a program checker. It designs program checkers for a few specific and carefully chosen problems in the class FP of functions computable in polynomial time. Problems in FP for which checkers are presented in this paper include Sorting, Matrix Rank and GCD. It also applies methods of modern cryptography, especially the idea of a probabilistic interactive proof, to the design of program checkers for group theoretic computations. Two structural theorems are proven here. One is a characterization of problems that can be checked. The other theorem establishes equivalence classes of problems such that whenever one problem in a class is checkable, all problems in the class are checkable. Manuel Blum 0001, Sampath Kannan |
J. ACM | 1 |
| 1994 | Program Result-Checking: A Theory of Testing Meets a Test of TheoryabstractWe review the field of result-checking, discussing simple checkers and self-correctors. We argue that such checkers could profitably be incorporated in software as an aid to efficient debugging and reliable functionality. We consider how to modify traditional checking methodologies to make them more appropriate for use in real-time, real-number computer systems. In particular, we suggest that checkers should be allowed to use stored randomness: i.e., that they should be allowed to generate, pre-process, and store random bits prior to run-time, and then to use this information repeatedly in a series of run-time checks. In a case study of checking a general real-number linear transformation (for example, a Fourier Transform), we present a simple checker which uses stored randomness, and a self-corrector which is particularly efficient if stored randomness is allowed.> Manuel Blum 0001, Hal Wasserman |
FOCS | 1 |
| 1994 | Matching Nuts and Bolts
Noga Alon, Manuel Blum 0001, Amos Fiat, Sampath Kannan, Moni Naor, Rafail Ostrovsky |
SODA | 2 |
| 1994 | Checking the Correctness of Memories
Manuel Blum 0001, William S. Evans, Peter Gemmell, Sampath Kannan, Moni Naor |
Algorithmica | 1 |
| 1993 | Program Result Checking: A New Approach to Making Programs More Reliable
Manuel Blum 0001 |
ICALP | 1 |
| 1993 | Designing Programs to Check Their Work (Abstract)abstractDesigning Programs to Check Their Work Professor Manuel Blurn Department of EECS UC Berkeley and International Computer Science Institute Berkeley, California Abstract Students, engineers, programmers... are all expected to check their work. Computer programs are not. There are several reasons for this: 1. Computer hardware almost never makes errors -- but that fails to recognize that programmers do! 2. Programs are hard enough to write without having to also write program checkers for them -- but that is the price of increased confidence! 3. There is no clear notion what constitutes a good checker. Indeed, the same students and engi-neers who are cautioned to check their work are rarely informed what it is that makes a proce-dure good for doing so -- but that is just the sort of problem that computer science should be able to solve! In my view, the lack of correctness checks in programs is an oversight. Programs have bugs that could perfectly well be caught by such checks. This talk urges that programs be written to check their work, and outlines a promising and rigorous approach to the study of this fascinating new area. Manuel Blum 0001 |
ISSTA | 1 |
| 1993 | Checking approximate computations over the realsabstractThis paper provides the first systematic investigation of checking approximate numerical computations over subsets of the reals. In most cases, approximate checking is more challenging than exact checking. Problem conditioning, i.e., the measure of sensitivity of the output to slight changes in the input, and the presence of approximation parameters foil the direct transformation of many exact checkers to the approximate setting. Furthermore, approximate checking over the reals is complicated by the lack of nice finite field properties such as the existence of a samplable distribution which is invariant under addition or multiplication by a scalar. We overcome the above problems by using such techniques as testing and checking over similar but distinct distributions, using functions' random and downward self-reducibility properties, and taking advantage of the small variance of the sum of independent identically distributed random variables. We provide approximate checkers for a variety of computations, including matrix multiplication, linear system solution, matrix inversion, and computation of the determinant. We also present an approximate version of Beigel's trick and extend the approximate linear self tester/corrector of [8] and the trigonometric self-Tester/corrector of [5] to more general computations. Sigal Ar, Manuel Blum 0001, Bruno Codenotti, Peter Gemmell |
STOC | 2 |
| 1993 | Self-Testing/Correcting with Applications to Numerical Problems
Manuel Blum 0001, Michael Luby, Ronitt Rubinfeld |
J. Comput. Syst. Sci. | 1 |
| 1992 | Towards a Computational Theory of Statistical Tests (Extended Abstract)abstractThe authors initiate a computational theory of statistical tests. Loosely speaking, an algorithm is a statistical test if it rejects a 'negligible' fraction of strings. A statistical test is universal for a class of algorithms if it rejects all (but finitely many) of the strings rejected by each algorithm in the class. They consider the existence and efficiency of universal statistical tests for various classes of statistical tests. They also consider the relation between ensembles passing statistical tests of particular complexity and ensembles which are indistinguishable from uniform by algorithms of the same complexity. Some results refer to relatively simple statistical tests (e.g. those implemented by counter machines).> Manuel Blum 0001, Oded Goldreich 0001 |
FOCS | 1 |
| 1992 | Universal Statistical Tests
Manuel Blum 0001 |
LATIN | 1 |
| 1991 | Checking the Correctness of MemoriesabstractThe notion of program checking is extended to include programs that alter their environment, in particular, programs that store and retrieve data from memory. The model considered allows the checker a small amount of reliable memory. The checker is presented with a sequence of requests (online) to a data structure which must reside in a large but unreliable memory. The data structure is viewed as being controlled by an adversary. The checker is to perform each operation in the input sequence using its reliable memory and the unreliable data structure so that any error in the operation of the structure will be detected by the checker with high probability. Checkers for various data structures are presented. Lower bounds of log n on the amount of reliable memory needed by these checkers, where n is the size of the structure, are proved.> Manuel Blum 0001, William S. Evans, Peter Gemmell, Sampath Kannan, Moni Naor |
FOCS | 1 |
| 1991 | Program Checking
Manuel Blum 0001 |
FSTTCS | 1 |
| 1991 | Inductive Inference and UnsolvabilityabstractAbtract It is shown that many different problems have the same degree of unsolvability. Among these problems are: The Inductive Inference Problem. Infer in the limit an index for a recursive function f presented as f(0), f(1),f(2),…. The Recursive Index Problem. Decide in the limit if i is the index of a total recursive function. The Zero Nonvariant Problem. Decide in the limit if a recursive function f presented as f(0), f(1), f(2),… has value unequal to zero for infinitely many arguments. Finally, it is shown that these unsolvable problems are strictly easier than the halting problem. Leonard M. Adleman, Manuel Blum 0001 |
J. Symb. Log. | 2 |
| 1991 | Noninteractive Zero-KnowledgeabstractThis paper investigates the possibility of disposing of interaction between prover and verifier in a zero-knowledge proof if they share beforehand a short random string. Without any assumption, it is proven that noninteractive zero-knowledge proofs exist for some number-theoretic languages for which no efficient algorithm is known. If deciding quadratic residuosity (modulo composite integers whose factorization is not known) is computationally hard, it is shown that the NP-complete language of satisfiability also possesses noninteractive zero-knowledge proofs. Manuel Blum 0001, Alfredo De Santis, Silvio Micali, Giuseppe Persiano |
SIAM J. Comput. | 1 |
| 1990 | Self-Testing/Correcting with Applications to Numerical ProblemsabstractSuppose someone gives us an extremely fast program P that we can call as a black box to compute a function f.Should we trust that P works correctly?A self-testing/correcting pair allows us to: (1) estimate the probability that P(x) 5~ f(x) when x is randomly chosen; (2) on any input x, compute f(x) correctly as long as P is not too faulty on average.Furthermore, both (1) and ( 2) take time only slightly more than the original running time of P.We present general techniques for constructing simple to program self-testing/correcting pairs for a variety of numerical problems, including integer multiplication, modular multiplication, matrix multiplication, inverting matrices, computing the determinant of a matrix, computing the rank of a matrix, integer division, modular exponentiation and polynomial multiplication. Manuel Blum 0001, Michael Luby, Ronitt Rubinfeld |
STOC | 1 |
| 1989 | Designing Programs That Check Their WorkabstractA program correctness checker is an algorithm for checking the output of a computation. This paper defines the concept of a program checker. It designs program checkers for a few specific and carefully chosen problems in the class P of problems solvable in polynomial time. It also applies methods of modern cryptography, especially the idea of a probabilistic interactive proof, to the design of program checkers for group theoretic computations. Finally it characterizes the problems that can be checked. Manuel Blum 0001, Sampath Kannan |
STOC | 1 |
| 1988 | Proving Security Against Chosen Cyphertext Attacks
Manuel Blum 0001, Paul Feldman, Silvio Micali |
CRYPTO | 1 |
| 1988 | Non-Interactive Zero-Knowledge and Its Applications (Extended Abstract)abstractWe show that interaction in any zero-knowledge proof can be replaced by sharing a common, short, random string. We use this result to construct the first public-key cryptosystem secure against chosen ciphertext attack. Manuel Blum 0001, Paul Feldman, Silvio Micali |
STOC | 1 |
| 1987 | Generic Oracles and Oracle Classes (Extended Abstract)abstractIn this paper, we examine various complexity issues relative to an oracle for a generic set in order to determine which are the more "natural" conjectures for these issues. Generic oracle results should be viewed as parallels to random oracle results, as in [BG]; the two are in many ways related, but, as we shall exhibit, not equivalent. Looking at computation relative to a generic oracle is in some ways a better reflection of computation without an oracle; for example, whereas adding a random oracle allows a deterministic polynomial-time machine to solve any problem in BPP, adding a generic oracle will not help solve any recursive problem faster than it could be solved without an oracle. Generic sets were first introduced by Cohen as a tool for proving independence results in set theory [Co]. Their recursion theoretic properties have also been explored in depth; for example, see [J] and [Ku2]. Some related work using forcing and/or generic sets as tools in oracle constructions can be found in [Ku3], [Do], [P], and [A-SFH]. However, this is to our knowledge the first knowledge the first thorough examination of complexity relative to a generic Oracle. Manuel Blum 0001, Russell Impagliazzo |
FOCS | 1 |
| 1986 | A Simple Unpredictable Pseudo-Random Number GeneratorabstractTwo closely-related pseudo-random sequence generators are presented: The ${1 / P}$generator, with input P a prime, outputs the quotient digits obtained on dividing 1 by P. The $x^2 \bmod N$generator with inputs N, $x_0 $ (where $N = P \cdot Q$ is a product of distinct primes, each congruent to 3 mod 4, and $x_0 $ is a quadratic residue $\bmod N$), outputs $b_0 b_1 b_2 \cdots $ where $b_i = {\operatorname{parity}}(x_i )$ and $x_{i + 1} = x_i^2 \bmod N$. From short seeds each generator efficiently produces long well-distributed sequences. Moreover, both generators have computationally hard problems at their core. The first generator’s sequences, however, are completely predictable (from any small segment of $2|P| + 1$ consecutive digits one can infer the “seed,” P, and continue the sequence backwards and forwards), whereas the second, under a certain intractability assumption, is unpredictable in a precise sense. The second generator has additional interesting properties: from knowledge of $x_0 $ and N but notP or Q, one can generate the sequence forwards, but, under the above-mentioned intractability assumption, one can not generate the sequence backwards. From the additional knowledge of P and Q, one can generate the sequence backwards; one can even “jump” about from any point in the sequence to any other. Because of these properties, the $x^2 \bmod N$generator promises many interesting applications, e.g., to public-key cryptography. To use these generators in practice, an analysis is needed of various properties of these sequences such as their periods. This analysis is begun here. Lenore Blum, Manuel Blum 0001, Michael Shub |
SIAM J. Comput. | 2 |
| 1984 | An Efficient Probabilistic Public-Key Encryption Scheme Which Hides All Partial Information
Manuel Blum 0001, Shafi Goldwasser |
CRYPTO | 1 |
| 1984 | Independent Unbiased Coin Flips From a Correlated Biased Source: a Finite State Markov Chainabstractvon Neumann's trick for generating an absolutely unbiased coin from a biased one is this: 1. Toss the biased coin twice, getting 00, 01, 10, or 11. 2. If 00 or 11 occur, go back to step 1; else 3. Call 10 a H, 01 a T. Since p[H] = p[1]*p[0] = p[T], the output is unbiased. Example: 00 10 11 01 01 /spl I.oarr/ H T T. Peter Elias gives an algorithm to generate an independent unbiased sequence of Hs and Ts that nearly achieves the Entropy of the one-coin source. His algorithm is excellent, but certain difficulties arise in trying to use it (or the original von Neumann scheme) to generate bits in expected linear time from a Markov chain. In this paper, we return to the original one-coin von Neumann scheme, and show how to extend it to generate an independent unbiased sequence of Hs and Ts from any Markov chain in expected linear time. We give a right and wrong way to do this. Two algorithms A and B use the simple von Neumann trick on every state of the Markov chain. They differ in the time they choose to announce the coin flip. This timing is crucial. Manuel Blum 0001 |
FOCS | 1 |
| 1984 | How to Generate Cryptographically Strong Sequences of Pseudo-Random BitsabstractWe give a set of conditions that allow one to generate 50–50 unpredictable bits.Based on those conditions, we present a general algorithmic scheme for constructing polynomial-time deterministic algorithms that stretch a short secret random input into a long sequence of unpredictable pseudo-random bits. We give an implementation of our scheme and exhibit a pseudo-random bit generator for which any efficient strategy for predicting the next output bit with better than 50–50 chance is easily transformable to an “equally efficient” algorithm for solving the discrete logarithm problem. In particular: if the discrete logarithm problem cannot be solved in probabilistic polynomial time, no probabilistic polynomial-time algorithm can guess the next output bit better than by flipping a coin: if “head” guess “0”, if “tail” guess “1” Manuel Blum 0001, Silvio Micali |
SIAM J. Comput. | 1 |
| 1983 | Reducibility Among Protocols
Manuel Blum 0001, Umesh V. Vazirani, Vijay V. Vazirani |
CRYPTO | 1 |
| 1983 | How to Exchange (Secret) Keys (Extended Abstract)abstractA protocol is presented whereby two adversaries may exchange secrets, though neither trusts the other. The secrets are the prime factors of their publicly announced composite numbers. The two adversaries can exchange their secrets bit by bit, but each fears the other will cheat by sending “junk”bits. To solve this problem we show how each of the two can prove, for each bit delivered, that the bit is good. Manuel Blum 0001 |
STOC | 1 |
| 1983 | How to Exchange (Secret) KeysabstractKeysA protocol is presented whereby two adversaries may exchange secrets, although neither trusts the other.The secrets are the prime factors of their publicly announced composite numbers.The two adversaries can exchange their secrets bit by bit, but each fears the other will cheat by sending "junk" bits.To solve this problem we show how each of the two can prove, for each bit delivered, that the bit is good.Applications are suggested to such electronic business transactions as signing contracts and sending certified electronic mail. Manuel Blum 0001 |
ACM Trans. Comput. Syst. | 1 |
| 1982 | Comparison of Two Pseudo-Random Number Generators
Lenore Blum, Manuel Blum 0001, Michael Shub |
CRYPTO | 2 |
| 1982 | How to Generate Cryptographically Strong Sequences of Pseudo Random BitsabstractWe give a set of conditions that allow one to generate 50–50 unpredictable bits.Based on those conditions, we present a general algorithmic scheme for constructing polynomial-time deterministic algorithms that stretch a short secret random input into a long sequence of unpredictable pseudo-random bits.We give an implementation of our scheme and exhibit a pseudo-random bit generator for which any efficient strategy for predicting the next output bit with better than 50–50 chance is easily transformable to an “equally efficient” algorithm for solving the discrete logarithm problem. In particular: if the discrete logarithm problem cannot be solved in probabilistic polynomial time, no probabilistic polynomial-time algorithm can guess the next output bit better than by flipping a coin: if “head” guess “0”, if “tail” guess “1” Manuel Blum 0001, Silvio Micali |
FOCS | 1 |
| 1981 | The Complexity of Testing Whether a Graph is a Superconcentrator
Manuel Blum 0001, Richard M. Karp, Oliver Vornberger, Christos H. Papadimitriou, Mihalis Yannakakis |
Inf. Process. Lett. | 1 |
| 1980 | Equivalence of Free Boolean Graphs can be Decided Probabilistically in Polynomial Time
Manuel Blum 0001, Ashok K. Chandra, Mark N. Wegman |
Inf. Process. Lett. | 1 |
| 1978 | On the Power of the Compass (or, Why Mazes Are Easier to Search than Graphs)
Manuel Blum 0001, Dexter Kozen |
FOCS | 1 |
| 1977 | On the Capability of Finite Automata in 2 and 3 Dimensional Space
Manuel Blum 0001, William J. Sakoda |
FOCS | 1 |
| 1975 | Toward a Mathematical Theory of Inductive Inference
Lenore Blum, Manuel Blum 0001 |
Inf. Control. | 2 |
| 1974 | On Almost Everywhere Complex Recursive FunctionsabstractLet h be a recursive function. A partial recursive function ψ is i.o. (infinitely often) h -complex if every program for ψ requires more than h ( χ ) steps to compute ψ ( χ ) for infinitely many inputs χ . A more stringent notion is that of ψ being a.e. (almost everywhere) h -complex: ψ is a.e. h -complex if every program for ψ requires more than h ( χ ) steps to compute ψ ( χ ) for all but finitely many inputs χ . These two definitions of h -complex functions do not yield the same theorems. Although it is possible to prove of every i.o. h -complex recursive function that it is i.o. h -complex, it is not possible to prove of every a.e. h -complex recursive function that it is a.e. h -complex. Similarly, recursive functions not i.o. h -complex can be proven to be such, but recursive functions not a.e. h -complex cannot be so proven. The construction of almost everywhere complex recursive functions appears much more difficult than the construction of infinitely often complex recursive functions. There have been found no “natural” examples of recursive functions requiring more than polynomial time for all but finitely many inputs. It is shown that from a single example of a moderately a.e. complex recursive function, one can obtain a.e. very complex recursive functions. John Gill, Manuel Blum 0001 |
J. ACM | 2 |
| 1973 | Time Bounds for Selection
Manuel Blum 0001, Robert W. Floyd, Vaughan R. Pratt, Ronald L. Rivest, Robert E. Tarjan |
J. Comput. Syst. Sci. | 1 |
| 1973 | On Complexity Properties of Recursively Enumerable SetsabstractAn important goal of complexity theory, as we see it, is to characterize those partial recursive functions and recursively enumerable sets having some given complexity properties, and to do so in terms which do not involve the notion of complexity. As a contribution to this goal, we provide characterizations of the effectively speedable, speedable and levelable [2] sets in purely recursive theoretic terms. We introduce the notion of subcreativeness and show that every program for computing a partial recursive function f can be effectively speeded up on infinitely many integers if and only if the graph of f is subcreative. In addition, in order to cast some light on the concepts of effectively speedable, speedable and levelable sets we show that all maximal sets are levelable (and hence speedable) but not effectively speedable and we exhibit a set which is not levelable in a very strong sense but yet is effectively speedable. Manuel Blum 0001, Ivan Marques |
J. Symb. Log. | 1 |
| 1972 | Linear Time Bounds for Median ComputationsabstractNew upper and lower bounds are presented for the maximum number of comparisons, f(i,n), required to select the i-th largest of n numbers. An upper bound is found, by an analysis of a new selection algorithm, to be a linear function of n: Manuel Blum 0001, Robert W. Floyd, Vaughan R. Pratt, Ronald L. Rivest, Robert E. Tarjan |
STOC | 1 |
| 1971 | On Effective Procedures for Speeding Up AlgorithmsabstractThis paper is concerned with the nature of speedups.Let f be any recursive function.We show that there is no effective procedure for going from an algorithm f o r f to another algorithm for f that is significantly faster on all but a finite number of inputs.On the other hand, for a large class of functions f, one can go effectively from any algorithm for f to one that is faster on at least infinitely many integers.Finally, if one has an algorithm for a given function f, and if there is an algorithm which is faster on all but a finite number of inputs, then even though one cannot get this faster algorithm effectively, one can still obtain a pseudospeedup: This is a very fast algorithm which computes a variant of the function, one which differs from the original function on a finite number of inputs. Manuel Blum 0001 |
J. ACM | 1 |
| 1969 | On Effective Procedures for Speeding Up AlgorithmsabstractThis paper is concerned with the nature of speedups. Let f be any recursive function. We show that there is no effective procedure for going from an algorithm for f to a significantly faster algorithm for f. On the other hand, there is an effective procedure for going from any algorithm to a faster algorithm, provided one has a bound on the size of the algorithm that does the computation faster for all inputs. If no bound on the size of the faster algorithm is known in advance, one can still obtain a pseudo speedup: This is a very fast algorithm which computes a variant of the function, one which differs from the original function on a finite number of inputs. Manuel Blum 0001 |
STOC | 1 |
| 1967 | On the Size of Machines
Manuel Blum 0001 |
Inf. Control. | 1 |
| 1967 | A Machine-Independent Theory of the Complexity of Recursive FunctionsabstractThe number of steps required to compute a function depends, in general, on the type of computer that is used, on the choice of computer program, and on the input-output code. Nevertheless, the results obtained in this paper are so general as to be nearly independent of these considerations. A function is exhibited that requires an enormous number of steps to be computed, yet has a “nearly quickest” program: Any other program for this function, no matter how ingeniously designed it may be, takes practically as many steps as this nearly quickest program. A different function is exhibited with the property that no matter how fast a program may be for computing this function another program exists for computing the function very much faster. Manuel Blum 0001 |
J. ACM | 1 |