A Fully Homomorphic Crypto-Processor Design

Correctness of a Secret Computer
  • Peter T. Breuer
  • Jonathan P. Bowen
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7781)


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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Breuer, P.T.: Encrypted Data Processing. Patent pending, UK Patent Office #GB1120531.7. UK (November 2011)Google Scholar
  2. 2.
    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)CrossRefGoogle Scholar
  3. 3.
    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)CrossRefGoogle Scholar
  4. 4.
    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.21Google Scholar
  5. 5.
    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 Google Scholar
  6. 6.
    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-7Google Scholar
  7. 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.233553MathSciNetMATHCrossRefGoogle Scholar
  8. 8.
    MIPS Technologies Inc. MIPS32 4K Processor Core Family Software User’s Manual. MD00016. 1225 Charleston Road, Mountain View, CA 94043-1353 (January 2001) Google Scholar
  9. 9.
    Lie, D., et al.: Architectural support for copy and tamper resistant software. ACM SIGPLAN Notices 35(11), 168–177 (2000), doi:10.1145/356989.357005CrossRefGoogle Scholar
  10. 10.
    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.951738Google Scholar
  11. 11.
    Patterson, D.A.: Reduced Instruction Set Computers. Communications of the ACM 28(1), 8–21 (1985)CrossRefGoogle Scholar
  12. 12.
    Sagedy, C.: ECEC 490: Processor Design Project Page (December 2008), http://chris.sagedy.com/projects/ecec490_fa08/#encrypted
  13. 13.
    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)CrossRefGoogle Scholar
  14. 14.
    National Bureau of Standards. Data Encryption Standard. FIPS-Pub.46. U.S. Department of Commerce, Washington, D.C., USA (January 1977) Google Scholar
  15. 15.
    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.1119874Google Scholar
  16. 16.
    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)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Peter T. Breuer
    • 1
  • Jonathan P. Bowen
    • 2
  1. 1.Department of Computer ScienceUniversity of BirminghamUK
  2. 2.Faculty of BusinessLondon South Bank UniversityUK

Personalised recommendations