publications: - title: "Constructive and Destructive Use of Compilers in Elliptic Curve Cryptography" author: - name: "Manuel Bernardo Barbosa" link: "http://www.di.uminho.pt/~mbb/" - name: "Andrew Moss" link: "http://www.cs.bris.ac.uk/home/moss/" - name: "Dan Page" link: "http://www.cs.bris.ac.uk/home/page/" year: "2009" doi: "http://dx.doi.org/10.1007/s00145-008-9023-0" abstract: "Although cryptographic software implementation is often performed by expert programmers, the range of performance and security driven options, as well as more mundane software engineering issues, still make it a challenge. The use of domain specific language and compiler techniques to assist in description and optimisation of cryptographic software is an interesting research challenge. In this paper we investigate two aspects of such techniques, focusing on Elliptic Curve Cryptography (ECC) in particular. Our constructive results show that a suitable language allows description of ECC based software in a manner close to the original mathematics; the corresponding compiler allows automatic production of an executable whose performance is competitive with that of a hand-optimised implementation. In contrast, we study the worrying potential for naïve compiler driven optimisation to render cryptographic software insecure. Both aspects of our work are set within the context of CACE, an ongoing EU funded project on this general topic." links: doi: "http://dx.doi.org/10.1007/s00145-008-9023-0" tags: - "rule-based" - "ECC" - "language engineering" - "software language engineering" - "software engineering" - "model-driven engineering" - "cryptography" - "compiler cryptography ECC" - "security" - "compiler" - "context-aware" - "domain-specific language" researchr: "https://researchr.org/publication/BarbosaMP09" cites: 0 citedby: 0 journal: "joc" volume: "22" number: "2" pages: "259-281" kind: "article" key: "BarbosaMP09" - title: "Program interpolation" author: - name: "Andrew Moss" link: "http://www.cs.bris.ac.uk/home/moss/" - name: "Dan Page" link: "http://www.cs.bris.ac.uk/home/page/" year: "2009" doi: "http://doi.acm.org/10.1145/1480945.1480951" abstract: "Program interpolation is a new type of transformation that given an input program written in a specially constructed Domain Specific Language (DSL), produces a family of functionally equivalent instruction sequences as output. Each sequence is an \"interpolation\" between the control-flows of implementation strategies supplied in the input program. The purpose of the transformation is to expose behavioural differences (e.g. performance) within the sequences, and thus allow automated optimisation with respect to architectural trade-offs that are difficult to quantify and model. We present results from a prototype compiler that demonstrate a 63% speedup in the domain of multi-precision integer arithmetic." links: doi: "http://doi.acm.org/10.1145/1480945.1480951" "bristol publication db": "http://www.cs.bris.ac.uk/Publications/pub_master.jsp?id=2000979" tags: - "programming languages" - "model-to-model transformation" - "meta programming" - "data-flow language" - "meta-model" - "modeling language" - "instruction scheduling" - "transformation language" - "program optimisation" - "architecture" - "language modeling" - "functional programming" - "data-flow programming" - "data-flow" - "source-to-source" - "compiler" - "model transformation" - "DSL" - "programming" - "Meta-Environment" - "dynamic feedback" - "transformation" - "program transformation" - "domain-specific language" researchr: "https://researchr.org/publication/MossP09" cites: 0 citedby: 0 pages: "31-40" booktitle: "PEPM" kind: "inproceedings" key: "MossP09" - title: "A 10mW Wearable Positioning System" author: - name: "Henk L. Muller" link: "http://www.cs.bris.ac.uk/home/henkm" - name: "Cliff Randell" link: "https://researchr.org/alias/cliff-randell" - name: "Andrew Moss" link: "http://www.cs.bris.ac.uk/home/moss/" year: "2006" doi: "http://dx.doi.org/10.1109/ISWC.2006.286341" links: doi: "http://dx.doi.org/10.1109/ISWC.2006.286341" tags: - "ultrasonics" researchr: "https://researchr.org/publication/MullerRM06" cites: 0 citedby: 0 pages: "47-50" booktitle: "iiswc" kind: "inproceedings" key: "MullerRM06" - title: "Efficient Code Generation for a Domain Specific Language" author: - name: "Andrew Moss" link: "http://www.cs.bris.ac.uk/home/moss/" - name: "Henk L. Muller" link: "http://www.cs.bris.ac.uk/home/henkm" year: "2005" doi: "http://dx.doi.org/10.1007/11561347_5" links: doi: "http://dx.doi.org/10.1007/11561347_5" tags: - "code generation" - "domain-specific language" researchr: "https://researchr.org/publication/MossM05" cites: 0 citedby: 0 pages: "47-62" booktitle: "GPCE" kind: "inproceedings" key: "MossM05" - title: "Toward Acceleration of RSA Using 3D Graphics Hardware" author: - name: "Andrew Moss" link: "http://www.cs.bris.ac.uk/home/moss/" - name: "Dan Page" link: "http://www.cs.bris.ac.uk/home/page/" - name: "Nigel P. Smart" link: "https://researchr.org/alias/nigel-p.-smart" year: "2007" doi: "http://dx.doi.org/10.1007/978-3-540-77272-9_22" links: doi: "http://dx.doi.org/10.1007/978-3-540-77272-9_22" researchr: "https://researchr.org/publication/MossPS07" cites: 0 citedby: 0 pages: "364-383" booktitle: "ima" kind: "inproceedings" key: "MossPS07" - title: "Compiler Assisted Elliptic Curve Cryptography" author: - name: "Manuel Barbosa" link: "https://researchr.org/alias/manuel-barbosa" - name: "Andrew Moss" link: "http://www.cs.bris.ac.uk/home/moss/" - name: "Dan Page" link: "http://www.cs.bris.ac.uk/home/page/" year: "2007" doi: "http://dx.doi.org/10.1007/978-3-540-76843-2_46" links: doi: "http://dx.doi.org/10.1007/978-3-540-76843-2_46" tags: - "compiler" researchr: "https://researchr.org/publication/BarbosaMP07" cites: 0 citedby: 0 pages: "1785-1802" booktitle: "otm" kind: "inproceedings" key: "BarbosaMP07" - title: "Certification of Public Keys within an Identity Based System" author: - name: "L. Chen" link: "https://researchr.org/alias/l.-chen" - name: "Keith Harrison" link: "https://researchr.org/alias/keith-harrison" - name: "Andrew Moss" link: "http://www.cs.bris.ac.uk/home/moss/" - name: "David Soldera" link: "https://researchr.org/alias/david-soldera" - name: "Nigel P. Smart" link: "https://researchr.org/alias/nigel-p.-smart" year: "2002" doi: "http://link.springer.de/link/service/series/0558/bibs/2433/24330322.htm" links: doi: "http://link.springer.de/link/service/series/0558/bibs/2433/24330322.htm" tags: - "rule-based" - "certification" researchr: "https://researchr.org/publication/ChenHMSS02" cites: 0 citedby: 0 pages: "322-333" booktitle: "iiswc" kind: "inproceedings" key: "ChenHMSS02" - title: "Things aren t what they seem to be: innovation through technology inspiration" author: - name: "Yvonne Rogers" link: "https://researchr.org/alias/yvonne-rogers" - name: "Michael Scaife" link: "https://researchr.org/alias/michael-scaife" - name: "Eric Harris" link: "https://researchr.org/alias/eric-harris" - name: "Ted Phelps" link: "https://researchr.org/alias/ted-phelps" - name: "Sara Price" link: "https://researchr.org/alias/sara-price" - name: "Hilary Smith" link: "https://researchr.org/alias/hilary-smith" - name: "Henk L. Muller" link: "http://www.cs.bris.ac.uk/home/henkm" - name: "Cliff Randell" link: "https://researchr.org/alias/cliff-randell" - name: "Andrew Moss" link: "http://www.cs.bris.ac.uk/home/moss/" - name: "Ian Taylor" link: "https://researchr.org/alias/ian-taylor" - name: "Danae Stanton" link: "https://researchr.org/alias/danae-stanton" - name: "Claire O Malley" link: "https://researchr.org/alias/claire-o-malley" - name: "Greta Corke" link: "https://researchr.org/alias/greta-corke" - name: "Silvia Gabrielli" link: "https://researchr.org/alias/silvia-gabrielli" year: "2002" doi: "http://doi.acm.org/10.1145/778712.778766" links: doi: "http://doi.acm.org/10.1145/778712.778766" researchr: "https://researchr.org/publication/RogersSHPPSMRMTSOCG02" cites: 0 citedby: 0 pages: "373-378" booktitle: "ACMdis" kind: "inproceedings" key: "RogersSHPPSMRMTSOCG02" - title: "Bridging the Gap Between Symbolic and Efficient AES Implementations" author: - name: "Andrew Moss" link: "http://www.cs.bris.ac.uk/home/moss/" - name: "Dan Page" link: "http://www.cs.bris.ac.uk/home/page/" 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." tags: - "programming languages" - "model-to-model transformation" - "memoisation" - "data-flow language" - "transformation language" - "data-flow programming" - "data-flow" - "source-to-source" - "cryptography" - "AES" - "compiler" - "model transformation" - "systematic-approach" - "open-source" - "transformation" - "program transformation" researchr: "https://researchr.org/publication/Moss%3APEPM%3A2010" cites: 0 citedby: 0 booktitle: "PEPM" kind: "inproceedings" key: "Moss:PEPM:2010"