An Obfuscating C Compiler for Encrypted Computing

Peter Breuer
DOI: https://doi.org/10.48550/arXiv.2112.13672
2021-12-27
Cryptography and Security
Abstract:This paper describes an `obfuscating' C compiler for encrypted computing. The context consists of (i) a processor that `works encrypted', taking in encrypted inputs and producing encrypted outputs while the data remains in encrypted form throughout processing, and (ii) machine codes that support arbitrary interpretations of the encrypted input and outputs from each instruction, as far as an adversary who does not know the encryption can tell. The compiler on each recompilation of the same source generates object code of the same form for which the runtime traces have the same form, but the data beneath the encryption may arbitrarily differ from nominal at each point in the trace, independently so far as the laws of computation allow.
What problem does this paper attempt to address?