We construct a compiler for this architecture which transforms any keyed primitive into a RAM program where the key is encoded and stored on the disk along with the program to evaluate the primitive on that key. Our compiler only assumes the existence of a so-called continuous non-malleable code, and it only needs black-box access to such a code. No further (cryptographic) assumptions are needed. This in particular means that given an information theoretic code, the overall construction is information theoretic secure.
Although it is required that the CPU is tamper and leakage proof, its design is independent of the actual primitive being computed and its internal storage is non-persistent, i.e., all secret registers are reset between invocations. Hence, our result can be interpreted as reducing the problem of shielding arbitrary complex computations to protecting a single, simple yet universal component.
Category / Keywords: tamper resistance, non-malleable codes Original Publication (with major differences): IACR-PKC-2015 Date: received 14 May 2014, last revised 19 Feb 2015 Contact author: danone83 at gmail com Available format(s): PDF | BibTeX Citation Version: 20150219:082838 (All versions of this report) Short URL: ia.cr/2014/338