Document Actions
CACE
Computer aided cryptographic engineering
The Computer Aided Cryptography Engineering (CACE) project aimed at developing a toolbox to support the production of high quality cryptographic software.
Development of hardware devices and software products is facilitated by a design flow, and a set of tools (e.g., compilers and debuggers), which automate tasks normally performed by experienced, highly skilled developers. However, in both hardware and software examples the tools are generic since they seldom provide specific support for a particular domain.
The goal of this project was to design, develop and deploy a toolbox that would support the specific domain of cryptographic software engineering. Ordinarily, development of cryptographic software is a huge challenge: security and trust is mission critical and modern applications processing sensitive data typically require the deployment of sophisticated cryptographic techniques. The toolbox allows non-experts to develop high-level cryptographic applications and business models by means of cryptography-aware high-level programming languages and compilers. The description of such applications in this way allows automatic analysis and transformation of cryptographic software to detect security critical implementation failures, e.g., software and hardware based side-channel attacks, when realising low level cryptographic primitives and protocols.
Ultimately, the end result was better quality, more robust software at much lower cost; this provides both a clear economic benefit to the European industry in the short term, and positions it better in dealing with any future roadblocks to ICT development in the longer term.
Starting Date: January 1, 2008
Project team: Manuel Bernardo Barbosa and José Bacelar Almeida
Project Website: CACE