Batch verification with applications to cryptography and checking

被引:15
作者
Bellare, M
Garay, JA
Rabin, T
机构
[1] Univ Calif San Diego, Dept Comp Sci & Engn, La Jolla, CA 92093 USA
[2] IBM Corp, Thomas J Watson Res Ctr, Yorktown Hts, NY 10598 USA
来源
LATIN '98: THEORETICAL INFORMATICS | 1998年 / 1380卷
关键词
D O I
10.1007/BFb0054320
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Let R(.) be a polynomial time-computable boolean relation. Suppose we are given a sequence inst(1),...,inst(n) of instances and asked whether it is the case that R(inst(i)) = 1 for all i = 1,..., n. The naive way to figure out the answer is to compute R(inst(i)) for each i and check that we get 1 each time. But this takes n computations of R. Can one do any better? The above is the "batch verification" problem. We initiate a broad investigation of it. We look at the possibility of designing probabilistic batch verifiers, or tests, for basic mathematical relations R. Our main results are for modular exponentiation, an expensive operation in terms of number of multiplications: here g is some fixed element of a group G and R(x, y) = 1 iff g(x) = y. We find surprisingly fast batch verifiers for this relation. We also find efficient batch verifiers for the degrees of polynomials. The first application is to cryptography, where modular exponentiation is a common component of a large number of protocols, including digital signatures, bit commitment, and zero knowledge. Similarly, the problem of verifying the degrees of polynomials underlies (verifiable) secret sharing, which in turn underlies many secure distributed protocols. The second application is to program checking. We can use batch verification to provide faster batch checkers, in the sense of [20], for modular exponentiation. These checkers also have stronger properties than standard ones, and illustrate how batch verification can not only speed up how we do old things, but also enable us to do new things.
引用
收藏
页码:170 / 191
页数:22
相关论文
共 24 条
[1]  
[Anonymous], LNCS
[2]  
Arora S., 1992, Proceedings 33rd Annual Symposium on Foundations of Computer Science (Cat. No.92CH3188-0), P14, DOI 10.1109/SFCS.1992.267823
[3]  
Bellare M., 1996, Proceedings of the Fifteenth Annual ACM Symposium on Principles of Distributed Computing, P191, DOI 10.1145/248052.248090
[4]  
BELLER M, 1992, LECT NOTES COMPUTER, V658, P208
[5]   SELF-TESTING CORRECTING WITH APPLICATIONS TO NUMERICAL PROBLEMS [J].
BLUM, M ;
LUBY, M ;
RUBINFELD, R .
JOURNAL OF COMPUTER AND SYSTEM SCIENCES, 1993, 47 (03) :549-595
[6]  
BLUM M, 1991, PROCEEDINGS - 32ND ANNUAL SYMPOSIUM ON FOUNDATIONS OF COMPUTER SCIENCE, P90, DOI 10.1109/SFCS.1991.185352
[7]  
Blum M., 1989, Proceedings of the Twenty First Annual ACM Symposium on Theory of Computing, P86, DOI 10.1145/73007.73015
[8]  
BOS J, 1989, LECT NOTES COMPUTER, V658, P400
[9]  
Brickell E. F., 1992, P EUROCRYPT, P200
[10]  
BRICKELL EF, 1988, LECT NOTES COMPUT SC, V293, P418