Dissertação

{en_GB=Choosing the future of Lightweight Encryption algorithm } {} EVALUATED

{pt=A criptografia leve é um campo que tem vindo a crescer muito nos últimos anos, devido à explosão da Internet das Coisas (IoT). Esta tem como objetivo desenvolver algoritmos para operar com recursos limitados (memória, poder de processamento e energia). Esta tese tem como objetivo aprofundar o estado da arte, analisando e selecionando um conjunto de cifras leves, e otimizá-las, visando uma classe de processadores amplamente utilizado em IoT (ARM Cortex-M3). A análise realizada considera diferentes métricas como o tamanho do código, tempo de execução e consumo de energia. As cifras selecionadas foram AES, CLEFIA, NOEKEON, PRESENTE, RETANGULAR, RoadRunneR, SPARX e SPECK. Estas foram melhoradas utilizando técnicas como a otimização baseada em tabelas, bit-slicing e otimizações de código (por exemplo: reorganização de operações, inlining de funções, unrolling, etc.). A otimização baseada em tabelas melhorou a performance do AES e do CLEFIA em mais de 10x. Para o NOEKEON é proposta uma implementação que melhora a performance em 3.2x reduzindo o tamanho do código em 21%. A otimização proposta para o RECTANGLE é 1% mais rápida e 10% mais pequena que a versão otimizada em C dos seus autores. O SPARX é 2.72x mais rápido e 1% mais pequeno que a versão otimizada em C dos seus autores. A performance do SPECK foi melhorada em 1.4x, com um custo de 5% em tamanho de código. Finalmente, é também apresentada uma análise do consumo de energia das cifras com valores obtidos experimentalmente, algo que não se encontra no estado da arte., en=Lightweight Cryptography is a field that has been growing significantly in the recent years, mainly because of the explosion of the Internet of Things (IoT). It aims to develop algorithms that can operate under low resources (memory, processing power and energy). This thesis aims to complement the state of the art by analyzing and selecting a set of lightweight ciphers and optimize them, targeting a widely used processors in IoT (ARM Cortex-M3). The analysis considered different metrics like code size, execution time and energy consumption. The selected ciphers were AES, CLEFIA, NOEKEON, PRESENT, RECTANGLE, RoadRunneR, SPARX and SPECK. Their performance was improved using techniques like table-based, bit-slicing and code optimizations (e.g.: rearrange of operations, function inlining, unrolling, etc.). The table-based optimizations were able to speedup AES and CLEFIA execution time more than 10x. For NOEKEON, an optimization proposed speed up is performance by 3.2x. and reduces his code size in 21%. The proposed optimization of RECTANGLE reduces the execution time by 1% and the code size by 10% when compared to the optimized C version of the cipher’s authors. SPARX, execution time was speed up by 2.72x and the code size is 1% lower, in comparison to the optimized C version of the cipher’s authors. The SPECK execution time was improved 1.4x, with only a 5% increase in code size. Finally, an analysis of the energy consumption of the block ciphers was made, using experimentally obtained results, something that has not yet been done in the state of art.}
{pt=Criptografia Leve, Cifras de Bloco, Internet das Coisas (IoT), Processador ARM Cortex-M3, Optimização de Performance, Consumo de Energia, en=Lightweight cryptography, Block Ciphers, Internet of Things (IoT), ARM Cortex-M3 Processor, Performance Optimization, Energy Consumption}

Novembro 8, 2018, 17:0

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

Ricardo Jorge Fernandes Chaves

Departamento de Engenharia Informática (DEI)

Professor Associado

ORIENTADOR

Tiago Miguel Braga da Silva Dias

ISEL - Instituto Superior de Engenharia de Lisboa

Professor Adjunto