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: "J. Cryptology" 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: "Proceedings of the 2009 ACM SIGPLAN Symposium on Partial Evaluation and Semantics-based Program Manipulation, PEPM 2009, Savannah, GA, USA, January 19-20, 2009" editor: - name: "Germán Puebla" link: "https://researchr.org/alias/germ%C3%A1n-puebla" - name: "Germán Vidal" link: "http://users.dsic.upv.es/~gvidal/" publisher: "ACM" isbn: "978-1-60558-327-3" 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: "Tenth IEEE International Symposium on Wearable Computers (ISWC 2006), 11-14 October 2006, Montreux, Switzerland" publisher: "IEEE" 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: "Generative Programming and Component Engineering, 4th International Conference, GPCE 2005" editor: - name: "Robert Glück" link: "http://www.diku.dk/hjemmesider/ansatte/glueck/" - name: "Michael R. Lowry" link: "https://researchr.org/alias/michael-r.-lowry" volume: "3676" series: "Lecture Notes in Computer Science" address: "Tallinn, Estonia" publisher: "Springer" isbn: "3-540-29138-5" 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: "Cryptography and Coding, 11th IMA International Conference, Cirencester, UK, December 18-20, 2007, Proceedings" editor: - name: "Steven D. Galbraith" link: "https://researchr.org/alias/steven-d.-galbraith" volume: "4887" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-540-77271-2" 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: "On the Move to Meaningful Internet Systems 2007: CoopIS, DOA, ODBASE, GADA, and IS, OTM Confederated International Conferences CoopIS, DOA, ODBASE, GADA, and IS 2007, Vilamoura, Portugal, November 25-30, 2007, Proceedings, Part II" editor: - name: "Robert Meersman" link: "https://researchr.org/alias/robert-meersman" - name: "Zahir Tari" link: "https://researchr.org/alias/zahir-tari" volume: "4804" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-540-76835-7" 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: "Information Security, 5th International Conference, ISC 2002 Sao Paulo, Brazil, September 30 - October 2, 2002, Proceedings" editor: - name: "Agnes Hui Chan" link: "https://researchr.org/alias/agnes-hui-chan" - name: "Virgil D. Gligor" link: "https://researchr.org/alias/virgil-d.-gligor" volume: "2433" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-44270-7" 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: "Symposium on Designing Interactive Systems" 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: "Proceedings of the ACM SIGPLAN 2010 Workshop on Partial Evaluation and Program Manipulation" editor: - name: "John P. Gallagher" link: "http://akira.ruc.dk/~jpg/" - name: "Janis Voigtländer" link: "http://www.iai.uni-bonn.de/~jv/" publisher: "ACM" kind: "inproceedings" key: "Moss:PEPM:2010"