@booklet {DI-CCTC-11-01, title = {Type Checking Cryptography Implementations}, number = {DI-CCTC-11-01}, year = {2011}, month = {February}, publisher = {CCTC, Departamento de Inform{\'a}tica, Universidade do Minho}, address = {Braga}, abstract = {

Cryptographic software development is a challenging field: high performance must be achieved, while ensuring correctness and compliance with low-level security policies. CAO is a domain specific language designed to assist development of cryptographic software. An important feature of this language is the design of a novel type system introducing native types such as predefined sized vectors, matrices and bit strings, residue classes modulo an integer, finite fields and finite field extensions, allowing for extensive static validation of source code. We present the formalisation, validation and implementation of this type system.

}, issn = {DI-CCTC-11-01}, url = {http://cctc.uminho.pt/publications/pub-2011-001}, attachments = {https://haslab.uminho.pt/sites/default/files/pfsilva/files/di-cctc-11-01.pdf}, author = {Manuel Bernardo Barbosa and Andrew Moss and Dan Page and Nuno Rodrigues and Paulo Silva} }