Abstract
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.
An Erratum for this chapter can be found at http://dx.doi.org/10.1007/978-3-642-36563-8_16
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Breuer, P.T.: Encrypted Data Processing. Patent pending, UK Patent Office #GB1120531.7. UK (November 2011)
Breuer, P.T., Bowen, J.P.: Typed Assembler for a RISC Crypto-Processor. In: Barthe, G., Livshits, B., Scandariato, R. (eds.) ESSoS 2012. LNCS, vol. 7159, pp. 22–29. Springer, Heidelberg (2012)
Buchty, R., Heintze, N., Oliva, D.: Cryptonite – A Programmable Crypto Processor Architecture for High-Bandwidth Applications. In: Müller-Schloer, C., Ungerer, T., Bauer, B. (eds.) ARCS 2004. LNCS, vol. 2981, pp. 184–198. Springer, Heidelberg (2004)
Duc, G., Keryell, R.: An Efficient Secure Architecture with Memory Encryption, Integrity and Information Leakage Protection. In: ACSAC 2006, Proceedings of the 22nd Annual Computer Security Applications Conference, Miami Beach, FL, USA, pp. 483–492. IEEE Computer Society, Washington, DC (2006), ISBN:0-7695-2716-7, doi:10.1109/ACSAC.2006.21
Gentry, C.: Fully Homomorphic Encryption Using Ideal Lattices. In: Proc. 41st ACM Symposium on Theory of Computing, pp. 169–178. ACM (2009) doi: 10.1145/1536414.1536440, ISBN: 978-1-60558-506-2
Goldreich, O.: Towards a theory of software protection and simulation by oblivious RAMs. In: Proc. 19th ACM Symp. on Theory of Computing, pp. 182–194. ACM (1987), doi:10.1145/28395.28416, ISBN: 0-89791-221-7
Goldreich, O., Ostrovsky, R.: Software protection and simulation on oblivious RAMs. Journal of the ACM (JACM) 43(3), 431–473 (1996), doi:10.1145/233551.233553
MIPS Technologies Inc. MIPS32 4K Processor Core Family Software User’s Manual. MD00016. 1225 Charleston Road, Mountain View, CA 94043-1353 (January 2001)
Lie, D., et al.: Architectural support for copy and tamper resistant software. ACM SIGPLAN Notices 35(11), 168–177 (2000), doi:10.1145/356989.357005
Oliva, D., Buchty, R., Heintze, N.: AES and the cryptonite crypto processor. In: Proc. Intl. Conf. on Compilers, Architecture and Synthesis for Embedded Systems. ACM (2003), doi:10.1145/951710.951738
Patterson, D.A.: Reduced Instruction Set Computers. Communications of the ACM 28(1), 8–21 (1985)
Sagedy, C.: ECEC 490: Processor Design Project Page (December 2008), http://chris.sagedy.com/projects/ecec490_fa08/#encrypted
Schneier, B.: Description of a New Variable-Length Key, 64-Bit Block Cipher (Blowfish). In: Anderson, R. (ed.) FSE 1993. LNCS, vol. 809, pp. 191–204. Springer, Heidelberg (1994)
National Bureau of Standards. Data Encryption Standard. FIPS-Pub.46. U.S. Department of Commerce, Washington, D.C., USA (January 1977)
Sun, M.-C., et al.: Design of a scalable RSA and ECC crypto-processor. In: Proc. ASP-DAC 2003: Asia and South Pacific Design Automation Conf. ACM (2003), doi:10.1145/1119772.1119874
Zhuang, X., Zhang, T., Pande, S.: HIDE: an infrastructure for efficiently protecting information leackage on the address bus. In: Proc. 11th Intl. Conf. on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pp. 72–84. ACM Press (October 2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Breuer, P.T., Bowen, J.P. (2013). A Fully Homomorphic Crypto-Processor Design. In: Jürjens, J., Livshits, B., Scandariato, R. (eds) Engineering Secure Software and Systems. ESSoS 2013. Lecture Notes in Computer Science, vol 7781. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-36563-8_9
Download citation
DOI: https://doi.org/10.1007/978-3-642-36563-8_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-36562-1
Online ISBN: 978-3-642-36563-8
eBook Packages: Computer ScienceComputer Science (R0)