Abstract
The Advanced Encryption Standard (AES) is a symmetric block cipher
used to encrypt data within many applications. As a result of its
standardisation, and subsequent widespread use, a vast range of
published techniques exist for efficient software implementations
on diverse platforms. The most efficient of these implementations
are written using very low-level approaches; platform dependent
assembly language is used to schedule instructions, and most of the
cipher is pre-computed into constant look-up tables. The need to
resort to such a low-level approach can be
interpreted as a failure to provide suitable high-level languages
to the cryptographic community. This paper investigates the language
features necessary to express AES more naturally (i.e., in a form
closer to the original specification) as a source program, and the
transformations necessary to produce efficient target programs in
an automatic and portable manner.
Original language | English |
---|---|
Title of host publication | Partial Evaluation and Program Manipulation - PEPM 2010 |
Publisher | Association for Computing Machinery (ACM) |
Pages | 101-110 |
Publication status | Published - 2010 |