skip to main content
article

Checking the correctness of memories

Published: 01 September 1994 Publication History

Abstract

We extend the notion of program checking to include programs which alter their environment. In particular, we consider programs which store and retrieve data from memory. The model we consider allows the checker a small amount of reliable memory. The checker is presented with a sequence of requests (on-line) to a data structure which must reside in a large but unreliable memory. We view the data structure as being controlled by an adversary. We want the checker 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.
We present checkers for various data structures. We prove lower bounds of logn on the amount of reliable memory needed by these checkers wheren is the size of the structure. The lower bounds are information theoretic and apply under various assumptions. We also show time-space tradeoffs for checking random access memories as a generalization of those for coherent functions.

References

[1]
L. Adelman, M. Huang, and K. Kompella, Efficient checkers for number-theoretic computation, preprint.
[2]
M. Blum, W. Evans, P Gemmell, S. Kannan, and M. Naor, Checking the correctness of memories, Proc. 32nd IEEE Symposium on Foundations of Computer Science, pages 90-99, 1991.
[3]
M. Blum and S. Kannan, Designing programs that check their work, Proc. 21st ACM Symposium on Theory of Computing, pages 86-97, 1989.
[4]
M. Blum, M. Luby, and R. Rubinfeld, Self-testing and self-correcting programs with applications to numerical problems, Proc. 22nd ACM Symposium on Theory of Computing, pages 73-83, 1990.
[5]
M. Blum, M. Luby, and R. Rubinfeld, Program Result Checking Against Adaptive Programs and in Cryptographic Settings, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, Vol. 2, pages 107-118, 1991.
[6]
A. Condon, Space bounded probabilistic game automata, Journal of the ACM, 38(2):472-494, April 1991.
[7]
C. Dwork and L. Stockmeyer, Finite states verifiers, I: the power of interaction, Journal of the ACM, 39(4):800-828, 1992.
[8]
L. Fortnow, J. Rompel, and M. Sipser, On the power of multi-prover interactive protocols, Proc. 3rd IEEE Structure in Complexity Theory, pages 156-161, 1988.
[9]
O. Goldreich, Towards a theory of software protection and simulation by oblivious RAMS, Proc. 19th ACM Symposium on Theory of Computing, pages 182-194, 1987.
[10]
O. Goldreich, S. Goldwasser, and S. Micali, How to construct random functions, Journal of the ACM, 33(4):792-807, October 1986.
[11]
J. H�stad, Pseudo-random generators under uniform assumptions, Proc. 22nd ACM Symposium on Theory of Computing, pages 395-405, 1990.
[12]
R. Impagliazzo, L. A. Levin, and M. Luby Pseudo-random generators from one-way functions, Proc. 21st ACM Symposium on Theory of Computing, pages 12-24, 1989.
[13]
R. Lipton, Efficient checking of computations, Proc. 7th Annual Symposium on Theoretical Aspects of Computer Science, pages 207-215, 1990.
[14]
R. Lipton, New Directions in Testing, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, Vol. 2, pages 191-202, 1991.
[15]
R. Merkle. A certified digital signature, Manuscript, 1979. See also Advances in Cryptology, Crypto '89 Proceedings, pages 218-238, 1990. Lecture Notes in Computer Science, Vol. 435, Springer-Verlag, Berlin.
[16]
J. Naor and M. Naor, Small-bias probability spaces: efficient constructions and applications, Proc. 22nd ACM Symposium on Theory of Computing, pages 213-223, 1990.
[17]
M. Naor and M. Yung, Universal one-way hash functions and their cryptographic applications, Proc. 21st ACM Symposium on Theory of Computing, pages 33-43, 1989.
[18]
R. Ostrovsky, Efficient computation on oblivious RAMS, Proc. 22nd ACM Symposium on Theory of Computing, pages 514-523, 1990.
[19]
N. Pippenger and M. J. Fischer, Relations among complexity measures, Journal of the ACM, 26(2):361-381, 1979.
[20]
J. Rompel, One way functions are necessary and sufficient for secure signatures, Proc. 22nd ACM Symposium on Theory of Computing, pages 387-394, 1990.
[21]
A. Yao, Coherent functions and program checkers, Proc. 22nd ACM Symposium on Theory of Computing, pages 84-94, 1990.

