Title: | Emprego de técnicas de sistemas numéricos na otimização algorítmica da exponenciação modular aplicada à criptografia tradicional: hardware/software |
Author: | Bairros, Fábio de Araújo |
Abstract: |
A presente pesquisa objetivou abranger análises dos tempos de resposta algorítmica da exponenciação modular confrontando módulos que apresentam congruências, aqui denominados de auxiliar e original. Além de atuar na exploração de soluções para aritmética em hardware com ações para reduzir o custo e tempo de resposta na multiplicação de variável por variável, emprego dos módulos auxiliares na aritmética modular (multiplicação por constantes e exponenciação modular) e realocação das constantes reversas (vetores) nas operações de conversão entre sistemas numéricos, utilizando um sistema de representação numérica baseado no resíduo, conhecido como RNS (Residual Number System). Para isso, lançou-se mão de ferramentas e técnicas computacionais na medição de tempo, apoiadas nas linguagens computacionais de alto nível como Python, Java e Go Lang. Diante dos resultados obtidos, detentores de relativa robustez a partir de um determinado grau do expoente, conclui-se que há lacunas para exploração desta abordagem e cuja contribuição futura atinge o desenvolvimento de bibliotecas e/ou funções em software, bem como arranjos dos núcleos da aritmética de hardware em arquiteturas já consagradas. Abstract: The present research aimed to cover analyzes of the algorithmic response times of modular exponentiation comparing modules that present congruence, here called auxiliary and original. In addition to working on the exploration of solutions for arithmetic in hardware with actions to reduce the cost and response time in multiplying variable by variable, use of auxiliary modules in modular arithmetic (multiplication by constants and modular exponentiation) and reallocation of reverse constants (vectors) in conversion operations between number systems, using a numerical representation system based on the residue, known as RNS (Residual Number System). To achieve this, computational tools and techniques were used to measure time based on high-level computer languages such as Python, Java and Go Lang. Given the results obtained, which have relative robustness from a certain degree of the exponent, it is concluded that there are gaps in the exploration of this approach and whose future contribution reaches the development of libraries and/or functions, at the software level, as well as arrangements in hardware arithmetic cores within already established architectures. |
Description: | Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Engenharia Elétrica, Florianópolis, 2024. |
URI: | https://repositorio.ufsc.br/handle/123456789/263446 |
Date: | 2024 |
Files | Size | Format | View |
---|---|---|---|
PEEL2204-D.pdf | 2.872Mb |
View/ |