An Efficient Software Protection Scheme
暂无分享,去创建一个
In 1979 Pippenger and Fischer [PF] showed how a two-tape Turing Machine whose head positions (as a function of time) are independent of the input, can simulate, on-line, a one-tape Turing Machine with a logarithmic slowdown in the running time. We show a similar result for random-access machine (RAM) model of computation. In particular, we show how to do an on-line simulation of arbitrary RAM program by probabilistic RAM whose memory access pattern is independent of the program which is being executed with a poly-logarithmic slowdown in the running time.A main application of our result concerns software protection, one of the most important issues in computer practice. A theoretical formulation of the problem for a generic one-processor, random-access machine (RAM) model of computation was given by Goldreich [G]. In this paper, we present a simple and an efficient software protection scheme for this model. In particular, we show how to protect any program at the cost of a poly-logarithmic slowdown in the running time of the protected program, previously conjectured to be impossible.
[1] Oded Goldreich,et al. Towards a theory of software protection and simulation by oblivious RAMs , 1987, STOC.
[2] Michael J. Fischer,et al. Relations Among Complexity Measures , 1979, JACM.