Cited By

View all
  • (2024)Memory Checking Requires Logarithmic OverheadProceedings of the 56th Annual ACM Symposium on Theory of Computing10.1145/3618260.3649686(1712-1723)Online publication date: 10-Jun-2024
  • (2023)The Locality of Memory CheckingProceedings of the 2023 ACM SIGSAC Conference on Computer and Communications Security10.1145/3576915.3623195(1820-1834)Online publication date: 15-Nov-2023
  • (2023)Fiat-Shamir Security of FRI and Related SNARKsAdvances in Cryptology – ASIACRYPT 202310.1007/978-981-99-8724-5_1(3-40)Online publication date: 4-Dec-2023
  • Show More Cited By

Index Terms

  1. Checking the correctness of memories
        Index terms have been assigned to the content through auto-classification.

        Recommendations

        Comments

        Information & Contributors

        Information

        Published In

        cover image Algorithmica
        Algorithmica  Volume 12, Issue 2-3
        September 1994
        176 pages

        Publisher

        Springer-Verlag

        Berlin, Heidelberg

        Publication History

        Published: 01 September 1994

        Author Tags

        1. Data structure
        2. Hashing
        3. Program checking
        4. Queue
        5. RAM
        6. Stack

        Qualifiers

        • Article

        Contributors

        Other Metrics

        Bibliometrics & Citations

        Bibliometrics

        Article Metrics

        • Downloads (Last 12 months)0
        • Downloads (Last 6 weeks)0
        Reflects downloads up to 16 Oct 2024

        Other Metrics

        Citations

        Cited By

        View all
        • (2024)Memory Checking Requires Logarithmic OverheadProceedings of the 56th Annual ACM Symposium on Theory of Computing10.1145/3618260.3649686(1712-1723)Online publication date: 10-Jun-2024
        • (2023)The Locality of Memory CheckingProceedings of the 2023 ACM SIGSAC Conference on Computer and Communications Security10.1145/3576915.3623195(1820-1834)Online publication date: 15-Nov-2023
        • (2023)Fiat-Shamir Security of FRI and Related SNARKsAdvances in Cryptology – ASIACRYPT 202310.1007/978-981-99-8724-5_1(3-40)Online publication date: 4-Dec-2023
        • (2022)Certificateless Reliable and Privacy-Preserving Auditing of Group Shared Data for FOG-CPSsSecurity and Communication Networks10.1155/2022/67059482022Online publication date: 1-Jan-2022
        • (2022)Blockchain-Based Proof of Retrievability SchemeSecurity and Communication Networks10.1155/2022/31861122022Online publication date: 1-Jan-2022
        • (2022)Multi-level caching and data verification based on ethereum blockchainWireless Networks10.1007/s11276-022-03151-129:2(713-727)Online publication date: 23-Oct-2022
        • (2021)Audit Outsourced Data in Internet of ThingsSecurity and Communication Networks10.1155/2021/66621352021Online publication date: 1-Jan-2021
        • (2021)SnarlProceedings of the 22nd International Middleware Conference10.1145/3464298.3493397(236-247)Online publication date: 6-Dec-2021
        • (2021)Zero Knowledge Static Program AnalysisProceedings of the 2021 ACM SIGSAC Conference on Computer and Communications Security10.1145/3460120.3484795(2951-2967)Online publication date: 12-Nov-2021
        • (2021)Survey and a New Taxonomy of Proofs of Retrievability on the Cloud StorageProceedings of the 4th International Conference on Networking, Information Systems & Security10.1145/3454127.3457629(1-8)Online publication date: 1-Apr-2021
        • Show More Cited By

        View Options

        View options

        Get Access

        Login options

        Media

        Figures

        Other

        Tables

        Share

        Share

        Share this Publication link

        Share on social media