Use este identificador para citar ou linkar para este item:
http://repositorio.utfpr.edu.br/jspui/handle/1/37285
Registro completo de metadados
Campo DC | Valor | Idioma |
---|---|---|
dc.creator | Rosa, Ana Carla Quallio | - |
dc.date.accessioned | 2025-06-30T20:36:08Z | - |
dc.date.available | 2025-06-30T20:36:08Z | - |
dc.date.issued | 2025-02-17 | - |
dc.identifier.citation | ROSA, Ana Carla Quallio. Avaliação de diferentes implementações do sistema de criptografia RSA. 2025. Trabalho de Conclusão de Curso (Bacharelado em Ciência da Computação) – Universidade Tecnológica Federal do Paraná, Campo Mourão, 2025. | pt_BR |
dc.identifier.uri | http://repositorio.utfpr.edu.br/jspui/handle/1/37285 | - |
dc.description.abstract | With the increasing flow of information between different devices, encryption systems have become essential to ensure data authenticity, confidentiality, and integrity. A common approach is asymmetric encryption, which uses two keys: one for encrypting messages and another for decrypting them. In this context, the RSA algorithm emerges as one of the most widely adopted encryption systems. This study aims to evaluate RSA implementations, investigating the impact of adopting different approaches, including selecting libraries within the same programming language and using various programming languages. Experiments were conducted in C, C++, Java, JavaScript, Python, and Rust, using two libraries per language: OpenSSL and Libgcrypt (C), Botan and Crypto++ (C++), Bouncy Castle and Java Crypto (Java), Forge and Crypto (JavaScript), Cryptography and PyCryptodome (Python), and Rust OpenSSL and Rust Crypto (Rust). The analysis of average execution times demonstrated that Rust, C, and Python achieved the best performance in encryption and decryption processes, mainly due to their implementations’ use of OpenSSL as the foundation. Regarding key generation, C++ and Python obtained the shortest average times for 2048 and 4096-bit keys. Additionally, an analysis of confidential data storage structures revealed similar patterns used to store private keys across the studied languages. Finally, a memory dump analysis exposed fragments of private keys in various libraries. In the case of JavaScript, it was possible to recover the private key entirely in both tested implementations, highlighting a vulnerability that could compromise system security if an attacker gains access to the program’s core dump. The results provide a basis for selecting RSA implementations, considering performance and security. | pt_BR |
dc.language | por | pt_BR |
dc.publisher | Universidade Tecnológica Federal do Paraná | pt_BR |
dc.rights | openAccess | pt_BR |
dc.rights | Attribution 4.0 International | * |
dc.rights.uri | http://creativecommons.org/licenses/by/4.0/ | * |
dc.subject | Linguagem de programação (Computadores) | pt_BR |
dc.subject | Criptografia de dados (Computação) | pt_BR |
dc.subject | Proteção de dados | pt_BR |
dc.subject | Programming languages (Electronic computers) | pt_BR |
dc.subject | Data encryption (Computer science) | pt_BR |
dc.subject | Data protection | pt_BR |
dc.title | Avaliação de diferentes implementações do sistema de criptografia RSA | pt_BR |
dc.title.alternative | Evaluation of different implementations of the RSA encryption system | pt_BR |
dc.type | bachelorThesis | pt_BR |
dc.description.resumo | Com o aumento do fluxo de informações entre diferentes dispositivos, os sistemas de criptografia tornaram-se essenciais para garantir a autenticidade, confidencialidade e a integridade dos dados. Uma abordagem comum é a criptografia assimétrica, que utiliza duas chaves: uma para cifrar mensagens e outra para decifrá-las. Nesse contexto, o algoritmo RSA emerge como um dos sistemas mais amplamente adotados nessa abordagem de criptografia. Este trabalho tem como objetivo conduzir uma avaliação das implementações do RSA, investigando o impacto da adoção de diferentes abordagens, incluindo a seleção de bibliotecas em uma mesma linguagem, e a utilização de linguagens de programação distintas. Os experimentos foram conduzidos em C, C++, Java, JavaScript, Python e Rust, utilizando duas bibliotecas por linguagem: OpenSSL e Libgcrypt (C), Botan e Crypto++ (C++), Bouncy Castle e Java Crypto (Java), Forge e Crypto (JavaScript), Cryptography e PyCryptodome (Python), além de Rust OpenSSL e Rust Crypto (Rust). A análise dos tempos médios de execução demonstrou que Rust, C e Python apresentaram o melhor desempenho nos processos de cifração e decifração, principalmente devido ao uso do OpenSSL como base de suas implementações. Quanto à geração de chaves, C++ e Python obtiveram os menores tempos médios para chaves de 2048 e 4096 bits. Além disso, foi conduzida uma análise das estruturas de armazenamento de informações confidenciais, revelando similaridades nos padrões utilizados para armazenar chaves privadas entre as linguagens selecionadas. Por fim, a análise de despejo de memória revelou a presença de fragmentos da chave privada em diversas bibliotecas. No caso do JavaScript, foi possível recuperar a chave integralmente nas duas bibliotecas, evidenciando uma vulnerabilidade que pode comprometer a segurança do sistema caso um atacante obtenha acesso ao despejo de memória do programa. Os resultados obtidos fornecem uma base para a escolha de implementações do RSA, considerando tanto desempenho quanto segurança. | pt_BR |
dc.degree.local | Campo Mourão | pt_BR |
dc.publisher.local | Campo Mourao | pt_BR |
dc.contributor.advisor1 | Campiolo, Rodrigo | - |
dc.contributor.referee1 | Campiolo, Rodrigo | - |
dc.contributor.referee2 | Santos, Luiz Arthur Feitosa dos | - |
dc.contributor.referee3 | Gonçalves, Rogério Aparecido | - |
dc.contributor.referee4 | Corrêa, Wellington José | - |
dc.publisher.country | Brasil | pt_BR |
dc.publisher.department | Departamento Acadêmico de Computação | pt_BR |
dc.publisher.program | Ciência da Computação | pt_BR |
dc.publisher.initials | UTFPR | pt_BR |
dc.subject.cnpq | CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO | pt_BR |
Aparece nas coleções: | CM - Ciência da Computação |
Arquivos associados a este item:
Arquivo | Descrição | Tamanho | Formato | |
---|---|---|---|---|
avaliacaoimplementacoessistemascriptografia.pdf | 1,79 MB | Adobe PDF | ![]() Visualizar/Abrir |
Este item está licenciada sob uma Licença Creative Commons