Utilize este link para identificar ou citar este item: https://bdm.unb.br/handle/10483/30752
Arquivos neste item:
Arquivo Descrição TamanhoFormato 
2021_LucasPenidoAntunes_tcc.pdf2,26 MBAdobe PDFver/abrir
Título: Implementação de módulo para geração e verificação de assinaturas digitais EdDSA
Autor(es): Antunes, Lucas Penido
Orientador(es): Fonseca, Tiago Alves da
Assunto: Assinatura digital
Criptografia de dados (Computação)
Chave pública
Data de apresentação: 4-Nov-2021
Data de publicação: 30-Mai-2022
Referência: ANTUNES, Lucas Penido. Implementação de módulo para geração e verificação de assinaturas digitais EdDSA. 2021. 82 f., il. Trabalho de conclusão de curso (Bacharelado em Engenharia de Software) — Universidade de Brasília, Brasília, 2021.
Resumo: Considerando a importância dos meios digitais e o grande número de atividades que as pessoas realizam por meio da internet, como pagar contas, realizar compras e transações online, acessar sites, entre outras, nada disso seria possível sem a utilização de assinaturas digitais. Com elas pode-se garantir a autoria de uma mensagem e que essa mensagem não foi alterada durante o momento em que é enviada pelo remetente até ser recebida pelo destinatário. Por exemplo, em uma transação online, pode-se garantir que nem o valor da transação, nem o destinatário foram alterados. E para ser possível a criação de assinaturas digitais, vários algorítimos foram criados e um deles, proposto inicialmente em 2011 e aprimorado posteriormente em 2015, é o algoritmo de assinatura digital da curva de Edwards, que utiliza curvas torcidas de Edwards. Por ser um algoritmo novo, ele ainda não foi implementado em algumas linguagens de programação, tornando seu uso impossibilitado por pessoas que desejam utilizá-lo em seus projetos. Uma dessas linguagens de programação que não possui muitas implementações é a Dart, uma linguagem cuja demanda tem crescido devido à possibilidade de criação de aplicações para web, mobile e desktop. Neste trabalho, propõe-se a implementação, na linguagem de programação Dart, dos algoritmos Ed448 e Ed521, os quais foram, respectivamente, utilizados nas Cadeias V6 e V7 da Infraestrutura de Chaves Públicas Brasileira. Dessa forma, serão elaboradas documentações detalhadas dos módulos para que futuros pesquisadores que queiram realizar trabalhos parecidos possam utilizá-los como um guia e assim facilitar a implementação do algoritmo em outras linguagens de programação. Ao finalizar a implementação em Dart, serão realizadas validações cruzadas de um algoritmo já implementado em Python de modo a certificar que os módulos foram implementados corretamente.
Abstract: Considering the importance of digital media and the large number of activities that people do through the internet, such as paying bills, making purchases and online transactions, accessing websites, and more, none of this would be possible without the use of digital signatures. With them, it is possible to guarantee the authorship of a message and that this message has not been altered during the moment it is sent by the sender until it is received by the recipient. For instance, in an online transaction, one can ensure that neither the transaction amount nor the recipient has been changed. And to make it possible to create digital signatures, several algorithms have been created and one of them, initially proposed in 2011 and later improved in 2015, is the Edwards curve digital signature algorithm, which uses Edwards twisted curves. As it is a new algorithm, it has not been implemented in some programming languages yet, making its use impossible for people who want to use it in their projects. One of those programming languages that doesn’t have many implementations is Dart, a language whose demand has grown due to the possibility of creating applications for web, mobile and desktop. In this work, it is proposed the implementation, in Dart programming language, of the Ed448 and Ed521 algorithms, which were used, respectively, in the V6 and V7 chains of Infraestrutura de Chaves Públicas Brasileira. In this way, the detailed documentation of the modules will be elaborated so that future researchers who want to carry out similar work can use them as a guide and thus facilitate the implementation of the algorithm in other programming languages. When finishing the Dart implementation, cross validations of an algorithm already implemented in Python will be performed in order to certify that the modules were implemented correctly.
Informações adicionais: Trabalho de conclusão de curso (graduação) — Universidade de Brasília, Faculdade UnB Gama, Engenharia de Software, 2021.
Licença: A concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor que autoriza a Biblioteca Digital da Produção Intelectual Discente da Universidade de Brasília (BDM) a disponibilizar o trabalho de conclusão de curso por meio do sítio bdm.unb.br, com as seguintes condições: disponível sob Licença Creative Commons 4.0 International, que permite copiar, distribuir e transmitir o trabalho, desde que seja citado o autor e licenciante. Não permite o uso para fins comerciais nem a adaptação desta.
Aparece na Coleção:Engenharia de Software



Todos os itens na BDM estão protegidos por copyright. Todos os direitos reservados.