English

Chaotic Compilation for Encrypted Computing: Obfuscation but Not in Name

Cryptography and Security 2019-04-30 v2 Programming Languages

Abstract

An `obfuscation' for encrypted computing is quantified exactly here, leading to an argument that security against polynomial-time attacks has been achieved for user data via the deliberately `chaotic' compilation required for security properties in that environment. 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, yet decryption anywhere on the memory path would open up many easily exploitable vulnerabilities. This paper `solves (chaotic) compilation' for processors without address decryption, covering all of ANSI C while satisfying the required security properties and opening up the field for the standard software tool-chain and infrastructure. That produces the argument referred to above, which may also hold without encryption.

Keywords

Cite

@article{arxiv.1904.09429,
  title  = {Chaotic Compilation for Encrypted Computing: Obfuscation but Not in Name},
  author = {Peter T. Breuer},
  journal= {arXiv preprint arXiv:1904.09429},
  year   = {2019}
}

Comments

31 pages. Version update adds "Chaotic" in title and throughout paper, and recasts abstract and Intro and other sections of the text for better access by cryptologists. To the same end it introduces the polynomial time defense argument explicitly in the final section, having now set that denouement out in the abstract and intro

R2 v1 2026-06-23T08:45:18.189Z