Cryptology ePrint Archive: Report 2019/301

Safe Compilation for Encrypted Computing

Peter T. Breuer and Simon Pickin

Abstract: Encrypted computing is an emerging field in which inputs, outputs and intermediates are maintained in encrypted form in a processor, conferring security on user data against the operator and operating system as adversaries, which run unencrypted in the same machine. Systems that pass encrypted addresses to memory without decryption close a major attack vector and allow off-the-shelf memory to be used. But that makes memory unreliable from the program's perspective, as the many different encryptions of a plaintext address access different memory locations that the program sees as the same with varying contents. A clever `obfuscating' compiler solves the problem, opening up the field.

Category / Keywords: applications / Encrypted computing, compilers, obfuscation

Original Publication (with major differences): 1st Annual International Workshop on Software Hardware Interaction Faults (SHIFT'19) at IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW'19)
DOI:
10.1109/ISSREW.2019.00105

Date: received 15 Mar 2019, last revised 27 Oct 2019

Contact author: Peter T Breuer at gmail com

Available format(s): PDF | BibTeX Citation

Note: The first half of the original paper, dealing with encrypted computing as a hardware aliasing problem for software compilation, has been extensively revised and published as "Safe Compilation for Hidden Deterministic Hardware Aliasing" in Proc. 1st Annual International Workshop on Software Hardware Interaction Faults (SHIFT'19), IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW'19), Berlin, Oct. 2019, available from the IEEE via the DOI 10.1109/ISSREW.2019.00105.

Version: 20191028:053441 (All versions of this report)

Short URL: ia.cr/2019/301


[ Cryptology ePrint archive ]