Cryptology ePrint Archive: Report 2019/423

Chaotic Compilation for Encrypted Computing: Obfuscation but Not in Name

Peter T. Breuer

Abstract: An `obfuscation' for the encrypted computing context is quantified exactly here, leading to an argument that security against polynomial-time attacks has been achieved for user data, with or without encryption. Encrypted computing is the emerging science and technology of processors that take encrypted inputs to encrypted outputs via encrypted intermediate values (at nearly conventional speeds). The aim is to make user data in general-purpose computing secure against the operator and operating system as potential adversaries. A stumbling block has always been that memory addresses are data and good encryption means the encrypted value varies randomly,and that makes hitting any target in memory problematic without address decryption, but decryption anywhere on the memory path would open up many easily exploitable vulnerabilities. This paper `solves compilation' for processors without address decryption, covering all of ANSI C while satisfying the required security properties and opening up encrypted computing for the standard software tool-chain and infrastructure. The new understanding produces the argument referred to above.

Category / Keywords: applications / Encrypted computing, Compilers, Obfuscation, Data Security

Date: received 24 Apr 2019, last revised 27 Apr 2019

Contact author: Peter T Breuer at gmail com

Available format(s): PDF | BibTeX Citation

Version: 20190427:184523 (All versions of this report)

Short URL: ia.cr/2019/423


[ Cryptology ePrint archive ]