Towards a theory of software protection and simulation by oblivious RAMs
STOC '87 Proceedings of the nineteenth annual ACM symposium on Theory of computing
Reduced instruction set computers
Communications of the ACM - Special section on computer architecture
Software protection and simulation on oblivious RAMs
Journal of the ACM (JACM)
Architectural support for copy and tamper resistant software
ACM SIGPLAN Notices
Description of a New Variable-Length Key, 64-bit Block Cipher (Blowfish)
Fast Software Encryption, Cambridge Security Workshop
AES and the cryptonite crypto processor
Proceedings of the 2003 international conference on Compilers, architecture and synthesis for embedded systems
HIDE: an infrastructure for efficiently protecting information leakage on the address bus
ASPLOS XI Proceedings of the 11th international conference on Architectural support for programming languages and operating systems
Design of a scalable RSA and ECC crypto-processor
ASP-DAC '03 Proceedings of the 2003 Asia and South Pacific Design Automation Conference
ACSAC '06 Proceedings of the 22nd Annual Computer Security Applications Conference
Fully homomorphic encryption using ideal lattices
Proceedings of the forty-first annual ACM symposium on Theory of computing
Typed assembler for a RISC crypto-processor
ESSoS'12 Proceedings of the 4th international conference on Engineering Secure Software and Systems
Hi-index | 0.00 |
A KPU is a replacement for a standard CPU that natively runs encrypted machine code on encrypted data in registers and memory --- a 'crypto-processor unit', in other words. Its computations are opaque to an observer with physical access to the processor but remain meaningful to the owner of the computation. In theory, a KPU can be run in simulation and remain as secure (or otherwise) as in hardware. Any block cipher with a block-size of about a word is compatible with this developing technology, the long-term aim of which is to make it safe to entrust data-oriented computation to a remote environment. Hardware is arranged in a KPU to make the chosen cipher behave as a mathematical homomorphism with respect to computer arithmetic. We describe the architecture formally here and show that 'type-safe' programs run correctly when encrypted.