Linguagens de domínio específico para software criptográfico

Detalhes bibliográficos
Autor(a) principal: Miranda, Luís Paulo Ferreira
Data de Publicação: 2012
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/1822/27795
Resumo: Dissertação de mestrado em Engenharia de Informática
id RCAP_90c2ee592465bc6f0e99572ea20191d6
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/27795
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Linguagens de domínio específico para software criptográfico681.3.062681.3-7Dissertação de mestrado em Engenharia de InformáticaA criptografia desempenha um papel importante na nossa sociedade, visto que é utilizada em sistemas de computação designados como críticos, que têm que funcionar mesmo na presença de erros. Áreas como os sistemas bancários ou de saúde usam software e hardware, que têm que funcionar em todas as circunstâncias. O principal objetivo para o uso de criptografia nesses sistemas, é o de garantir a segurança da informação, que em muitos casos é sensível. Nos últimos anos, foram surgindo linguagens de programação que se focam num domínio específico, chamadas de linguagens de domínio específico (DSLs). No domínio da criptografia, apareceram as linguagens Cryptol e CAO, ambas ambicionando aumentar a produtividade dos programadores, mas também aumentar a comunicação entre estes e os especialistas do domínio. O Cryptol é uma linguagem funcional e tem um conjunto de ferramentas associadas, compostas por um conjunto de ferramentas de verificação e de compilação para linguagens como C ou VHDL, que é uma linguagem descritiva de hardware. O CAO é uma linguagem imperativa, com uma sintaxe idêntica à do C, e tem também um conjunto de ferramentas associado, que permite a introdução de operações de alto nível na linguagem, por exemplo. Neste trabalho, essas duas linguagens foram abordadas, em particular as suas funcionalidades, e como podem ser usadas para implementar um algoritmo através da sua especificação. Além disso, foi desenvolvida uma ferramenta de compilação que pretende transformar código fonte CAO em código Cryptol, de forma a compilá-lo para VHDL posteriormente. Por fim, um caso de estudo que foca curvas elípticas para criptografia, foi utilizado para comparar as duas DSLs e também para testar a ferramenta desenvolvida.Cryptography plays an important role in our society, essentially because it is used in critical computer systems that must work properly, even in the face of errors or human mistakes. Banking or health care are examples of areas which use hardware and software that must work in every situation. The main goal of the use of cryptography in those systems is to achieve information security, which in most cases is sensitive. In the last few years, programming languages that focus on a particular domain emerged, denominated as Domain-specific Languages (DSLs). Two DSLs for cryptography appeared, Cryptol and CAO, both aiming to increase the productivity of developers, but also to improve the communication between them and domain experts. Cryptol is a functional language and has an associated toolkit composed by a verification suite and compilation back ends to languages such as C or VHDL (a hardware description language). CAO is an imperative language, with a syntax similar to C’s and also has an associated toolkit with tools that allows, for instance, the introduction of higher-order operations into the language. In this work, these two DSLs for cryptography will be analysed, focusing on its features and how they can re-target a published algorithm into a specific implementation. Furthermore, it was developed a compiler tool that aims to translate CAO source code into Cryptol, in order to compile it afterwards to VHDL. Finally, a case study focusing on elliptic curve cryptography, was used to compare the two DSLs and to test the developed tool.Almeida, José BacelarUniversidade do MinhoMiranda, Luís Paulo Ferreira2012-04-262012-04-26T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/1822/27795porinfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-07-21T12:10:14Zoai:repositorium.sdum.uminho.pt:1822/27795Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T19:01:49.423151Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Linguagens de domínio específico para software criptográfico
title Linguagens de domínio específico para software criptográfico
spellingShingle Linguagens de domínio específico para software criptográfico
Miranda, Luís Paulo Ferreira
681.3.062
681.3-7
title_short Linguagens de domínio específico para software criptográfico
title_full Linguagens de domínio específico para software criptográfico
title_fullStr Linguagens de domínio específico para software criptográfico
title_full_unstemmed Linguagens de domínio específico para software criptográfico
title_sort Linguagens de domínio específico para software criptográfico
author Miranda, Luís Paulo Ferreira
author_facet Miranda, Luís Paulo Ferreira
author_role author
dc.contributor.none.fl_str_mv Almeida, José Bacelar
Universidade do Minho
dc.contributor.author.fl_str_mv Miranda, Luís Paulo Ferreira
dc.subject.por.fl_str_mv 681.3.062
681.3-7
topic 681.3.062
681.3-7
description Dissertação de mestrado em Engenharia de Informática
publishDate 2012
dc.date.none.fl_str_mv 2012-04-26
2012-04-26T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/1822/27795
url http://hdl.handle.net/1822/27795
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799132418021523456