Typed assembler for a RISC crypto-processor

  • Authors:
  • Peter T. Breuer;Jonathan P. Bowen

  • Affiliations:
  • Department of Computer Science, University of Birmingham, UK;Faculty of Business, London South Bank University, UK

  • Venue:
  • ESSoS'12 Proceedings of the 4th international conference on Engineering Secure Software and Systems
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Our general purpose crypto-processor runs RISC machine code in an encrypted environment, reading encrypted inputs and generating encrypted outputs while maintaining data encrypted in memory. Its intended use is secure remote processing. However, program addresses are processed unencrypted, resulting in a mix of encrypted and unencrypted data in memory and registers at any time. An aspect of compiling for it is typing the assembler code to make sure that those instructions that expect encrypted data always get encrypted data at execution time, and those that expect unencrypted data get unencrypted data. A type inference system is specified here and transformed into an executable typing algorithm, such that a type-checked asembler program is guaranteed type-safe.