universidade federal do rio grande do norte … · rodrigo soares semente orientador: prof. dr....

116
UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE CENTRO DE TECNOLOGIA PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA E DE COMPUTAÇÃO ESTUDO E DESENVOLVIMENTO DE ALGORITMOS CRIPTOGRÁFICOS PARA REDES DE SENSORES SEM FIO, UTILIZANDO TÉCNICAS DE PROGRAMAÇÃO GENÉTICA RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação em Engenharia Elétrica e de Computação da UFRN (área de concentração: Engenharia de Computação) como parte dos requisitos para obtenção do título de Doutor em Ciências. NÚMERO DE ORDEM PPGEEC: D159 NATAL, RN, DEZEMBRO DE 2015

Upload: trinhtu

Post on 30-Nov-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE

CENTRO DE TECNOLOGIA

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA

ELÉTRICA E DE COMPUTAÇÃO

ESTUDO E DESENVOLVIMENTO DE ALGORITMOS

CRIPTOGRÁFICOS PARA REDES DE SENSORES SEM FIO,

UTILIZANDO TÉCNICAS DE PROGRAMAÇÃO GENÉTICA

RODRIGO SOARES SEMENTE

ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR

Tese de Doutorado apresentada ao

Programa de Pós-Graduação em

Engenharia Elétrica e de Computação

da UFRN (área de concentração:

Engenharia de Computação) como

parte dos requisitos para obtenção do

título de Doutor em Ciências.

NÚMERO DE ORDEM PPGEEC: D159

NATAL, RN, DEZEMBRO DE 2015

Page 2: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

UFRN / Biblioteca Central Zila Mamede

Catalogação da Publicação na Fonte

Semente, Rodrigo Soares.

Estudo e desenvolvimento de algoritmos criptográficos para redes de sensores

sem fio, utilizando técnicas de programação genética / Rodrigo Soares Semente. -

Natal, RN, 2015.

116 f. : il.

Orientador: Prof. Dr. Andrés Ortiz Salazar.

Tese (Doutorado) - Universidade Federal do Rio Grande do Norte. Centro de

Tecnologia. Programa de Pós-Graduação em Engenharia Elétrica e de Computação.

1. Redes de sensores sem fio - Tese. 2. IEEE 802.15.4 - Tese. 3. Criptografia -

Tese. 4. Programação Genética - Tese. I. Salazar, Andrés Ortiz. II. Título.

RN/UF/BCZM CDU 004.73

Page 3: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

ESTUDO E DESENVOLVIMENTO DE ALGORITMOS

CRIPTOGRÁFICOS PARA REDES DE SENSORES SEM FIO,

UTILIZANDO TÉCNICAS DE PROGRAMAÇÃO GENÉTICA

RODRIGO SOARES SEMENTE

Tese de Doutorado aprovada em 07 de dezembro de 2015 pela banca

examinadora composta pelos seguintes membros:

Page 4: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

A verdade científica está além da lealdade ou deslealdade.

- Isaac Asimov

Page 5: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

AGRADECIMENTOS

A meu filho Gabriel Soares Semente pelas alegrias, motivações e amor

incomensuráveis.

A minha esposa Priscilla Alekianne Soares do Nascimento Semente por suportar os

piores e melhores momentos, e a maior fonte de amor fonte de amor que me fez chegar

até aqui.

A minha mãe Rosa Maria Alves Semente pela infinita inspiração e ajuda em todos os

aspectos de minha vida.

A minha irmã Renata Soares Semente pelos conselhos e grande ajuda na revisão

desse trabalho apesar da enorme distância.

A meu pai Rinaldo da Silva Soares pela ajuda pessoal, mesmo com a grande

distancia que nos separa.

A meu orientador Professor Dr. Andrés Ortiz Salazar por me ajudar em toda minha

jornada acadêmica, da graduação ao doutorado, e se tornar um grande amigo.

Ao amigo Dr. Felipe Denis mendonça de Oliveira pela inumeras horas de ajuda e

inspiração durante todo o mestrado e doutora.

A meus amigos de laboratório, Diego, Glauco, Felipe Gama, Bernadino, Xiankleber,

Vitor, Gustavo e muitos outros que ajudaram com paciência e força nas longas horas de

trabalhos diários.

Ao Conselho Nacional de Desenvolvimento Científico e Tecnológico, CNPq, pela

bolsa de estudo durante quase todo o doutorado..

Page 6: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

RESUMO

A criptografia é uma das principais forma de obter a segurança em qualquer rede.

Mesmo em redes com grandes restrições de consumo de energia, processamento e

memória, como as Redes de Sensores Sem Fio (RSSF), isso não é diferente.

Objetivando melhorar o desempenho da criptografia, a segurança nessas redes, será

proposto um novo algoritmo criptográfico desenvolvido por meio da técnica de

Programação Genética (PG).

Para o desenvolvimento de critérios de aptidão do algoritmo criptográfico,

estabelecido pelo algoritmo de PG, nove algoritmos criptográficos diferentes foram

testados: AES, Blowfish, DES, RC6, Skipjack, Twofish, T-DES, XTEA e XXTEA. A

partir desses testes, funções de aptidões foram desenvolvidas levando em conta o tempo

de execução, o espaço ocupado em memória, desvio máximo, desvio irregular,

coeficiente de correlação.

Após obter o algoritmo de PG otimizado, foram criados o CRYSEED e CRYSEED2,

algoritmos para dispositivos de 8-bits otimizados para RSSF, i.e., com baixa

complexidade, pouco consumo de memória e segurança satisfatória para as aplicações

de sensoriamento e instrumentação.

Palavras-chaves: Redes de Sensores Sem Fio. IEEE 802.15.4. Criptografia.

Programação Genética.

Page 7: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

ABSTRACT

Cryptography is the main form to obtain security in any network. Even in networks

with great energy consumption restrictions, processing and memory limitations, as the

Wireless Sensors Networks (WSN), this is no different. Aiming to improve the

cryptography performance, security and the lifetime of these networks, we propose a

new cryptographic algorithm developed through the Genetic Programming (GP)

techniques.

For the development of the cryptographic algorithm’s fitness criteria, established by

the genetic GP, nine new cryptographic algorithms were tested: AES, Blowfish, DES,

RC6, Skipjack, Twofish, T-DES, XTEA and XXTEA. Starting from these tests, fitness

functions was build taking into account the execution time, occupied memory space,

maximum deviation, irregular deviation and correlation coefficient.

After obtaining the genetic GP, the CRYSEED and CRYSEED2 was created,

algorithms for the 8-bits devices, optimized for WSNs, i.e., with low complexity, few

memory consumption and good security for sensing and instrumentation applications.

Keywords: Wireless Sensor Networks. IEEE 802.15.4. Cryptography. Genetic

Programming.

Page 8: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

RESUMEN

La criptografía es la forma principal de obtener seguridad en cualquier red. Incluso

en redes con grandes restricciones de consumo de energía, procesamiento y memoria,

como las redes de sensores inalámbricas (RSI), esto no es diferente. Objetivando

mejorar el rendimiento de la criptografía, la seguridad y el tiempo de vida de estas

redes, será propuesto un nuevo algoritmo criptográfico desarrollado a través de la

técnica de Programación Genética (PG).

Para el desarrollo de criterios de aptitud del algoritmo criptográfico, establecido por

el algoritmo de programación genética, nueve algoritmos criptográficos diferentes

fueran testados: AES, Blowfish, DES, RC6, Skipjack, Twofish, T-DES, XTEA y

XXTEA. A partir de estos testes, funciónes de aptitud fueron desarrollada teniendo en

cuenta el tiempo de ejecución, espacio ocupado en memoria, desviación máxima,

desviación irregular y coeficiente de correlación.

Después de obtener el algoritmo de PG optimizado, fue criado el CRYSEED y

CRYSEED2, algoritmos para dispositivos 8-bits, optimizado para RSIs, i.e., con baja

complejidad, poco consumo de memoria y buena seguridad para las aplicaciones de

detección e instrumentación.

Palabras clave: Redes de Sensores Inalámbrica. IEEE 802.15.4. Criptografía.

Programación Genética.

Page 9: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

i

SUMÁRIO

RESUMO ............................................................................................................................... VII

ABSTRACT ........................................................................................................................... VII

RESUMEN .......................................................................................................................... VIII

SUMÁRIO ................................................................................................................................. I

LISTA DE FIGURAS ............................................................................................................ IV

LISTA DE TABELAS ........................................................................................................... VII

LISTA DE SÍMBOLOS E ABREVIATURAS .................................................................. VIII

1 INTRODUÇÃO .............................................................................................................. 1

1.1 MOTIVAÇÃO E JUSTIFICATIVA ................................................................................. 3

1.2 OBJETIVOS .................................................................................................................... 4

1.3 CONTRIBUIÇÕES ......................................................................................................... 5

1.4 ORGANIZAÇÃO DO TRABALHO ............................................................................... 6

2 SEGURANÇA EM REDES DE SENSORES SEM FIO ............................................ 8

2.1 PADRÃO 802.15.4 .......................................................................................................... 8

2.1.1 Camada Física e Enlace ............................................................................................. 9

2.1.2 Camada de Rede ....................................................................................................... 11

2.2 GERENCIAMENTO DE CHAVES .............................................................................. 13

2.2.1 Chaves Privadas ....................................................................................................... 13

2.2.2 Chaves Públicas ........................................................................................................ 14

Page 10: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

ii

2.2.3 Gerenciamento de Chaves em RSSFs ..................................................................... 17

2.2.3 Signcryption .............................................................................................................. 18

2.3 CLASSIFICAÇÃO DE SEGURANÇA ........................................................................ 20

3 ALGORITMOS CRIPTOGRÁFICOS ...................................................................... 22

3.1 DES E TDES.................................................................................................................. 22

3.2 RIVEST CIPHER 6 ....................................................................................................... 25

3.3 AES ................................................................................................................................ 27

3.4 XTEA E XXTEA ........................................................................................................... 30

3.5 BLOWFISH E TWOFISH ............................................................................................. 32

3.6 SKIPJACK ..................................................................................................................... 33

4 PROGRAMAÇÃO GENÉTICA ................................................................................ 35

4.1 FUNCIONAMENTO DA PG ........................................................................................ 36

4.2 OPERAÇÕES DA PG ................................................................................................... 38

4.3 BIBLIOTECA LIL-GP .................................................................................................. 41

5 AVALIAÇÃO CRIPTOGRÁFICA ............................................................................. 43

5.1 MEMÓRIA UTILIZADA .............................................................................................. 44

5.2 TEMPO DE EXECUÇÃO ............................................................................................. 46

5.3 AVALIAÇÃO DA QUALIDADE CRIPTOGRÁFICA ................................................. 47

5.3.1 Desvio Máximo (DM) ............................................................................................... 49

5.3.2 Desvio Irregular (DI) ............................................................................................... 51

5.3.3 Coeficiente de Correlação (CC) .............................................................................. 53

5.3.4 Efeito Avalanche (EA) .............................................................................................. 55

5.3.5 Outras Métricas ........................................................................................................ 56

5.4 ANÁLISE DOS DADOS ............................................................................................... 59

5.4.1 Razão Desvio Máximo e Irregular (RDMI) ........................................................... 59

5.4.2 Qualidade Criptográfica Média .............................................................................. 60

5.4.3 Funções de Aptidão .................................................................................................. 63

6 RESULTADOS E DISCUSSÕES ............................................................................... 65

Page 11: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

iii

6.1 AVALIAÇÃO INICIAL DA PG CRIPTOGRÁFICA .................................................... 66

6.2 AVALIAÇÃO FINAL DA PG CRIPTOGRÁFICA ....................................................... 70

6.3 TESTES DE DESEMPENHO ....................................................................................... 73

7 CONSIDERAÇÕES FINAIS ...................................................................................... 78

7.1 TRABALHOS FUTUROS ............................................................................................ 79

REFERÊNCIAS BIBLIOGRÁFICAS .................................................................................. 81

APÊNDICE A .......................................................................................................................... 81

APÊNDICE B .......................................................................................................................... 99

Page 12: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

iv

LISTA DE FIGURAS

Figura 1 - Exemplo de criptografia, utilizando a operação módulo (mod), sobre a função

exponenciação. ............................................................................................. 15

Figura 2 - Típica troca de uma chave secreta sobre Diffie-Hellman baseado no problema

ECDLP. Onde kA e kB são inteiros sobre TP, G é um ponto com coordenadas

inteiras pertencente à curva elíptica E, TA e TB são as chaves públicas de

Alice e Bob respectivamente, e TP a chave privada criada apenas entre Alice

e Bob. ........................................................................................................... 16

Figura 3 - Assinatura e selo de uma mensagem. ............................................................. 19

Figura 4 - (a) DES e (b) Função Feistel do DES. ........................................................... 23

Figura 5 – TDES. ............................................................................................................ 24

Figura 6 - Cifrador RC6. ................................................................................................. 26

Figura 7 - Operação AddRoundKey do Cifrador AES. .................................................. 28

Figura 8 - Operação SubBytes do Cifrador AES. ........................................................... 28

Figura 9 - Operação ShiftRows do Cifrador AES. ......................................................... 28

Figura 10 - Operação MixColumns do Cifrador AES. ................................................... 29

Figura 11 - (a) Fluxograma do XTEA e (b) Função Feistel do XXTEA. ....................... 31

Figura 12 - Blowfish: (a) Estrutura de rede Feistel e (b) Função Feistel. ....................... 32

Figura 13 – Twofish. ....................................................................................................... 33

Figura 14 - Funções Feistel do Skipjack. ........................................................................ 34

Figura 15 - Redes Feistel do Skipjack para criptografia e descriptografia. .................... 34

Figura 16 - Diagrama de execução de um algoritmo de Programação Genética. ........... 37

Page 13: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

v

Figura 17 - Exemplo de dois indivíduos (a) e (b) distintos em PG. ............................... 39

Figura 18 - Exemplo da operação crossover, gerando dois indivíduos, Filho 1 e Filho 2,

distintos. ....................................................................................................... 40

Figura 19 - Exemplo da operação Mutação: (a) Mutação em um Ponto, (b) Mutação de

Expansão e (c) Mutação de Redução. Os nós vermelhos foram alterados. . 41

Figura 20 - Espaço ocupado: colunas azuis representam o espaço em Mbytes e a linha

vermelha representa o valor normalizado em %. ......................................... 45

Figura 21 - Tempo de Execução. .................................................................................... 47

Figura 22 – Imagens padrão: (a) lena, (b) cameraman, (c) mandril e (d) testpat............ 48

Figura 23 - Desvio Máximo (DM). ................................................................................. 51

Figura 24 - Desvio Irregular (DI). .................................................................................. 53

Figura 25 – Coeficiente de Correlação (CC). ................................................................. 54

Figura 26 – Efeito Avalanche (EA). ............................................................................... 56

Figura 27 - Comparação entre DM, DI e RDMI. ............................................................ 60

Figura 28 - Média dos valores das imagens por métrica. ............................................... 61

Figura 29 - Média dos valores das imagens com RDMI por métrica. ............................ 62

Figura 30 - Média dos valores das imagens por métrica. ............................................... 63

Figura 31 - Fit e FitP dos algoritmos criptográficos. ...................................................... 64

Figura 32 - Árvore encontrada pelo PG, representando um algoritmo criptográfico. .... 67

Figura 33 - Algoritmo 1: Pseudo-código do CRYSEED – Criptografia ......................... 68

Figura 34 - Algoritmo 2: Pseudo-código do CRYSEED – Descriptografia .................... 68

Figura 35 - Valores dos RMDI obtidos nos testes da fase final. .................................... 71

Figura 36 - Árvore encontrada pelo PG na fase inicial, representando um algoritmo

criptográfico. ................................................................................................ 72

Figura 37 - Valores do CC obtidos nos testes da fase final. ........................................... 73

Page 14: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

vi

Figura 38 - Memória dos algoritmos criptograficos obtidos em comparaçaõ com o AES

e XXTEA. .................................................................................................... 74

Figura 39 - Tempo de execução dos algoritmos criptográficos obtidos em comparação

com o AES e XXTEA. ................................................................................. 74

Figura 40 - RDMI dos algoritmos criptográficos obtidos em comparação com o AES

e XXTEA. .................................................................................................... 75

Figura 41 - CC dos algoritmos criptográficos obtidos em comparação com o AES e

XXTEA. ....................................................................................................... 76

Figura 42 - EA dos algoritmos criptográficos obtidos em comparação com o AES e

XXTEA. ....................................................................................................... 76

Figura 43 - Valores médios das métricas dos algoritmos criptográficos obtidos em

comparação com o AES e XXTEA. ............................................................ 77

Page 15: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

vii

LISTA DE TABELAS

Tabela 1 - Espaço ocupado pelos algoritmos criptográficos. ......................................... 45

Tabela 2- Tempo de execução dos algoritmos criptográficos. ....................................... 46

Tabela 3 - Qualidade criptográfica. ................................................................................ 50

Tabela 4 - Qualidade criptográfica normalizada. ............................................................ 50

Tabela 5 – Tempo de execução dos algoritmos criptográficos. ...................................... 68

Tabela 6 – Desvio Maximo, Desvio Mínimo, CC e EA dos algoritmos criptográficos. 69

Page 16: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

viii

LISTA DE SÍMBOLOS E ABREVIATURAS

AES - Advanced Encryption Standard (Padrão de Criptografia Avançada)

AG - Algoritmo Genético

APGC - Algoritmo de Programação Genética Criptográfica.

BPSK - Binary Phase Shift Keying (Chaveamento Binário por Deslocamento

de Fase)

CC - Coeficiente de Correlação

CGP - Cartesian Genetic Programming

CSS - Chirp Spread Spectrum (Espalhamento Espectral Chirp)

DES - Data Encryption Standard (Padrão de Criptografia de Dados)

DI - Desvio Irregular

DHU - Desvio do Histograma Uniforme

DM - Desvio Máximo

DSS - Digital Signature Standard (Padrão de Assinatura Digital)

DSSS - Direct Sequence Spread Spectrum (Espalhamento de Frequência por

Sequência Direta)

EA - Efeito Avalanche

ECC - Elliptic Curve Cryptography (Criptografia por Curva Elíptica)

ECDH - Elliptic Curve Diffie-Hellman (Curva Elíptica Diffie-Hellman)

EQM - Erro Quadrático Médio

FFD - Full Function Device (Dispositivos de Funcionalidades Completa)

Page 17: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

ix

FH - Frequency Hopping

FHSS - Frequency Hopping Spread Spectrum (Espalhamento de Espectro por

Salto de Frequência)

GP - Genetic Programming (Programação Genética)

IMUM - Intensidade Média Unificada da Mudança

IR - Identificação por Radiofrequência

IEEE - Institute of Electrical and Electronics Engineers (Instituto de

Engenheiros Eletricistas e Eletrônicos)

IMUM - Intensidade Média Unificada da Mudança

ISM - Industrial, Scientific and Medical Band (Banda Industrial, Científica e

Médica).

LGP - Linear Genetic Programming (Programação Genética Linear)

LR-WPAN - Low Rate Wireless Personal Area network (Redes de Área Pessoal

Sem Fio de Baixas Taxas de Transmissão)

MAC - Medium Access Control (Controle de Acesso ao Meio)

MBAN - Medical Body Area Networks

NSA - National Security Agency (Agência de Segurança Nacional)

OFDM - Orthogonal Frequency-Division Multiplexing (Multiplexação por

Divisão de Frequência Ortogonal)

O-QPSK - Offset Quadrature Phase-Shift Keying

PG - Programação Genética

PN - Pseudo-random Noise

PHY - Physical Layer (Camada Física)

PKC - Private Key Cryptography (Criptografia por Chaves Privadas)

RC6 - Rivest Cipher Version 6 (Cifrador Rivest Versão 6)

Page 18: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

x

RCC - Rail Communications and Control

RDMI - Razão Desvio Máximo e Irregular

RFD - Reduced Function Device (Dispositivos de Funcionalidades

Reduzidas)

RFID - Radio-Frequency IDentification (Identificação por Radiofrequência)

RSASF - Redes de Sensores e Atuadores Sem Fio

RSSF - Redes de Sensores Sem Fio

RSMSF - Redes de Sensores Móveis Sem Fio

TDES - Triple DES (DES Triplo)

TEA - Tiny Encryption Algorithm (Algoritmo de Criptografia Minúsculo).

TMNP - Taxa de Mudança do Número de Pixels

TPSR - Taxa de Pico de Sinal-Ruído

UWB - Ultra-wide Band (Banda Ultralarga)

WSAN - Wireless Sensor and Actuator Networks (Redes de Sensores e

Atuadores Sem Fio).

WSN - Wireless Sensor Networks (Redes de Sensores Sem Fio)

MWSN - Mobile Wireless Sensor Networks (Redes de Sensores Móveis Sem

Fio)

XTEA - eXtended TEA (TEA Estendido)

Page 19: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

1

1 INTRODUÇÃO

As Redes de Sensores Sem Fio (RSSF, Wireless Sensor Networks ou WSNs),

Assim como suas variações, como as Redes de Sensores e Atuadores Sem Fio (RSASF,

Wireless Sensor and Actuator Networks ou WSANs) e as Redes de Sensores Móveis

Sem Fio (RSMSF, Mobile Wireless Sensor Networks ou MWSNs), já são bem

conhecidas e a cada dia se tornam mais comuns nas mais diversas aplicações.

Na indústria, as RSSFs já são uma realidade, contando com diversos produtos e

técnicas bem fundamentadas, que são amplamente pesquisadas pela comunidade

científica, buscando uma maior eficiência e segurança em diversos aspectos, como

confiabilidade, eficiência energética, qualidade de serviço e segurança.

Quando estas redes precisam ser formadas por dispositivos autônomos, i.e., sem

fonte de energia externa, precisam ter uma grande autonomia energética, de vários

meses a anos. Para isso, são utilizados dispositivos eletrônicos de baixa potência e

complexidade, como microprocessadores de 8-bits e pouca memória [Rinne et al., 2007]

[Meiser et al., 2008].

Este tipo de rede, muitas vezes, é instalado em ambientes externos e sem muita

segurança, onde qualquer pessoa pode ter acesso ao dispositivo físico. Portanto, é

necessário manter a segurança dos dados trafegados na rede. Para este fim, a utilização

de criptografia é imprescindível [Shim, 2015].

A segurança criptográfica é responsável por manter em sigilo a informação,

evitando que o sistema seja invadido. Ao permitir a inclusão de informações falsas no

sistema, uma invasão pode levar a falhas ainda maiores em todo o processo de

monitoramento e controle [Shim, 2015]. Vale ressaltar que apenas a criptografia não é a

única técnica responsável pela segurança da rede, o gerenciamento de chaves,

protocolos de segurança de rede e detecção de intrusão também são importantes para

manter a segurança, mas não serão o foco deste trabalho.

Page 20: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

2

Existem diversos algoritmos criptográficos disponíveis para realização dessa

tarefa, cada um possui desempenho e segurança diferentes. Neste trabalho serão

analisados os seguintes algoritmos criptográficos: AES (também conhecido como

Rijndael), Blowfish, DES, RC6, Skipjack, Twofish, T-DES, XTEA e XXTEA.

Estes algoritmos podem possuir uma grande complexidade, custando tempo de

processamento, consumindo a energia do sistema. Além disso, o tamanho do algoritmo

pode não ser suportado pelos dispositivos mais baratos encontrados no mercado,

adequado para aplicações onde o baixo custo é importante. Se levarmos em

consideração a utilização de um sistema de gerenciamento de chaves como ECC-160 ou

RSA-1024, temos um aumento no consumo de energia de 72% a 82% [Wander et al.,

2005].

O padrão mais utilizado nas RSSFs é o IEEE 802.15.4 [IEEE, 2003], criado em

paralelo com o Protocolo de rede ZigBee [ZigBee Alliance, 2004]. Ele define a camada

física e a camada de enlace, também chamada de camada de Controle de Acesso ao

Meio (Medium Access Control, MAC), assim como a técnica de criptografia

recomendada para a segurança do sistema, o Advanced Encryption Standard (AES ou

Padrão de Criptografia Avançada) [IEEE, 2012a].

O AES-128 é uma técnica bastante eficiente em termos de processamento, e sua

segurança ainda é considerada de boa qualidade. Existem alguns relatos de quebras de

segurança em versões parciais do algoritmo, o que não significa que seja inseguro.

Porém, há estudos indicam que ele possa ser quebrado em um tempo hábil nas próximas

décadas [Biryukov et al., 2010] [Biryukov & Großschädl, 2012].

Levando em conta todos estes aspectos e buscando melhorar a eficiência da

segurança das RSSFs, novos algoritmos podem ser desenvolvidos para esse propósito.

Porém, ao invés de desenvolvê-lo algebricamente por um humano, será atribuída ao

computador esta tarefa. Esta metodologia, a princípio, pode parecer ousada ou não

viável devido à sua complexidade, mas desde antes do início da computação moderna,

já se imaginava que os computadores seriam capazes de feitos que antes eram

creditados tão somente aos seres humanos.

Em 1843 foi previsto pela primeira vez que uma máquina de computação seria

capaz de realizar autonomamente uma atividade antes atribuída apenas à criatividade

Page 21: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

3

humana, como a capacidade de compor obras musicais [Lovelace, 1843]. Esse conceito

foi concretizado com o desenvolvimento de diversas técnicas de inteligência artificial,

em especial os algoritmos bioinspirados, como os algoritmos genéticos, colônias de

formigas, e, a mais promissora para este trabalho, a Programação Genética (PG, Genetic

Programming ou GP) [Koza, 1989].

Essa proposta não é completamente inédita na criptografia, existindo algumas

pesquisas utilizando PG para ajuste de novos algoritmos criptográficos. Porém, estes

trabalhos não possuíram a preocupação específica de criar um algoritmo para

dispositivos com restrição de hardware [Hernandez-Castro et al., 2006] [Polimón et al.,

2008] [Estevez-Tapiador et al., 2008].

Outras pesquisas utilizam um Algoritmo Genético (AG) como algoritmo

criptográfico, entrando como parâmetros o texto plano, a chave e o tamanho da chave

desejado. Sendo necessário, para este fim, haver a troca dessa chave através de algum

método de gerenciamento [Tragha & Mouloudi, 2006].

Técnicas bioinspiradas também foram usadas para tentar quebrar a criptografia,

acreditando-se ser capaz de encontrar uma chave com eficiência maior que a força bruta

[Goyat, 2012]. Um estudo da arte mais elaborado sobre o uso da computação

evolucionária na criptografia foi apresentado por Picek & Golub (2011). Mais

recentemente, técnicas de computação evolucionária, como AG, PG e PG Cartesiana,

foram aplicadas para otimizar funções booleanas, obtendo alta imunidade à correlação,

sendo observado ainda uma maior eficiência da PG sobre algoritmos genéticos,

mostrando que ela pode ser utilizada para criptografia, mesmo sendo uma tarefa de

difícil otimização [Picek et al., 2015].

1.1 MOTIVAÇÃO E JUSTIFICATIVA

Trabalhos anteriores demonstraram que é possível criar algoritmos criptográficos

com características aceitáveis de desempenho e segurança, mas também provaram que é

Page 22: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

4

difícil ultrapassar a eficiência de algoritmos já preestabelecidos como o AES [Semente,

2011].

Assim, idealizou-se o desenvolvimento de um algoritmo criptográfico utilizando

heurísticas bioinspiradas, observando vários casos de sucesso de desenvolvimento de

produtos de engenharia mais eficientes que os que eram utilizados anteriormente, como

desenvolvimento de antenas para naves espaciais [Lohn, 2003].

Essa ideia logo se mostrou viável por meio de uma pesquisa preliminar, onde

foram encontrados trabalhos anteriores de segurança de redes utilizando algoritmos

bioinspirados em vários tópicos: na criptografia [Polimón et al., 2008] [Estevez-

Tapiador et al., 2008] [Tragha & Mouloudi, 2006] [Picek et al., 2015], na geração de

chaves [Goyat, 2012] [Khan & Bhatia, 2012] e para realização de ataques [Delman,

2004].

Apesar disso nenhum dos trabalhos apresentou um resultado focando em

dispositivos com capacidade de processamento de apenas 8-bits, levando em conta tanto

a eficiência energética, espaço de memória ocupado e segurança, ou um estudo

comparativo mais robusto, incluindo os algoritmos criptográficos em vigência.

Diversos artigos científicos foram publicados durante a elaboração da tese, e os

mais relevantes em relação a este trabalho se encontram no Apêndice B deste

documento.

1.2 OBJETIVOS

Os objetivos deste trabalho são:

Encontrar um algoritmo criptográfico otimizado para RSSF que se equipare a

algoritmos criptográficos conhecidos em segurança e eficiência de memória e

processamento para uma máquina de 8-bits;

Page 23: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

5

Converter os algoritmos criptográficos AES (antes conhecido como Rijndael),

Blowfish, DES, RC6, Skipjack, Twofish, T-DES, XTEA e XXTEA para

funcionarem em um dispositivo de 8-bits, para servirem de comparação com os

algoritmos desenvolvidos;

Estudo comparativo de eficiência e segurança dos algoritmos criptográficos

com restrições de hardware;

Demonstrar a viabilidade de se usar a técnica de algoritmos bioinspirados PG

no desenvolvimento algoritmos complexos, de forma autônoma.

Vale ressaltar que a proposta, apesar de focada em RSSFs, pode obter um

resultado aplicável em qualquer sistema de comunicação, como as redes mais robustas

802.11 (WiFi), ou em redes ainda mais restritas como as redes de Identificação por

Radiofrequência (IR, Radio-Frequency IDentification ou RFID). O algoritmo de PG

também poderá ser ajustado para encontrar um algoritmo criptográfico para outros tipos

de redes, que possuam outras necessidades, como redes com dispositivos de memória

menos restrita.

1.3 CONTRIBUIÇÕES

As contribuições desse trabalho são:

A) Dois novos algoritmos criptográficos, CRYSEED e CRYSEED2, ajustados

para a segurança de aplicações de redes de sensores sem fio de baixa

complexidade;

B) A análise da técnica de PG para criação de algoritmos criptográficos, podendo

ser utilizada tanto para RSSFs, como para outros tipos de redes ou de dados,

com seus diferentes níveis de restrições;

C) Criação da métrica RDMI, que é a razão entre o desvio máximo e irregular.

Page 24: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

6

D) Criação de funções de aptidão para avaliação dos algoritmos criptográficos

para a técnica de PG, utilizando pesos variáveis, que podem ser ajustados para

o caso desejado;

E) Um novo estudo comparativo de nove algoritmos criptográficos utilizando

como teste a criptografia de imagens padrão (lena, cameraman, mandrill e

testpat);

F) Avaliação dos novos algoritmos criptográficos em relação aos algoritmos

clássicos de criptografia.

1.4 ORGANIZAÇÃO DO TRABALHO

A seção 2 apresenta as características das RSSFs e as técnicas de segurança que

podem ser utilizadas nesse ambiente, aprofundando-se naquelas que são mais modernas

para o gerenciamento de chaves, como o signcryption.

Na seção 3 são apresentado nove algoritmos criptográficos (AES, Blowfish, DES,

RC6, Skipjack, Twofish, T-DES, XTEA e XXTEA) que são testados neste trabalho,

apresentando seus históricos e funcionamento.

A PG é apresentada na seção 4, discutindo os vários passos de sua execução,

como foi utilizada para o desenvolvimento de algoritmos criptográficos e a sua

viabilidade para desenvolver algoritmos criptográficos mais eficientes.

Os testes dos algoritmos criptográficos serão apresentados na seção 5. Testes de

tempo de execução, espaço ocupado em memória e qualidade criptográfica foram

realizados em detalhes. Essas métricas são utilizadas no algoritmo de PG para criação

de novas funções de aptidão e na avaliação final dos algoritmos. Outras métricas são

apresentadas resumidamente, mas não foram utilizadas nos testes.

Na seção 6 é apresentada a análise do uso do algoritmo de programação genética

na criação de algoritmos criptográficos para RSSFs. Também são apresentados os

algoritmos encontrados e suas análises de desempenho.

Page 25: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

7

Na seção 7 são feitas as considerações finais, analisando os resultados obtidos,

com sugestões para trabalhos futuros.

Page 26: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

8

2 SEGURANÇA EM REDES DE SENSORES SEM FIO

2.1 PADRÃO 802.15.4

O padrão IEEE 802.15.4-2006 [IEEE, 2006] serve de base para os protocolos

ZigBee, MiWi, MICAz, MiWi P2P, ISA 100, Wireless HART, entre outros [Santos, et.

al., 2014]. Ele descreve a camada física (Physic Layer, PHY) e MAC, para as Redes de

Área Pessoal Sem Fio de Baixas Taxas de Transmissão (Low Rate Wireless Personal

Area network, LR-WPAN).

Suas principais características são:

Baixo custo;

Alcance de 10 m a 100 m;

Camadas físicas disponíveis:

Canal 0: 868 MHz (ISM na Europa) - BPSK;

Canal 1 - 10: 915 MHz (ISM na América) - BPSK;

Canal 11 - 26: 2450 MHz (ISM no Mundo) - O-QPSK.

Baixa taxa de transferência:

20 e 40 kbit/s para 868/915 MHz;

250 kbit/s para 2450 MHz.

Baixo consumo de energia;

Baixa complexidade: 26 primitivas;

Dispositivos de Funcionalidades Completas (Full Function Device, FFD) e de

Funcionalidades Reduzidas (Reduced Function Device, RFD).

Page 27: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

9

Os canais de 11 ao 26 são suscetíveis à grande interferência de outros dispositivos

de redes sem fio, como dispositivos WiFi (sob o padrão 802.11b) e Bluetooth (sob o

padrão 802.15.1). Para evitá-las, usa-se uma técnica de Espalhamento de Frequência por

Sequência Direta (Direct Sequence Spread Spectrum, DSSS).

Em agosto de 2007, foi apresentada a versão IEEE 802.15.4a [IEEE, 2007], que

adicionou a possibilidade da camada física capaz de usar sequência direta de Banda

Ultralarga (Ultra-Wideband, UWB) e um novo Espalhamento Espectral Chirp (Chirp

Spread Spectrum, CSS), que se utiliza de um pulso linear modulado por frequência, o

código Chirp, que permite a mudança de frequência de forma muito rápida.

O padrão vem expandindo suas opções com as versões IEEE 802.15.4c [IEEE,

2009a], IEEE 802.15.4d [IEEE, 2009b] e IEEE 802.15.4m [IEEE, 2014a], que

apresentam, respectivamente, camadas físicas alternativas para uso na China, Japão e

nas faixas livres de televisão (entre 54 MHz e 962 MHz).

Entre 2012 e 2014 foram adicionados ao padrão IEEE 802.15.4 diversas novas

opções, como o uso de RFID, Redes Médica de Área Corporal (Medical Body Area

Networks, MBAN) e de Comunicação e Controle Ferroviário (Rail Communications

and Control, RCC) [IEEE, 2012b] [IEEE, 2013] [IEEE, 2014b].

Esses novos padrões indicam que as RSSFs estão crescendo em abrangência e

tecnologia, e que ainda há muito espaço para aprimoramentos no padrão.

2.1.1 Camada Física e Enlace

A) Camada Física

Um dos problemas no padrão de qualquer rede sem fio é a possibilidade de sofrer

interferência de outras redes ou de um hacker. O padrão IEEE 802.15.4 prevê o suporte

para a coexistência entre os seguintes padrões:

802.11b (WiFi), que usa DSSS;

Page 28: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

10

802.15.1 (Bluetooth), que usa técnica de Espalhamento de Espectro por Salto

de Frequência (FHSS, Frequency Hopping Spread Spectrum);

802.15.3 (High Rate WPAN), que usa DSSS.

Alguns equipamentos baseados em outros padrões não são caracterizados para

coexistência, como o padrão 802.11 e o 802.16, apesar de trabalharem na mesma faixa

de frequência do 802.15.4. Suas características são:

802.11, que usa técnica de salto em frequência (Frequency Hopping, FH) e

modulação de canal 2400 MHz com uso de FHSS;

802.16, com modulação de 2400 MHz e Multiplexação por Divisão de

Frequência Ortogonal (Orthogonal Frequency-Division Multiplexing, OFDM).

A técnica de transmissão utilizada no padrão IEEE 802.15.4 é baseada em DSSS.

O DSSS consiste no espalhamento da informação entre várias frequências. A cada 4 bits

de dados é feito um espalhamento em um código PN (Pseudo-random Noise, ou Ruído

Pseudorrandômico) de 32 bits, seguida por uma modulação O-QPSK. O receptor

demodula o sinal e recupera a mensagem codificada, e por meio da operação OU

Exclusivo (XOR) entre cada bit recebido e uma sequência PN de 15 bits, restaurando o

bit que foi codificado.

Apesar disso, a criação de um dispositivo que interfira fisicamente nos dados

transmitidos pela rede não é difícil, como visto em [Wood et al., 2007]. Por esses

motivos, algumas técnicas foram utilizadas na esperança de fornecer robustez contra

interferência:

Uso de técnicas de saltos em frequência, fragmentação de pacotes,

mascaramento de frame e codificação redundante [Wood et al., 2007]. Essas

técnicas conseguiram reduzir consideravelmente as perdas de pacotes, mas não

oferecem defesa contra jamming capaz de atacar todos os canais ao mesmo

tempo;

Uso de protocolo emergencial que se comunica detectando a potência do sinal

através do tempo [Xu et al., 2008], similar a uma modulação por amplitude.

Mesmo assim, um atacante que perceba o uso desse protocolo pode interferir

nessa comunicação ao variar seu sinal de interferência na mesma frequência

em que essa amplitude é variada.

Page 29: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

11

Apesar de realizar essas tentativas de defesa contra interferências, é impossível

evitar a interferência para todos os casos, já que o atacante pode se adaptar a cada

defesa específica, passando a preocupação de segurança dos dados em si para as

camadas superiores, nesse caso a camada de enlace.

B) Camada MAC

Para a camada MAC, o padrão IEEE 802.15.4 apresenta quatro mecanismos de

segurança para RSSF:

Controle de acesso (access control): esse mecanismo controla os dispositivos

que acessam a rede por meio de uma lista de dispositivos que podem se

comunicar na rede;

Criptografia de dados (data encryption): permite que seja usada a criptografia

com chave simétrica do algoritmo AES com até 128 bits;

Integridade de frame (frame integrity): utiliza um Código de Integridade de

Mensagem para identificar pacotes que tenham sido modificados sem uso da

criptografia;

Enumeração sequencial (sequential freshness): enumera os pacotes, checando

se o pacote é recente e rejeitando caso não seja, evitando assim que pacotes

antigos sejam retransmitidos por atacantes, prejudicando a rede.

2.1.2 Camada de Rede

A camada de rede nas RSSFs não é suportada pelo padrão IEEE 802.15.4, sendo

desenvolvida para cada aplicação especifica, a fim de controlar a comunicação entre os

dispositivos, como o implementado por [Oliveira, 2015]. Neste caso, foi implementado

uma melhoria do LEACH, onde vários clusters são formados a cada rodada de aquisição

de dados da rede, sendo escolhido um nó, chamado de clusterhead, responsável por

agregar os dados dos nós dos clusters e repassar para o coordenador da rede. Algumas

das melhorias do FTE-LEACH são:

Page 30: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

12

Os nós com mais energia possuem mais chance de serem clusterheads;

O clusterhead também pode coletar dados;

Aquisição de dados dirigida a eventos.

Esse método reduz o consumo de energia e, por sua vez, reduz a chance de falhas

na rede, visto que os nós com mais energia têm menos chances de falha.

Quanto à segurança da informação na camada de rede, os requisitos básicos são:

Confidencialidade dos dados: é o aspecto de segurança mais importante das

RSSFs, garantindo que os dados sejam mantidos em segredo contra os usuários

não autorizados. A solução para o problema é a utilização de um mecanismo de

criptografia eficiente [Walters et al., 2006] [Chen et al., 2009] [Sen, 2009];

Integridade dos dados: garante que os dados não foram alterados por um

adversário. O uso de checagem de erros em um dado criptografado garante esse

requisito [Walters, 2006] [Chen et al., 2009] [Sen, 2009];

Disponibilidade: assegura que os serviços de uma RSSF devem estar

disponíveis mesmo na presença de ataques internos ou externos. Protocolos de

rede com sistemas de controle de acesso central e comunicação adicional entre

os nós, melhoram a disponibilidade da rede [Walters, 2006] [Chen et al., 2009]

[Sen, 2009];

Fresshness: impede que um adversário use mensagens antigas, garantido que a

rede sempre esteja usando dados recentes. Adicionar um contador com tempo

específico no pacote garante este requerimento [Walters, 2006] [Chen et al.,

2009] [Sen, 2009];

Auto-organização: cada nó deve ser capaz de auto-organização e

autorrecuperação, i.e., configurar-se sozinho para entrar na rede e recuperar-se

de erros. É garantido por um esquema de distribuição de chaves públicas

eficiente [Walters, 2006] [Sen, 2009];

Localização Assegurada: algumas aplicações da rede devem ser capazes de

identificar se o nó está em um determinado local. Para assegurar isso, cada nó

deve medir a potência de sinais de mensagens recebidas e calcular sua posição

[Walters, 2006] [Sen, 2009];

Sincronização de Tempo: garante que os nós sensores de uma rede mantenham

um mesmo tempo de sincronização. Existem diversos protocolos específicos

Page 31: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

13

para sincronização, corrigindo-a pela diferença de tempo entre as mensagens,

com dados de sincronização dos nós sensores [Walters, 2006] [Sen, 2009];

Autenticação: assegura a identidade de um nó da rede, geralmente garantida

pelo uso de uma mensagem com código de autenticação com uma chave

secreta compartilhada [Walters, 2006] [Chen et al., 2009] [Sen, 2009];

Não Repúdio: define que um nó não pode negar enviar uma mensagem que foi

previamente enviada [Chen et al., 2009];

Autorização: garante que apenas nós autorizados possam acessar serviços da

rede [Chen et al., 2009].

2.2 GERENCIAMENTO DE CHAVES

Antes de obter qualquer segurança com criptografia, uma chave deve ser

reconhecida pelos dois pares de comunicação para que a mensagem possa ser decifrada.

Há diversas técnicas para proteção dessa chave, divididas em duas grandes categorias,

técnicas de chaves privadas e técnicas de chaves públicas. Existe ainda a recente técnica

de signcryption (singnature + cryptography, ou Assinatura + Criptografia).

2.2.1 Chaves Privadas

As técnicas de Criptografia por Chaves Privadas (do inglês, Private Key

Cryptography, PKC) partem do princípio que apenas o remetente e o mensageiro

conhecem a chave da mensagem, que foi configurada e guardada previamente por meio

de um meio seguro (como por exemplo, a comunicação com fio entre os dois

dispositivos com supervisão do gerente de segurança da rede). A partir de então, a

Page 32: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

14

comunicação ocorre com esta chave. Para garantir que ela não seja quebrada através de

criptoanálise de várias mensagens cifradas com a mesma chave, uma nova chave pode

ser trocada através de uma mensagem criptografada, substituindo, assim, uma chave que

já foi bastante usada [Estébanez et al., 2006].

Este processo é perigoso, pois uma vez que um atacante quebre a chave de um

pacote, obtêm-se a chave para o próximo pacote, revelando, assim, o conteúdo de todos

os pacotes daquele ponto em diante.

As chaves também devem variar bastante entre si, a fim de que, caso a mensagem

precise ser repetida, uma chave que seja parcialmente igual à anterior, acarreta em uma

chave real menor que a necessária para manter a segurança.

2.2.2 Chaves Públicas

Para contornar o problema das chaves privadas foram desenvolvidas técnicas de

Chaves Públicas, também chamado de criptografia assimétrica, que utiliza algoritmos

com custo computacional considerável, para que, por meio de uma troca de chave

pública, uma chave privada possa ser derivada. A partir daí, a mensagem será cifrada,

sem que nenhum observador externo, mesmo que de posse das chaves públicas, possa

descobrir suas chaves privadas [Certicom, 2000]. Um exemplo simples desse esquema,

utilizando função exponenciação, é apresentado na Figura 1.

Page 33: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

15

Figura 1 - Exemplo de criptografia, utilizando a operação módulo (mod), sobre a função exponenciação.

Fonte: Traduzido de Microsoft Developer Network Blog (2010).

O método mais utilizado é a Curva Elíptica Diffie-Hellman (Elliptic Curve Diffie-

Hellman, ECDH), que se baseia na Criptografia por Curva Elíptica (Elliptic Curve

Cryptography, ECC). Trata-se de técnicas rápidas, com chaves menores e mais seguras

[Certicom, 2000]. A segurança do método RSA de 1024 bits é equivalente a esquema

ECDH com uso apenas de 160 bits de chave e várias operações [Liu et al., 2008].

A ECDH é definida a partir de uma equação de curva elíptica, Equação 1,

pertencente ao conjunto dos primos finitos FP:

{𝑦2 𝑚𝑜𝑑 𝑃 = (𝑥3 + 𝑎𝑥 + 𝑏) 𝑚𝑜𝑑 𝑃, 𝑜𝑛𝑑𝑒 𝑎, 𝑏 ∈ 𝐹𝑃

(4𝑎3 + 27𝑏2) 𝑚𝑜𝑑 𝑃 ≠ 0

(1)

Os valores das variáveis x, y ∈ FP que satisfazem o sistema acima, considerando

as constantes a, b e P, junto com o ponto no infinito O, formam um grupo que define a

curva elíptica sobre FP [Meinerz & Yanoc, 2010].

Uma curva elíptica também pode ser definida para um campo binário, 𝐹2𝑚 , dada

pela Equação 2.

𝑦2 + 𝑥𝑦 𝑚𝑜𝑑 𝑃 = (𝑥3 + 𝑎𝑥 + 𝑏) 𝑚𝑜𝑑 𝑃, 𝑜𝑛𝑑𝑒 𝑎, 𝑏 ∈ 𝐹2𝑚 (2)

Page 34: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

16

A Figura 2 apresenta um esquema de ECDH entre dois usuários Alice e Bob.

Inicialmente, ambos devem conhecer a curva elíptica E e um ponto G pertencente à

E,

Figura 2 - Típica troca de uma chave secreta sobre Diffie-Hellman baseado no problema ECDLP. Onde

kA e kB são inteiros sobre TP, G é um ponto com coordenadas inteiras pertencente à curva elíptica E, TA e

TB são as chaves públicas de Alice e Bob respectivamente, e TP a chave privada criada apenas entre Alice

e Bob.

Fonte: Traduzido de Malan et al. (2004).

com coordenadas inteiras pertencentes à FP. Então, cada um escolhe uma chave privada

kA e kB, e precisam calcular através de produto vetorial e enviar uma chave pública

derivada TA e TB definida por:

𝑇𝐼 = 𝑘𝑖 ∗ 𝐺 (3)

Em seguida, cada um de posse da chave pública Ti do outro, deve calcular a chave

privada TP, realizando a operação descrita por:

{𝐴𝑙𝑖𝑐𝑒 𝑇𝑃 = 𝑘𝐴 ∗ 𝑇𝐵 = 𝑘𝐴 ∗ 𝑘𝐵 ∗ 𝐺𝐵𝑜𝑏 𝑇𝑃 = 𝑘𝐵 ∗ 𝑇𝐴 = 𝑘𝐵 ∗ 𝑘𝐴 ∗ 𝐺

(4)

A segurança do Criptografia por Curva Elíptica (Elliptic Curve Cryptography,

ECC) é dada pelo teorema de Hasse, que define os limites inferiores e superiores da

quantidade de pontos inteiros de uma curva elíptica pertencentes à FP, como descrito

por:

p + 1 − 2√p ≤ #E(Fp) ≤ p + 1 + 2√p (5)

Page 35: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

17

Como exemplo, pode-se analisar uma curva elíptica dada por y2 = x3 + 7x + 1

sobre F101, que, quando utilizado o Teorema de Hasse, são encontrados os limites de

quantos pontos possíveis podemos encontrar na curva elíptica [Washington, 2003],

como visto asseguir:

101 + 1 − 2√101 ≤ #𝐸(𝐹101) ≤ 101 + 1 + 2√101 (6)

82 ≤ #𝐸(𝐹101) ≤ 122 (7)

A quantidade de pontos apresentada nas Equações (6) e (7) pode não parecer

muito grande, mas analisando outra curva elíptica como y2 = x3 – 10x + 21 sobre F557,

tem-se as seqguintes equações:

557 + 1 − 2√557 ≤ #𝐸(𝐹557) ≤ 557 + 1 + 2√557 (8)

511 ≤ #𝐸(𝐹557) ≤ 605 (9)

Sendo assim, a ordem de magnitude para o fator primo P, aconselhada pelo

Instituto Nacional de Padrões de Tecnologia dos EUA (National Institute of Standards

Technology, NIST) para obter segurança, deve possuir 163 bits usando o Skipjack como

algoritmo criptográfico, com uma curva elíptica sobre o campo binário, 𝐸(𝐹2𝑚), e 283

bits para o AES-128 também para 𝐸(𝐹2𝑚) [NIST, 1999].

A criptografia assimétrica, apesar de ser uma técnica robusta e bem difundida, não

é garantia de total segurança, ocorrendo na literatura referência a alguns ataques devido

à má distribuição de chaves. Esse problema tende a se agravar em redes de sensores sem

fio, que não possuem uma capacidade computacional muito grande para trabalhar com

grandes chaves [Adj et. Al., 2014].

2.2.3 Gerenciamento de Chaves em RSSFs

Os métodos de gerenciamento de chaves mais importantes utilizados em RSSFs

são: chave única, chaves entre pares, chaves híbridas (utilizado pelo ZigBee), servidor

Page 36: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

18

confiável (troca de chaves apenas em um dispositivo de confiança), criptografia

assimétrica e esquema de pré-distribuição de chaves randômicas [Baronti et al., 2007].

No ZigBee são utilizadas chaves de 128 bits para comunicação broadcast e ponto

a ponto [Baronti et al., 2007]. Essas chaves podem ser passadas por meio da utilização

de uma chave mestra ou de um dispositivo confiável, chamado centro confiável (trust

center). A especificação ZigBee sugere a utilização de um protocolo de estabelecimento

de chaves simétricas entre dois dispositivos.

Devido a limitações físicas de um sistema embarcado, é indicada a utilização de

chaves privadas [Liu et al., 2012]. O gerenciamento de chaves privadas deve ser

realizado da seguinte maneira: uma mesma chave será utilizada em toda a rede; uma

chave inicial será pré-configurada, permitindo a inicialização da rede sem problemas; o

dispositivo mestre é o único que poderá trocar a chave utilizada na rede, através de uma

mensagem de broadcast realizada com a chave anterior. Após algumas trocas de

mensagens com os instrumentos com a chave anterior, o mestre enviará uma mensagem

com nova chave, onde todos executarão a função de expansão de chaves [Baronti et al.,

2007].

Alguns trabalhos apresentam implementações otimizadas de algoritmos de chaves

públicas para RSSFs. Em Kumar (2006), foi demonstrada a capacidade de

implementação de uma ECC segura para microprocessadores de 8-bits utilizando 𝐹2256.

Liu et al. (2012) propôs um sistema de PKC baseado em autenticação por broadcasting

baseado em amortização de assinatura.

2.2.3 Signcryption

Na década de 90 uma metodologia foi apresentada a fim de economizar a

quantidade de trocas de mensagens existentes nas técnicas de chaves públicas,

baseando-se no Padrão de Assinatura Digital (Digital Signature Standard, DSS), a

signcryption [Zheng, 1997]. A analogia para essa técnica é o sistema de assinaturas de

Page 37: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

19

cartas antigas, onde a mensagem era assinada e colocada em um envelope com um selo

único. A Figura 3 apresenta esse modelo.

Figura 3 - Assinatura e selo de uma mensagem.

Fonte: Zheng (1997).

Para isso, é preciso os seguintes parâmetros entre os usuários:

Um grande número primo p;

Um fator primo q de p - 1;

Um inteiro g escolhido aleatoriamente de [1,...,q - 1];

Uma função hash cuja saída tenha pelo menos 128 bits;

Uma função hash KH com uso de uma chave k;

Um par de Algoritmos (E, D) de Criptografia e Descriptografia;

Uma chave privada 𝑥𝑖 escolhida aleatoriamente dentro de [1,..,q - 1] para cada

usuário;

Uma chave pública yi calculada por 𝑦𝑖 = 𝑔𝑥𝑖 𝑚𝑜𝑑 𝑝;

Uma mensagem m a ser criptografada.

O remetente deve realizar os seguintes passos para realizar a assinatura, a

criptografia e para enviar (r, s, c):

Encontrar um 𝑘 = ℎ𝑎𝑠ℎ(𝑦𝑖𝑥𝑖 𝑚𝑜𝑑 𝑝) e dividir k em dois k1 e k2;

Calcular 𝑟 = 𝐾𝐻𝑘2(𝑚);

Calcular 𝑠 = 𝑥/(𝑟 + 𝑥𝑎)𝑚𝑜𝑑 𝑞;

Achar 𝑐 = 𝐸𝑘1(𝑚).

Page 38: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

20

Para o destinatário realizar a validação e a descriptografia com posse de (r, s, c),

deve-se fazer:

Encontrar um 𝑘 = ℎ𝑎𝑠ℎ((𝑦𝑎. 𝑔𝑟)𝑠.𝑥𝑏 𝑚𝑜𝑑 𝑝);

Dividir k em k1 e k2;

Recuperar m = Dk1(c);

Aceitar a mensagem m apenas se KHk2(m) for idêntica a r.

Esta técnica foi adaptada com uso do ECC em substituição do DAS e aplicada

com sucesso em uma RSSF de forma hierárquica, com eficiência de 40% na

comunicação, 23,79 µJ no consumo de energia, 96% no espaço de armazenamento de

chave e 75% no total de operações realizadas, em comparação com versões anteriores

[Hagras et al., 2011].

Uma vulnerabilidade dessa técnica é o ataque de substituição de chave pública,

que consiste em interceptar a mensagem do remetente, substituindo-a com uma

mensagem sua para o destino, utilizando uma chave desenvolvida pelo atacante. Ao

chegar no destino, o destinatário valida a mensagem, não sendo capaz de identificar a

diferença entre o remetente original e o invasor. Este ataque não fere toda a segurança

proposta pelos métodos, como descobrir qual a mensagem original enviada pelo

remetente, nem sua chave pública, mas permite causar sérios problemas em negociações

de mensagens como no comércio público [Hu et al., 2012].

2.3 CLASSIFICAÇÃO DE SEGURANÇA

A Agência Nacional de Segurança dos EUA (National Security Agency, NSA),

padroniza a classificação de equipamentos de segurança em quatro tipos (CNSS, 2010):

Tipo 1: Equipamentos classificados ou controlados pela NSA, permitido para o

uso em informações classificadas ou sensíveis para o governo dos EUA. Isto significa

que nestes equipamentos devem ser usados algoritmos classificados.

Page 39: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

21

Tipo 2: Equipamento autorizado pela NSA para informações sensíveis de

segurança nacional mas não classificadas. Nesta categoria podem ser usados algoritmos

classificados ou não.

Tipo 3: Equipamento não classificado (e não previamente autorizado pela NSA),

mas com uso de chave apropriada para transações sensíveis mas não classificadas do

governo ou comerciais. Nestes equipamentos podem ser usados algoritmos largamente

publicados e com várias implementações conhecidas.

Tipo 4: Equipamento comercial não avaliado, não recomendado para uso

governamental tanto pela NSA quanto pelo NIST.

Apesar da segurança não residir apenas no uso de um algoritmo secreto, ela pode

ser aprimorada ao usá-los, desde que o seu desenvolvimento e validação sejam

realizados em um alto nível de segurança e qualidade técnica.

Um algoritmo criado pela técnica desenvolvida neste trabalho seria classificado

inicialmente pela NSA como Tipo 4. Porém, se fosse utilizado internamente pela NSA,

reconhecendo a metodologia como sendo capaz de criar algoritmos criptográficos

seguros, utilizando-o secretamente para criar seus próprios algoritmos governamentais,

seria classificado como Tipo 1 ou Tipo 2.

Page 40: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

22

3 ALGORITMOS CRIPTOGRÁFICOS

Nove algoritmos foram escolhidos para comparar com aqueles gerados pela PG,

entre eles três dos finalistas do concurso para a escolha do AES: o Rijndael (agora

conhecido mais como AES), RC6 e Twofish. Também foram testados os antecessores

do AES: o DES e o TDES. Outros algoritmos testados foram o XTEA, XXTEA,

Skipjack e o Blowfish, por serem difundidos em RSSFs.

Depois de devidamente explicados, focando em cada uma de suas funções

criptográficas, seu funcionamento básico foi testado em um microprocessador do tipo

PIC18FK50. Como a quantidade de memória e processamento do microprocessador não

é muito adequada para testes mais complexos, um conjunto de testes foi realizado

utilizando uma plataforma PC, com sistema operacional Windows 7 64-bits, 8 GB de

RAM e Processador Intel Core I5-2520M 2.5 GHz. Estes testes permitirão avaliar

preliminarmente o desempenho de cada algoritmo e a qualidade geral da criptografia,

implicando limites máximos e mínimos para configurar o algoritmo de PG.

3.1 DES E TDES

O DES (Data Ecryption Standard, Padrão de Criptografia de Dados) foi

desenvolvido por Feistel (1973), para IBM e denominado inicialmente Lucifer, sendo

transformado no padrão oficial de segurança digital dos Estados Unidos em 1977 e

utilizado em larga escala pelas redes de computadores [Feistel, 1973].

O modelo do esquema criptográfico utilizado pelo DES é chamado Rede Feistel e

é adotado por diversos outros cifradores. Segue o esquema visto na Figura 4 (a).

Page 41: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

23

Figura 4 - (a) DES e (b) Função Feistel do DES.

(a) (b)

Fonte: Traduzido de Matt Crypto, 2014.

Em uma rede de Feistel o dado de entrada Xi, de tamanho n, é dividido em duas ou

mais partes, Ei e Di. Então, a parte direita Di é alterada de acordo com uma função F

(Função Feistel), que pode ser definida por:

𝐹: {0,1}𝑛/2 𝖷 {0,1}𝑘 → {0,1}𝑛/2 (10)

Onde {0,1}k é a sub-chave Ki a ser aplicada naquela rodada, {0,1}n/2 é a parte

direita da palavra a ser alterada, e aplicada uma operação OU, gerando uma nova

palavra {0,1}n/2.

O resultado da função F é então combinado com a operação OU exclusivo (XOR

de símbolo ⨁). A parte esquerda Ei desse resultado, se tornará a parte Di+1 da próxima

rodada. Já a parte Di se tornará a parte Ei+1 da próxima rodada, formando o Xi+1 final. O

sistema que representa esse esquema é definido por:

𝑋𝑖+1 = {

𝐷𝑖+1 = 𝐸𝑖⨁𝐹(𝐷𝑖, 𝐾𝑖),𝐸𝑖+1 = 𝐷𝑖

𝑜𝑛𝑑𝑒: 𝐷𝑖 = 𝑚𝑠𝑏𝑛/2(𝑋𝑖) 𝑒 𝐸𝑖 = 𝑙𝑠𝑏𝑛/2(𝑋𝑖)

(11)

Page 42: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

24

Onde msbn/2 é a metade mais significativa da palavra e lsbn/2 é a metade menos

significativa da mesma palavra.

O esquema de descriptografia é muito similar a Equação (11), não precisando

inverter a função F, apenas realizando a operação na ordem reversa:

𝑋𝑖−1 = {

𝐸𝑖−1 = 𝐷𝑖⨁𝐹(𝐸𝑖 , 𝐾𝑖)𝐷𝑖−1 = 𝐸𝑖

(12)

A Figura 4(b) representa o esquema utilizado pelo DES, cuja função Feistel

realiza uma expansão da metade da palavra denotada pelo bloco E, que possuí 32 bits,

em 48 bits através da duplicação de metade dos bits. Em seguida, realiza um XOR com

a sub-chave de 48-bits. O resultado depois é dividido em grupos de 6 bits e permutado

através de uma caixa de substituição S-Box (S1, S2, S3, S4, S5, S6, S7 e S8),

fornecendo não linearidade ao método. Cada S-Box é diferente entre si e retorna 4 bits,

que juntos formam a saída da função Feistel.

Figura 5 – TDES.

Fonte: Traduzido de Institute for Defense and Government Advancement (2012).

O Triple DES (TDES, DES Triplo) possui praticamente o mesmo algoritmo do

DES, sendo que é executado três vezes, cada vez utilizando uma chave diferente, como

visto na Figura 5. O algoritmo DES testado foi adaptado de um TDES desenvolvido por

Tariq (2009).

Page 43: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

25

3.2 RIVEST CIPHER 6

O Cifrador Rivest faz parte de uma geração de cifradores criados por Ronald

Rivest em 1987, que foi iniciada com o RC2. Ele foi mantido em segredo até 1996,

quando foi quebrado, para em 1998 finalmente ser descrito formalmente [Rivest, 1998].

Neste trabalho é utilizado o cifrador mais recente dessa família, o RC6, que foi um dos

candidatos finalistas a se tornar o AES.

O RC6 [Rivest et al. 1998], sigla derivada de "Rivest Cipher", é um cifrador para

chaves de 128 bits, mas que também pode utilizar chaves de 192 e 256 bits. Seu

funcionamento utiliza apenas seis operações básicas:

A + B: Adição modular de inteiros 2w;

A - B: Subtração modular de inteiros 2w;

A XOR B: OU-Exclusivo bit-a-bit de palavras de w-bits;

A X B: Multiplicação modular entre inteiros 2w;

A << B: Deslocamento de uma palavra A de w-bit para a esquerda por uma

quantidade de bits dado pelo valor dos log(w) bits menos significativos de B;

A >> B: Deslocamento de uma palavra A de w-bits para a direita por uma

quantidade de bits dado pelo valor dos log(w) bits menos significativos de B.

Utilizando essas operações, onde w é o tamanho da palavra utilizada, o cifrador é

montado de acordo com a Figura 6, apresentando uma etapa de inicialização, uma etapa

de repetição, executadas geralmente 20 vezes (r = 20), e uma etapa final. O RC6 é

derivado do RC5 [Rivest, 1995], podendo ser visto como dois processos de criptografia

RC5 em paralelo.

Para a descriptografia, a ordem das operações é invertida, e algumas operações

são substituídas por operações inversas (onde houver soma acontecerá subtração, onde

houver deslocamento a esquerda haverá deslocamento a direita).

O algoritmo desenvolvido para os testes foi baseado em [Salasio, 1998]. O

microprocessador utilizado possui capacidade computacional menor que um PC

Page 44: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

26

comum, com palavras de apenas 8-bits, necessitando ser levemente modificado para

funcionar de maneira apropriada para um hardware de 8-bits.

A primeira modificação é a adaptação de todas as operações para trabalhar em um

dispositivo de 8-bits. Sendo assim, todas as referências às palavras de 32-bits foram

mudadas para palavras de 8-bits.

Figura 6 - Cifrador RC6.

Fonte: Elaborado pelo autor.

A soma e subtrações comuns utilizadas no algoritmo original estavam erradas, não

se adequaram à operação de soma binária modular. Para isso, foram alteradas para

somas e subtrações modulares, permitindo assim a realização adequada das operações.

Devido a problemas na forma de como o compilador utilizado trabalha, foi preciso

substituir as funções de deslocamento implementadas, originalmente na forma de

macro, para funções propriamente ditas. O desenvolvimento deste algoritmo com mais

detalhado pode ser encontrado em [Semente, 2011].

Page 45: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

27

3.3 AES

O AES (Advanced Encryption Standard, Padrão de Criptografia Avançada) é o

algoritmo escolhido pelo governo americano para proteção de dados trafegados por

meios digitais [Daemen & Rijmen, 1998]. Anteriormente conhecido por Rijndael, pode

utilizar chaves de 128, 192 e 256 bits.

O Algoritmo considera que grupos de 16 bytes formam um "estado" (state), que,

em outros termos, é simplesmente uma matriz 4x4 com cada elemento sendo um byte. A

partir de então, realiza quatro operações básicas:

AddRoundKey: cada byte de um estado é combinado com um byte da chave

através da operação XOR (OU Exclusivo), bit a bit. A Figura 7 apresenta essa

operação;

SubBytes: uma substituição não-linear, onde cada byte é substituído por outro de

acordo com uma tabela lookup, criada de forma aleatória, como visto na Figura 8;

ShiftRows: os bytes de cada linha sofrem um deslocamento cíclico de 1 byte na

segunda linha, 2 bytes na terceira linha e 3 bytes na quarta linha, como visto na

Figura 9;

MixColumns: cada coluna do estado a(x) é combinada de acordo com uma matriz

conhecida c(x) 4x4, que multiplicada pelas colunas do estado retorna uma nova

coluna para o estado resultante b(x), como visto na Figura 10. A operação é

inversível, bastando multiplicar as colunas do estado b(x) por uma matriz d(x). O

resultado será o estado original a(x).

Page 46: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

28

Figura 7 - Operação AddRoundKey do Cifrador AES.

Fonte: Elaborado pelo autor.

Figura 8 - Operação SubBytes do Cifrador AES.

Fonte: Elaborado pelo autor.

Figura 9 - Operação ShiftRows do Cifrador AES.

Fonte: Elaborado pelo autor.

Page 47: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

29

Figura 10 - Operação MixColumns do Cifrador AES.

Fonte: Elaborado pelo autor.

De posse dessas quatro operações, o algoritmo pode ser dividido em quatro

etapas, onde a terceira etapa é repetida geralmente 20 vezes:

Etapa 1 - Expansão de chaves baseada em agendamento de chaves Rijndael;

Etapa 2 - Rodada inicial: AddRoundKey;

Etapa 3 – Rodadas:

o SubBytes;

o ShiftRows;

o MixColumns;

o AddRoundKey.

Etapa 4 - Rodada final (sem mistura de colunas):

o SubBytes;

o ShiftRows;

o AddRoundKey.

A segurança do algoritmo AES ainda é inquestionável, apesar de várias tentativas

de ataque bem sucedidas em uma execução com rodadas inferiores à 20 rodadas,

quantidade apropriada de rodadas do algoritmo. Um ataque é considerado eficiente

quando a quantidade de operações realizadas para quebrar a segurança e descobrir a

chave, é menor do que a quantidade de chaves possíveis. No caso do AES com chaves

de 256 bits, o algoritmo com até 11 rodadas já foi quebrado com boa eficiência

[Biryukov et al., 2010].

Para realização dos testes, foi utilizado um código na linguagem C, que implementa

o algoritmo AES para 8-bits desenvolvido por [Gladman, 2006]. Essa implementação

Page 48: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

30

possui algumas otimizações em suas operações, ao invés de realizar as operações

SubBytes, ShiftRows e MixColumns separadamente nas etapas 3 e 4, são realizadas

apenas duas funções: mix_sub_columns, que realiza simultaneamente as operações

SubBytes, ShiftRows e MixColumns; e shift_sub_rows, que realiza as operações

SubBytes e ShiftRows. Essas otimizações não alteram a segurança do algoritmo.

3.4 XTEA E XXTEA

Em 1994 Wheeler & Needham (1994) desenvolveu o cifrador em bloco TEA

(Tiny Encryption Algorithm, ou Algoritmo de Criptografia Minúsculo), que era notável

pela sua simplicidade e poucas linhas de código, mas que logo apresentou uma falha de

segurança que tornava o tamanho máximo de sua chave igual 126 bits, tornando tão

fácil de quebrá-lo como uma tabela hash ou de dispersão criptográfica, tabelas de

substituição criadas por funções de espalhamento.

Logo em 1997 o TEA foi aprimorado com uma extensão, gerando assim o Block

TEA (TEA em Bloco), ou como é mais conhecido o XTEA (eXtended TEA, ou TEA

Estendido), que possui chaves com tamanho de 128 bits [Needham & Wheeler,1997].

Devido a outros problemas de segurança, o algoritmo foi reestruturado uma segunda

vez, criando o Corrected Block TEA (XXTEA, TEA em Bloco Corrigido), ou XXTEA

[Wheeler & Needham, 1998].

O XTEA é baseado na clássica rede Feistel, variando apenas a função Feistel,

como pode ser observado na Figura 11(a). No algoritmo são utilizadas operações de

soma modular e XOR, representadas respectivamente pelo quadrado e pelo circulo na

Figura 11(a). A operação de deslocamento à esquerda e a direita também são utilizadas,

mas com numero fixo de deslocamentos, 4 bits e 5 bits respectivamente.

Já o XXTEA pode ser considerado uma rede Feistel desbalanceada, cujo bloco de

entrada é dividido em N partes, cada parte sendo chamada de XR. Então, a criptografia

de cada dado depende tanto de seu vizinho antecessor quanto do sucessor (XR-1 e XR+1),

Page 49: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

31

como observado na Figura 11(b), que apresenta a função Feistel que depende tanto do

XR quanto do XR-1 e XR+1. Também é utilizada a KR, que é aplicada um deslocamento

cíclico a esquerda de 2 bits a cada rodada.

Já foi encontrada uma falha no XXTEA, com quebra de chaves através da

criptanálise diferencial, efetuando uma quantidade de consultas de apenas 259 [Yarrkov,

2010]. Esse método é um pouco difícil de ser aplicado na prática em uma RSSF, pois é

preciso escolher um texto plano correto para comparação. Os dados gerados por um nó

da RSSF são obtidos a cada medição, i.e., não são dados que possam ser conhecidos por

um atacante, ficando difícil de realizar este ataque. Mesmo assim, essa quebra pode

significar a existência de outras falhas, o que pode indicar a não recomendação do seu

uso, mesmo nas RSSFs.

Figura 11 - (a) Fluxograma do XTEA e (b) Função Feistel do XXTEA.

(a) (b)

Fonte: (a) Shweta Gaba et al. (2012), (b) Fahad Zafar (2010).

Page 50: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

32

3.5 BLOWFISH E TWOFISH

Os cifradores Blowfish [Schneier, 1993] e Twofish [Schneier et al., 1998] foram

desenvolvidos baseados no conceito de rede Feistel, porém, dividindo a informação em

quatro partes e realizando operações e permutações entre elas.

O Blowfish opera com bloco de entrada de 64 bits e com tamanho de chave

variável, de 44 bits até 448 bits. A sua estrutura pode ser observada na Figura 12 e

difere apenas na inclusão da operação de chaves antes do dado ser operado pela função

Feistel, alterando significativamente ambos os lados da rede a cada rodada.

Figura 12 - Blowfish: (a) Estrutura de rede Feistel e (b) Função Feistel.

(a) (b)

Fonte: Traduzido de Bruce Schneier (1993).

O Twofish expande o Blowfish, trabalhando com um bloco de dados de 128 bits,

dividindo-o em quatro partes iguais de 32 bits, como apresentado na Figura 13.

Page 51: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

33

Figura 13 – Twofish.

Fonte: Traduzido de Bruce Schneier et al. (1998).

3.6 SKIPJACK

O Skipjack é um algoritmo criptográfico baseado no conceito de rede Feistel

desbalanceada, onde as operações não são realizadas de forma simétricas, utilizando

duas funções Feistel diferentes apresentadas na Figura 14 [NSA, 1998]. O Skipjack

funciona com blocos de 64 bits, que são divididos em pares de 32 bits que alimentam as

funções Feistel. A Figura 3.12 apresenta o esquema criptográfico e de descriptografia do

Skipjack.

Page 52: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

34

Figura 14 - Funções Feistel do Skipjack.

Fonte: Traduzido de Knudsen & Wagner, 2001.

Figura 15 - Redes Feistel do Skipjack para criptografia e descriptografia.

Fonte: NSA (1998).

Page 53: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

35

4 PROGRAMAÇÃO GENÉTICA

Observando a natureza, percebe-se a incrível capacidade de adaptação dos

indivíduos ao ambiente. Essa adaptação é conseguida por meio do processo de evolução

natural, na qual durante um período de tempo, e da reprodução de diversas gerações de

indivíduos, ocorre a ação da seleção natural (indivíduos mais fortes sobrevivem),

recombinação sexual (crossover genético) e mutação (alteração aleatória do DNA)

[Koza, 1989].

Baseando-se nesse processo natural, diversos métodos de solução por programas

computacionais foram desenvolvidos, como o Algoritmo Genético (AG), programação

evolucionária, estratégias evolucionárias e a Programação Genética (PG, Genetic

Programming ou GP).

A PG permite a criação de programas para solução de um problema, criados

automaticamente pelo computador, com eficiência competitiva aos criados pelos

humanos, utilizando um procedimento inspirado na evolução [Koza, 1998].

Em trabalhos anteriores, foi verificado que alguns algoritmos se adéquam melhor

à topologia de árvore, limitando a utilização de funções como a substituição (T = A, A =

B e B = T), ou até a criação de laços como o for, se adaptando mais à criação apenas da

função Feistel e à geração de chaves [Polimón et al., 2008] [Estevez-Tapiador et a.,

2008].

Outro trabalho de 2015 estuda a utilização de técnica de PG para otimizar funções

booleanas para obter grande imunidade à correlação, indicando a dificuldade em obter

essa importante característica de segurança criptográfica [Picek et al., 2015]

Ainda assim, é possível aprimorar essas técnicas, melhorando os seguintes pontos:

a função de avaliação do algoritmo, considerando desempenho de execução; custo em

memória e qualidade criptográfica; adição de mais funções que, apesar de ter um custo

computacional ou de memória maior, podem fornecer valiosas características

Page 54: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

36

criptográficas, como multiplicação e S-Box; geração de funções antes e depois da

rodada, como as vistas no AES; mais de uma função Feistel, como visto no Skipjack.

Na sessão 4.1 será apresentada de forma geral o funcionamento da GP, na sessão

4.2 as operações utilizadas na reprodução. O biblioteca que implementa a PG utilizado

foi o Lil-GP, apresentado na sessão 4.3, assim como suas modificações para geração de

algoritmos criptográficos.

4.1 FUNCIONAMENTO DA PG

Esse método é bastante similar aos famosos AGs, mas ao invés de retornar uma

resposta ótima para uma equação, retorna, por exemplo, um algoritmo adaptado para

certas condições. Este programa é geralmente representado por uma estrutura de

árvores, onde cada nó é uma função, que recebe uma entrada de cada filho e retorna

uma saída para o pai, e onde o nó raiz retorna a saída final do programa. Assim a PG

segue os seguintes passos:

População inicial: uma população inicial de algoritmos, que pode ser randômica

(quando não se tem solução para o problema), ou utilizar os melhores algoritmos

atuais para resolver o problema (quando se deseja otimizar alguma característica

em especial);

Aptidão (Fitness): é a avaliação do desempenho de cada indivíduo da população,

medindo o quanto o resultado daquela espécie é melhor comparativamente aos

demais;

Seleção: escolhe os indivíduos com melhor aptidão dentre a população anterior

para gerar a próxima população. Esses indivíduos poderão passar por reprodução,

crossover ou mutação;

Reprodução: escolhe-se um número de indivíduos aptos, sendo estes copiados,

sem alteração, para a nova população;

Crossover: cada gene pode ser trocado entre dois indivíduos, de acordo com uma

probabilidade uniforme, gerando dois filhos;

Mutação: pequena probabilidade de um ou mais genes aleatórios serem trocados

por outro qualquer, gerando um novo indivíduo levemente modificado;

Page 55: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

37

Nova população: a partir dos processos de reprodução, crossover e mutação uma

nova população é gerada;

Critério de parada: são verificados critérios de parada, que podem conter: número

máximo de iterações, para que o programa possa parar (condição obrigatória);

detecção de nível de aptidão, retornando soluções melhores que as iniciais mais

rapidamente; e taxa de variedade da população, parando o programa caso ele não

esteja conseguindo variar mais a população.

o Se o critério de parada for satisfeito, o teste de aptidão deverá ser realizado,

retornando o melhor indivíduo da população atual;

o Se não for satisfeito deve retornar para o segundo passo.

A Figura 16 apresenta a ordem de execução desses passos, apresentado a

probabilidades de crossover Pcross, probabilidade de reprodução Preprod e probabilidade

de mutação Pmut. Algumas PGs não se utilizam do passo de reprodução, visto que o

crossover é semelhante em alguns aspectos ao primeiro, trocando de genes entre dois

indivíduos [Koza, 1998].

Figura 16 - Diagrama de execução de um algoritmo de Programação Genética.

Fonte: Gisele L. Pappa (2012).

Page 56: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

38

Outras duas variações importantes da PG são:

Linear Genetic Programming (LGP, Programação Genética Linear): utiliza uma

estrutura linear para representar os indivíduos, em substituição ao uso da estrutura

de árvores. Apesar da representação linear, também pode ser utilizada para

representação de algoritmos não lineares [Banzhaf et al., 1998][Brameier, 2004].

Meta PG: consiste na criação de um primeiro algoritmo de PG que altera os

parâmetros de uma população de algoritmos, mas, na verdade, são algoritmos de

PG para resolução de um problema específico [Schmidhuber, 1987];

Cartesian Genetic Programming (CGP, ou Programação Genética Cartesiana):

programação genética que se utiliza da representação de grafos acíclicos para

representar os indivíduos, armazenando-os em uma tabela de grafos [Miller,

2011].

4.2 OPERAÇÕES DA PG

Para exemplificar como funcionam as operações de um Algoritmo de PG, será

apresentado o problema para achar uma equação F que satisfaça um conjunto de

entradas (x, y, z) = (1, 2, 3) e F(x,y,z) = 0. O mesmo problema pode ser solucionado

estimando a forma de uma equação inicial, mas variando os coeficientes da mesma.

Nesse exemplo cada indivíduo é uma equação única que varia com o tempo.

Primeiro, é necessário definir o conjunto S, com as funções necessárias para se

atingir o resultado. Neste caso foi considerado um conjunto de quatro operações básicas

S = {+, -, *, /}.

Em seguida, deve-se gerar uma população inicial. Para fins didáticos, são

apresentados apenas dois indivíduos iniciais, conforme a Figura 17. O indivíduo (a)

pode ser representado pela expressão ((Y + (Z x 0.5)) + (X – 0,1)) e o indivíduo (b) por

(( X – Y ) – Z ).

Page 57: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

39

Figura 17 - Exemplo de dois indivíduos (a) e (b) distintos em PG.

(a) (b)

Fonte: Gisele L. Pappa (2012).

Valores terminais constantes podem ser adicionados aleatoriamente para obtenção

de dados mais variados, como a inclusão de 0,1 e 0,5, como o indivíduo apresentado na

Figura 17(a).

Em seguida, calcula-se a aptidão de cada indivíduo, que neste caso pode ser dado

pela diferença do resultado desejado e o resultado obtido. Logo, a aptidão do indivíduo

(a) é 4,4 e do indivíduo (b) é -4.

O próximo passo seria selecionar os melhores indivíduos para as próximas etapas.

Geralmente são inclusos indivíduos mais aptos, em alguns casos podem ser mantidos

alguns indivíduos menos aptos de forma aleatória. Como a população inicial no

exemplo é reduzida, ambos indivíduos serão selecionados.

Depois, são realizadas as operações de reprodução. Para isso, um indivíduo apto é

escolhido e copiado para a nova geração.

A operação de crossover envolve dois indivíduos, onde uma subárvore de um

idividuo é substituída por uma subárvore de outro indivíduo, e vice versa. A Figura 18

apresenta um exemplo de crossover realizado entre o indivíduo (a) e o indivíduo (b).

A operação de mutação pode ser realizada de três formas:

Mutação em um Ponto: onde apenas um operador ou operando mudam para outro

operador ou operando, respectivamente, porém, mantendo a mesma classe. Um

operador não pode se tornar um operando e vice-versa. A Figura 19(a) apresenta

Page 58: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

40

um exemplo dessa mutação, mostrando a substituição do operador – por um

operador ÷;

Figura 18 - Exemplo da operação crossover, gerando dois indivíduos, Filho 1 e Filho 2, distintos.

Fonte: Gisele L. Pappa (2012).

Mutação de Expansão: um operando ou operador é expandido adicionando pelo

menos uma nova operação e seus respectivos operadores de forma aleatória. A

Figura 19(b) apresenta um exemplo dessa mutação, mostrando a substituição do

operando Z pela sub-árvore (X – 0,1).

Mutação de Redução: uma sub-árvore é transformada em um operando, reduzindo

o tamanho do indivíduo final. A Figura 19(c) apresenta um exemplo dessa

mutação, apresentando a substituição da sub-árvore (X – 0,1) pelo operando Z.

Finalmente, verifica-se se o algoritmo atingiu o critério de parada, seja a

quantidade de iterações, ou o encontro de um indivíduo com aptidão dentro de um

limite ótimo.

Page 59: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

41

Figura 19 - Exemplo da operação Mutação: (a) Mutação em um Ponto, (b) Mutação de Expansão e (c)

Mutação de Redução. Os nós vermelhos foram alterados.

(a)

(b)

(c)

Fonte: Gisele L. Pappa (2012).

4.3 BIBLIOTECA LIL-GP

Para este trabalho, foi utilizada a biblioteca Lil-GP, uma biblioteca em C, que se

encaixa à proposta de criar algoritmos que funcionem em 8 bits. A utilização da

Page 60: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

42

linguagem C também é importante, pois garante que os algoritmos criptográficos

encontrados possam ser implementados em C, linguagem mais comum para

microcontroladores.

As modificações realizadas na biblioteca foram:

Adaptação para que todos os dados operados pelos algoritmos criptográficos

fossem de 8-bits, através do tipo unsigned char. Apesar do tipo de variável

DATATYPE permitir a alteração em maior parte da biblioteca, algumas

partes, como na visualização e impressão precisaram ser ajustadas em código.

Criação de parâmetro limitando a quantidade mínima de nós da arvores

geradas. Isso foi criado para impedir que o algoritmo gerado fossem triviais,

como simples atribuições ou negações, e se ajustassem apenas a parâmetros

de desempenho e não de segurança.

Apresentação de novas variáveis de aptidão para melhor visualização dos

valores de cada parcelas de funções fitness mais complexas.

Criações de pesos variáveis para permitir execução automática de várias GPs,

cada uma com peso diferente nas funções de aptidão.

Page 61: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

43

5 AVALIAÇÃO CRIPTOGRÁFICA

Para criação de uma função de aptidão adequada para o algoritmo de PG, é

preciso determinar quais as características desejadas para o algoritmo de saída e as

formas de avaliação que representem adequadamente essas características.

Em termos de algoritmos criptográficos, a melhoria de alguma característica

desejada pode resultar na diminuição de outra característica, como memória e tempo de

execução.

Por exemplo, algumas das técnicas de redução do tempo de execução consistem

na troca de uma determinada operação por uma tabela de substituição, cujos valores da

tabela sejam exatamente iguais aos retornos da operação para cada entrada possível.

Para observar o quanto cada métrica influencia na criptografia, foram testados

nove algoritmos criptográficos diferentes, apresentados na seção 3: AES, Blowfish,

DES, RC6, Skipjack, Twofish, T-DES, XTEA e XXTEA. Para cada um deles foram

medidos a memória ocupada, o tempo de execução e qualidade criptográfica. Esta

última é composta por várias métricas de avaliação da segurança da criptografia que

serão apresentadas na seção 5.3.

Com os resultados obtidos e sua avaliação, serão criadas funções de seleção que

permitam a geração de um algoritmo criptográfico com características satisfatórias,

otimizadas para utilização em RSSFs.

Vale ressaltar que existem diversas métricas de segurança que podem ser

utilizadas para a avaliação da qualidade criptográfica. Porém, a adição de cada métrica

aumenta a complexidade da seleção do algoritmo PG, resultando em um grande

quantidade de variáveis a serem medidas e otimizadas, deixando o tempo de testes

impraticável.

Page 62: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

44

Os testes foram realizados em um computador com processador Intel Core I5-

2520M de 2,5 GHz, com 8 GB de memória RAM DDR3-1333 SDRAM, sistema

operacional Windows 7 Ultimate 64 bits. Os algoritmos foram compilados utilizando o

gcc do ambiente de desenvolvimento DEV-C++ versão 4.9.9.2.

5.1 MEMÓRIA UTILIZADA

O tamanho em Bytes dos algoritmos criptográficos foi obtido do código

executável de um programa simples para cada um dos algoritmos criptográficos. O

valor normalizado foi obtido considerando o menor como sendo o melhor caso (100%)

e os demais obtidos por:

𝑇𝑎𝑚𝑁 =

𝑇𝑎𝑚

𝑇𝑎𝑚𝑀∗ 100%

(13)

Em que Tam é o espaço ocupado pelo indivíduo e TamM é o tamanho do melhor

indivíduo base.

A Figura 20 apresenta o espaço em memória ocupado pelos algoritmos

criptográficos, onde as colunas representam a memória ocupada total e a linha

representa o valor normalizado. A Tabela 1 do apresenta os valores absolutos e

normalizados da memória ocupada.

Page 63: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

45

Figura 20 - Espaço ocupado: colunas azuis representam o espaço em Bytes e a linha vermelha representa

o valor normalizado em %.

Fonte: Elaborado pelo autor.

Tabela 1 - Espaço ocupado pelos algoritmos criptográficos.

MEMÓRIA OCUPADA (BYTES) TOTAL NORMALIZAÇÃO

AES 9.437 16,16%

RC6 5.097 30,8%

DES 8.526 18,41%

TDES 9.038 17,37%

BLOWFISH 6.340 24,76%

TWOFISH 7.580 20,71%

XTEA 2.115 74,23%

XXTEA 1.570 100,00%

SKIPJACK 9.400 16,70%

O XTEA e o XXTEA não possuem um algoritmo de expansão de chaves. O

mesmo algoritmo é utilizado tanto para criptografia como para descriptografia, obtendo,

dessa forma, o melhor resultado quanto ao espaço ocupado.

0,00%

20,00%

40,00%

60,00%

80,00%

100,00%

120,00%

0

2.000

4.000

6.000

8.000

10.000

Memória Utilizada (Bytes)

Total Normalização

Page 64: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

46

5.2 TEMPO DE EXECUÇÃO

O tempo de execução do algoritmo criptográfico foi obtido para cada função

usando-se a função clock(). Como os algoritmos criptográficos são muito rápidos na

criptografia de imagens pequenas (com 200x200 pixels), foi preciso medir o tempo

inicial e o tempo final de 10 mil execuções de cada algoritmo e em seguida dividir o

resultado pela quantidade de vezes que o algoritmo foi executado.

A Figura 21 apresenta os resultados de desempenho pelo algoritmo, em valores

normalizados, obtidos considerando o rápido como sendo 100% e os demais com uma

regra de três simples. A Tabela 2 apresentando os valores absolutos e normalizados do

tempo de execução.

Tabela 2- Tempo de execução dos algoritmos criptográficos.

Tempo De

Execução (µs)

Expansão

De Chaves

Normalizado Criptografia/De

scriptografia

Normalizado Média

Ponderada

AES 0,719 5,16% 0,707 100,00% 68,38%

RC6 0,3437 10,79% 2,50875 28,18% 22,38%

DES 33,58 0,0639% 69,01 1,02% 0,7%

TDES 33,58 0,0639% 214,03 0,33% 0,24%

BLOWFISH 216,0 0,0171% 0,82825 85,36% 56%,91%

TWOFISH 0,0371 100% 2,0791 34,00% 56%

XTEA -- -- 1,094 64,62% 64,62%

XXTEA -- -- 1,094 64,62% 64,62%

SKIPJACK 0,0828 44,80% 0,88415 79,96% 68,24%

A média ponderada considerou o tempo de criptografia/descriptografia com peso

2 (dois) e a expansão de chaves com peso 1 (um), de acordo com a Equação 14.

𝑇𝑁 = (

0,33 𝑇𝐾𝑀

𝑇𝐾+

0,66 (𝑇𝐶𝑀 + 𝑇𝐷𝑀)

𝑇𝐶 + 𝑇𝐷) ∗ 100

(14)

Page 65: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

47

Onde TK é o tempo de expansão de chaves, TC e TD o tempo de criptografia e

descriptografia, sendo TKM, TCM e TDM os tempos do melhor indivíduo com aquela

característica.

Figura 21 - Tempo de Execução.

Fonte: Elaborado pelo autor.

5.3 AVALIAÇÃO DA QUALIDADE CRIPTOGRÁFICA

A estratégia escolhida para desenvolver uma função de aptidão é baseada na

avaliação de métricas de qualidade criptográficas e os resultados destas em testes nos

algoritmos criptográficos. Depois é verificado o quanto cada métrica deve contribuir

para a função de aptidão, comparando sempre com o valor normalizado.

Devido aos dados obtidos por sensores serem geralmente pequenos, geralmente

entre 4 bytes e 10 bytes por mensagem, e em alguns casos também possuírem pouca

diferença entre uma amostra e outra, é preferível utilizar imagens padrão, com

características conhecidas, para o teste do algoritmo.

5,1

6%

10

,79

% 0,0

6%

0,0

6%

0,0

2%

10

0%

0 0

44

,80

%

10

0,0

0%

28

,18

%

1,0

2%

0,3

3%

85

,36

%

34

,00

%

64

,62

%

64

,62

%

79

,96

%

68

,38

%

22

,38

%

0,7

0%

0,2

4%

56

,91

%

56

%

64

,62

%

64

,62

%

68

,24

%

0,00%

20,00%

40,00%

60,00%

80,00%

100,00%

120,00%

AES RC6 DES TDES Blowfish Twofish XTEA XXTEA Skipjack

Tempo de Execução (Normalizados)

Expansão de Chaves Encriptação/Decriptação Média Ponderada

Page 66: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

48

As figuras utilizadas para o teste comparativo entre os algoritmos foram: lena, a

imagem mais utilizada em artigos científicos; cameraman, utilizada por possuir tons de

cinza e áreas claras e escuras; mandrill, uma imagem com grande contraste de cores de

alta frequência; testpat, uma imagem com quadrados de vários tamanhos de várias

tonalidades de cinza e no centro a imagem lena. Todas as imagens foram obtidas do The

USC-SIPI Image Database [Weber, 2015].

Os resultados dessa criptografia foram utilizados para alimentar as ajustar a

importância de cada métrica na avaliação da qualidade criptográfica. Na Figura 22

podem ser observadas as imagens utilizadas na criptografia.

Figura 22 – Imagens padrão: (a) lena, (b) cameraman, (c) mandril e (d) testpat.

(a) (b)

(c) (d)

Fonte: Weber (2015).

Page 67: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

49

5.3.1 Desvio Máximo (DM)

Considerando a aplicação da criptografia em uma imagem, a mudança dos valores

dos pixels comparados com aqueles valores antes da criptografia, permite uma avaliação

da medida de sua qualidade. O Desvio Máximo (DM) mede o quanto a imagem

criptografada desviou da imagem original [Ahmad & Ahmed, 2012] [Ahmed et al.,

2007] [El-Fishawy & Zaid, 2007].

Para calcular o DM, é preciso calcular inicialmente o histograma da diferença

absoluta entre dois histogramas de entrada e de saída e definido pela Equação 15.

𝑑𝐿 = |ℎ𝐿(𝐹`) − ℎ𝐿(𝐹)| (15)

Onde F, F’ denotam a imagem original e a imagem criptografada,

respectivamente, cada uma com tamanho M * N pixels com L níveis de cinza. F(x,y),

F’(x,y) ∈ {0,..,L −1} são os níveis de cinza da imagem F, F’ na posição (x,y), onde 0 ≤

x ≤ M −1 e 0 ≤ y ≤ N −1. Define-se hL (F) como sendo o número de ocorrências de cada

nível de cinza L na imagem original e hL (F’) como sendo o número de ocorrências dos

L níveis de cinza da imagem criptografada.

Em seguida é calculado o somatório do histograma da diferença absoluta dado

por:

𝐷𝑀 = 𝑑0 + 𝑑255

2+ ∑ 𝑑𝑖

254

𝑖=1

(16)

Quanto maior for o valor de DM, mais a imagem criptografada desvia da imagem

original, resultando em uma melhor criptografia.

O DM normalizado é dado por:

𝐷𝑀𝑁 =𝐷𝑀

𝐷𝑀𝑀∗ 100%

(17)

Onde DMN é o valor normalizado em porcentagem e DMM é o maior desvio

máximo entre os algoritmos estudados para cada imagem.

Page 68: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

50

A Figura 23 apresenta o resultado do DM dos nove algoritmos testados. Os

melhores resultados para cada imagem foram XTEA, XXTEA, Skipjack e RC6, para as

imagens lena, cameraman, mandrill e testpat, respectivamente. As Tabelas 3 e 4

apresentam os valores absolutos e normalizados do DM.

Tabela 3 - Qualidade criptográfica.

Algoritmo Desvio

Máximo

Desvio

Irregular

Coeficiente de

Correlação

Efeito

Avalanche

AES 236.808,5 191.350,0 0,1031 0,485

RC6 242.349,0 288.222,0 0,1469 0,0222

DES 240.501,0 194.400,0 -0,3313 0,284

TDES 240.501,0 194.400,0 -0,3313 0,284

BLOWFISH 60.404,5 286.769,0 0,6558 0,0078

TWOFISH 227.133,5 283.756,0 0,761 0,0078

XTEA 244.182,0 199.396,0 0,4892 0,0578

XXTEA 219.336,0 245.308,0 0,0142 0,5291

SKIPJACK 238.476,5 195.440,0 -0,0433 0,2501

Fonte: Elaborado pelo autor.

Tabela 4 - Qualidade criptográfica normalizada.

Algoritmo DM

Normalizado

DI

Normalizado

Média

Normalizada

Média

Ponderada

AES 42,21% 98,3% 70,25% 79,61%

RC6 41,19% 100% 70,59% 80,39%

DES 42,48% 97,08% 69,78% 79,36%

TDES 42,48% 97,08% 69,78% 79,36%

BLOWFISH 11,67% 53,28% 32,47% 39,41%

TWOFISH 42,08% 61,65% 51,86% 55,12%

XTEA 45,93% 91,34% 68,63% 76,20%

XXTEA 100,0% 60,14% 80,07% 73,43%

SKIPJACK 43,08% 97,57% 70,32% 79,40%

Fonte: Elaborado pelo autor.

Page 69: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

51

Essa métrica sozinha não é garantia de segurança, pois uma imagem com o maior

DM possível seria, na verdade, o inverso da imagem, o que não seria de grande ajuda

para esconder a informação, tendo, em contra partida, o pior desvio irregular possível.

Figura 23 - Desvio Máximo (DM).

Fonte: Elaborado pelo autor.

5.3.2 Desvio Irregular (DI)

O desvio do histograma é um bom fator para medir a qualidade da criptografia,

mas não é suficiente. Sendo necessário randomizar os valores dos pixels de entrada de

maneira uniforme, i.e., o Desvio Irregular (DI). Isso ajuda a impedir que alguns pixels

causem grandes mudanças e outros pixels mudanças menores, permitindo, assim,

detectar ocorrências de um determinado valor em detrimento de outro [Ahmad &

Ahmed, 2012] [El-Fishawy & Zaid, 2007].

100% 100% 100%100%

0%

20%

40%

60%

80%

100%

120%

AES RC6 XTEA XXTEA BLOWFISH TWOFISH SKIPJACK DES TDES

Desvio Maximo (normalizado)

Lenna Cman Mandrill Testpatern

Page 70: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

52

Primeiro, é calculado o valor médio do histograma da diferença absoluta entre as

imagens criptografadas C e a imagem original P, dado por:

𝐻𝑀 =1

256∑ ℎ𝑖(𝐷), 𝑜𝑛𝑑𝑒 𝐷 = |𝑃 − 𝐶|

255

𝑖=0

(18)

Em seguida, calcula-se o somatório da diferença absoluta entre o histograma de D

e o valor médio do histograma de D, como apresentado a seguir:

𝐷𝑒𝑠𝑣𝑖𝑜 𝐼𝑟𝑟𝑒𝑔𝑢𝑙𝑎𝑟 = 𝐷𝐼 = ∑|ℎ𝑖(𝐷) − 𝐻𝑀|

255

𝑖=0

(19)

Quanto menor for o valor de DI, melhor a qualidade da criptografia,

representando que o dado foi criptografado e espalhado uniformemente.

O DI normalizado é dado por:

𝐷𝐼𝑁 =𝐷𝑀𝑀

𝐷𝐼∗ 100%

(20)

Onde DIN é o valor normalizado em porcentagem e DIM é o menor desvio

irregular entre os algoritmos estudados para cada imagem.

A Figura 24 apresenta o resultado normalizado do DI dos nove algoritmos

testados. Os melhores resultados para cada imagem foram AES para a imagem lena e

testpat, DES e TDES para a imagem cameraman, e o XXTEA para a imagem mandrill.

As Tabelas 3 e 4 apresentam os valores absolutos e normalizados do DI.

É interessante notar que nenhum dos algoritmos obteve os melhores resultados

para cada imagem. O único que obteve o melhor resultado, mas para imagens diferentes,

foi o XXTEA. Isto indica que a maximização e minimização do DM e do DI,

respectivamente, é difícil de conseguir nos algoritmos testados.

Page 71: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

53

Figura 24 - Desvio Irregular (DI).

Fonte: Elaborado pelo autor.

5.3.3 Coeficiente de Correlação (CC)

O Coeficiente de Correlação (CC) é uma medida de similaridade entre duas

variáveis [Ahmad & Ahmed, 2012] [Ahmed et al., 2007] [El-Fishawy & Zaid, 2007]. Se

as duas variáveis forem uma imagem e sua criptografia, então elas estão em perfeita

correlação (ou seja, CC igual a um) caso elas sejam altamente dependentes (idênticas).

Nesta situação, o processo de criptografia falhou em esconder os detalhes da imagem

original. Se o coeficiente de correlação for igual a zero, então a imagem original e a

imagem criptografada são totalmente diferentes, isto é, a imagem criptografada não

possui nenhuma característica reconhecível e é altamente descorrelacionada da imagem

original. Se o CC for igual a -1, isto significa que a imagem criptografada é o negativo

da imagem original. O CC é medido por:

𝐶𝐶 =

𝑐𝑜𝑣(𝑥, 𝑦)

𝜎𝑥𝜎𝑦=

∑ (𝑥𝑖 − 𝐸(𝑥))(𝑦𝑖 − 𝐸(𝑦) )𝑁𝑖=1

√∑ (𝑥𝑖 − 𝐸(𝑥))2𝑁𝑖=1 √∑ (𝑦𝑖 − 𝐸(𝑦))2𝑁

𝑖=1

(21)

100% 100% 100%100%100%

0%

20%

40%

60%

80%

100%

120%

AES RC6 XTEA XXTEA BLOWFISH TWOFISH SKIPJACK DES TDES

Desvio Irregular (normalizado)

Lenna Cman Mandrill Testpatern

Page 72: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

54

Onde 𝐸(𝑥) = 1

𝑁∑ 𝑥𝑖

𝑁𝑖=1 , e x e y são os valores de cinza do pixel da imagem

original e criptografada. O sucesso do processo de criptografia significa valores

menores de CC.

O CC normalizado é dado por:

𝐶𝐶𝑁 =𝐶𝐶𝑀

𝐶𝐶∗ 100%

(22)

Onde CCN é o valor normalizado em porcentagem e CCM é o menor coeficiente de

correlação entre os algoritmos estudados para cada imagem.

A Figura 25 apresenta o resultado do coeficiente de correlação normalizado dos

nove algoritmos testados. Os algoritmos que obtiveram os melhores resultados foram o

XXTEA com as imagens lena e testpat, o Skipjack com a imagem cameraman, e o DES

e TDES juntos com a imagem mandrill. A Tabela 3 apresenta os valores absolutos do

CC.

Estes resultados confronta diretamente a eficácia do AES, mas, outra vez, não se

deve comparar os resultados de forma isolada, pois é a combinação dos principais

fatores que indicam sua eficácia.

Figura 25 – Coeficiente de Correlação (CC).

Fonte: Elaborado pelo autor.

100% 100% 100% 100%100%

0%

20%

40%

60%

80%

100%

120%

AES RC6 XTEA XXTEA BLOWFISH TWOFISH SKIPJACK DES TDES

Coeficiente de Correlação (normalizado)

Lenna Cman Mandrill Testpatern

Page 73: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

55

5.3.4 Efeito Avalanche (EA)

O Efeito Avalanche (EA) é a capacidade de uma criptografia em gerar mudanças

significativas de dois textos criptografados a partir de dois dados originais levemente

diferentes ou de um mesmo dado criptografado por duas chaves ligeiramente diferentes

[Ahmad & Ahmed, 2012]. Considerando uma imagem de tamanho T, o efeito avalanche

é dado pela Equação 20.

𝐸𝐴 =1

𝑇∑[𝐶1(𝑖) − 𝐶2(𝑖)]

𝑇−1

𝑖=0

(20)

Onde C1(i) é C2(i) são os bytes de índice i de duas imagens criptografadas que

originalmente são levemente diferentes (um bit diferente por byte). Assim, quando o EA

for 0,5 a criptografia é ótima, 1 se ela é exatamente o oposto e 0 se não houve efeito

avalanche.

O EA normalizado é dado por:

𝐸𝐴𝑁 =|𝐸𝐴𝑀 − 0,5|

|𝐸𝐴 − 0,5|∗ 100%

(24)

Onde EAN é o valor normalizado em porcentagem e EAM é o efeito avalanche que

mais se aproxima de 0,5 entre os algoritmos estudados para cada imagem.

A Figura 26 apresenta o resultado do efeito avalanche dos nove algoritmos

testados, indicando que os únicos que obtiveram resultados satisfatórios foram o AES e

o XXTEA. Sendo que o primeiro se mostrou o melhor em três imagens e o XXTEA foi

melhor na imagem testpatern. Isso se deve, principalmente, a maioria dos algoritmos

trabalharem com blocos de informação pequenos. Sendo que apenas o AES e o XXTEA

trabalham com bloco de informação de 16 Bytes. A Tabela 3 apresenta os valores

absolutos do EA.

Page 74: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

56

Figura 26 – Efeito Avalanche (EA).

Fonte: Elaborado pelo autor.

O EA é importante para grandes conjuntos de dados, onde a criptanálise

diferencial é mais facilmente aplicada, mas em conjuntos de dados pequenos como os

gerados por RSSFs, esta característica pode não ser tão importante.

5.3.5 Outras Métricas

Existem outras métricas que ajudam a avaliar se um algoritmo criptográfico é ou

não seguro. Algumas delas oferecem informações semelhantes a outras, alguns

indicando quantidade sobre um fator de variação e outros indicando a intensidade dessa

variação, como a Intensidade Média Unificada da Mudança (IMUM) e a Taxa de

Mudança do Número de Pixels (TMNP).

0%

20%

40%

60%

80%

100%

120%

AES RC6 XTEA XXTEA BLOWFISH TWOFISH SKIPJACK DES TDES

Efeito Avalanche (normalizado)

Lenna Cman Mandrill Testpatern

Page 75: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

57

A) Análise de Entropia

Um sistema de transmissão de dados sempre possui um grau de incerteza dado

pela entropia do sistema, mas um sistema com dados criptografados deve possuir uma

entropia maior que seu análogo não criptografado [Ahmad & Ahmed, 2012]. A

entropia, para um dado com palavras de 8 bits, é dada por:

𝐻(𝑚) = ∑ 𝑝(𝑚𝑖). 𝑙𝑜𝑔2

1

𝑝(𝑚𝑖)

255

𝑖=0

(215)

Onde p(mi) representa a probabilidade de ocorrência do símbolo mi. Neste caso a

entropia ideal é 8 bits, que equivale a um sistema randômico. Sendo que, em sistemas de

informação, este valor deve ser menor que 8 bits, dado que raramente a fonte é

equiprovável.

B) Desvio do Histograma Uniforme (DHU)

O Desvio do Histograma Uniforme (DHU) indica o quanto a informação

criptografada foi bem espalhada no espectro dado pelo histograma [Ahmad & Ahmed,

2012]. Onde HCi é o valor da probabilidade de ocorrência do índice i do texto

criptografado e T é o tamanho da informação em bytes, dado por:

𝐻𝐶𝑖 = {

𝑇

256 0 ≤ 𝐶𝑖 ≤ 255

0 𝑑𝑒𝑚𝑎𝑖𝑠 𝑐𝑎𝑠𝑜𝑠

(22)

O DHU é dado pela Equação 23.

𝐷𝐻𝑈 =

∑ |𝐻𝐶𝑖 − 𝐻𝐶|255𝐶𝑖=0

𝑇

(23)

Onde HC é o histograma da mensagem criptografada.

Quanto menor for o valor de DHU, melhor é a criptografia. Indicando que o

histograma está mais próximo do histograma uniforme, o que seria o caso ideal.

Page 76: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

58

C) Taxa de Pico de Sinal-Ruído (TPSR)

A Taxa de Pico de Sinal-Ruído (TPSR) mede a mudança nos bytes dos valores

entre o dado original de tamanho T, e com palavras de índice Pi, e o dado criptografado

com palavras de índice Ci [Ahmad & Ahmed, 2012], conforme segue:

𝑇𝑃𝑆𝑅 = 10 × 𝑙𝑜𝑔10 [

𝑇 × 2552

∑ (𝑃𝑖 − 𝐶𝑖)2𝑇−1𝑖=0

] (24)

Quanto menor for o valor de TPSR, melhor é a qualidade da criptografia.

D) Taxa de Mudança do Número de Pixels (TMNP)

Considerando a criptografia de imagens, a Taxa de Mudança do Número de Pixels

(TMNP) mede a porcentagem de bits diferentes entre dois textos criptografados gerados

a partir de dois dados levemente diferentes [Ahmad & Ahmed, 2012]. Considerando

C1(i) e C2(i) duas palavras de mesmo índice i de dois textos criptografados variando

apenas 1 bit entre si, o D(i) um vetor cujo tamanho T seja igual ao do dado original, e o

seu valor seja 0 caso C1(i) = C2(i) e 1 caso contrário, a taxa de mudança do número de

pixels é dada por:

𝑇𝑀𝑁𝑃 =

∑ 𝐷(𝑖)𝑖

𝑇× 100%

(25)

Fica evidente que quanto maior for a TMNP, melhor é o algoritmo criptográfico.

Essa medida é importante devido a dados de sensores nem sempre variarem muito um

do outro.

E) Intensidade Média Unificada da Mudança (IMUM)

Enquanto o TMNP mede a quantidade de bytes que variou ou não entre dois

dados criptografados a partir de duas imagens com pequena diferença, a Intensidade

Média Unificada da Mudança (IMUM) mede o quanto esses bits mudaram [Ahmad &

Ahmed, 2012]. Considerando as mesmas variáveis da TMNP, a IMUM é apresentada

por:

𝐼𝑀𝑈𝑀 =1

𝑇[∑

𝐶1(𝑖) − 𝐶2(𝑖)

255

𝑇−1

𝑖=0

] × 100%

(30)

Page 77: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

59

Quanto maior for a IMUM, melhor é a qualidade da criptografia. Em relação às

RSSFs, como os dados trafegados geralmente são poucos, é mais indicado que a

quantidade de variação seja mais importante que a intensidade.

5.4 ANÁLISE DOS DADOS

Para analisar de forma apropriada os dados obtidos acima, é necessário avaliá-los

em conjunto, combinando a memória ocupada, tempo de execução e qualidade

criptográfica, em uma única fórmula que possa ser aplicada ao algoritmo de

programação genética.

Inicialmente, deve-se calcular uma forma adequada para medir as métricas de

qualidade criptográfica em conjunto. Porém, para isso, será analisada a relação entre o

DM e o DI, a fim de reduzir os parâmetros a serem otimizados pelo algoritmo de PG.

5.4.1 Razão Desvio Máximo e Irregular (RDMI)

Para a busca de um algoritmo criptográfico que gere maior diferença entre o dado

original e o dado criptografado, mas que espalhe de forma irregular a imagem, um bom

algoritmo criptográfico deve ser capaz de gerar grandes valores de DM e pequenos

valores de DI. Para diminuir o número de variáveis a otimizar, podemos então analisar a

relação entre o DM e o DI, que chamaremos de Razão Desvio Máximo e Irregular

(RDMI). O RDMI é dado por:

𝑅𝐷𝑀𝐼 = (

𝐷𝑀

𝐷𝐼𝑥

𝐷𝐼𝑀

𝐷𝑀𝑀) ∗ 100

(31)

Page 78: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

60

Onde DM e DI são os desvios máximo e irregular, e DMM e DIM os desvios do

melhor indivíduo.

A Figura 27 apresenta o RDMI obtido pelos algoritmos criptográficos em relação

às imagens, onde podemos perceber que os melhores RDMI também indicam ou o

melhor caso de DM ou o melhor caso de DI, como pode ser visto com mais detalhe na

Tabela 3. Assim, percebe-se que podemos substituir as otimizações do DM e do DI

apenas pela otimização do RDMI, reduzindo, então, o número de variáveis a serem

analisadas pelo algoritmo de PG.

Figura 27 - Comparação entre DM, DI e RDMI.

Fonte: Elaborado pelo autor.

5.4.2 Qualidade Criptográfica Média

0%10%20%30%40%50%60%70%80%90%

100%

DM, DI e RDMI

DM DI RDMI

Page 79: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

61

A qualidade criptográfica média normalizada pode ser definida de duas maneiras,

utilizando o DM e DI, ou utilizando o RDMI, gerando as métricas Q1N e Q2N, definidas

por:

𝑄1𝑁 = (

0,25 𝐷𝑀

𝐷𝑀𝑀+

0,25 𝐷𝐼𝑀

𝐷𝐼+

0,25 𝐶𝐶𝑀

𝐶𝐶+

0,25 𝐴𝐸𝑀

𝐴𝐸) ∗ 100

(32)

𝑄2𝑁 = (

0,33 𝑅𝐷𝑀𝐼

𝑅𝐷𝑀𝐼𝑀+

0,33 𝐶𝐶𝑀

𝐶𝐶+

0,33 𝐴𝐸𝑀

𝐴𝐸) ∗ 100

(33)

Onde RDMIM é e o valor máximo de RDMI encontrado, e CC e AE são os

Coeficiente de Correlação e Efeito Avalanche, respectivamente. CCM e AEM são os

melhores valores encontrados nos testes. Os demais valores são os mesmos utilizados

em (31)

A Figura 28 apresenta a média das métricas dos resultados obtidos nas quatro

imagens e fornecem uma comparação geral dos testes feitos em relação à qualidade

criptográfica por métrica. É possível perceber que o AES obteve valores mais altos de

DI e de AE, não ficando muito distante em relação ao DM. Resultado, portanto, apenas

em 4% abaixo do primeiro. Em relação ao CC, o melhor foi o XXTEA, com uma

diferença de 10% em relação ao AES, o segundo colocado.

Figura 28 - Média dos valores das imagens por métrica.

Fonte: Elaborado pelo autor.

90% 94% 92%91%

87%

77%

0%10%20%30%40%50%60%70%80%90%

100%

Média das Imagens

DM DI CC EA

Page 80: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

62

Fazendo a mesma análise usando o RDMI ao invés do DM e do DI, como visto na

Figura 29, chegamos à conclusão de que o AES se sai melhor que o XXTEA

considerando esta métrica, mostrando que o RDMI pode ser utilizado como substituição

para o uso do DM e do DI separadamente.

Figura 29 - Média dos valores das imagens com RDMI por métrica.

Fonte: Elaborado pelo autor.

Quando é feita a média entre as métricas para cada algoritmo, como observado na

Figura 30, obtemos resultados interessantes. O XXTEA aparece como o algoritmo com

maior média, com 81% contra 73% do AES. Considerando o RDMI, essa diferença

aumenta, com o XXTEA com 78% e o AES com 66%. Isso indica que mesmo com bons

resultados nas métricas, os algoritmos devem ser analisados com cuidado, pois ainda

podem ter falhas de segurança.

90% 87%77%

0%

20%

40%

60%

80%

100%

Média das Imagens com RDMI

RDMI CC EA

Page 81: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

63

Figura 30 - Média dos valores das imagens por métrica.

Fonte: Elaborado pelo autor.

5.4.3 Funções de Aptidão

Considerando as Equações (13), (14) e (33), pode-se finalmente desenvolver uma

função de aptidão Fit, que poderá ser utilizada no algoritmo de PG, considerando todas

as medidas com igual peso, como definido a seguir:

𝐹𝑖𝑡 = (𝑆𝑖𝑧𝑒𝑁 + 𝑇𝑁 + 𝑄2𝑁 ) / 3 (26)

A Figura 31 apresenta a aptidão dos algoritmos criptográficos utilizados em (30),

indicando que o algoritmo mais apto é o XXTEA, seguido pelo XTEA e o AES. O

principal fator pelo qual o AES perde tanto para o XXTEA quanto para o XTEA, é a

memória ocupada,

73

%

81

%

66

%

78

%

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

Qualidade Criptográfica Média 1 e Média 2

Média 1 Média 2

Page 82: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

64

Figura 31 - Fit e FitP dos algoritmos criptográficos.

Fonte: Elaborado pelo autor.

Em alguns casos algumas características são mais importantes que outras, como o

tempo de execução em detrimento da memória. Resultando em uma função de aptidão

ponderada FitP. Considerando o tempo de execução com peso 3 e a qualidade

criptográfica com peso 2, obtém-se:

𝐹𝑖𝑡𝑃 = ( 𝑆𝑖𝑧𝑒𝑁 + 3 𝑇𝑁 + 2 𝑄𝑁 ) / 6 (27)

Pode-se, então, validar a função FitP calculando a aptidão de cada um dos nove

algoritmos testados anteriormente, como apresentado na Figura 31. É perceptível que a

diferença do AES para o XXTEA foi reduzida em 3%, contra 18% de diferença

utilizando a Equação 28.

Assim, verifica-se a necessidade de utilização de fórmulas de aptidão ponderadas

para otimizar o processo de seleção do algoritmo PG, já que, mantendo os pesos

estáticos, pode-se incorrer em um problema de mínimo/máximo local indesejável.

50%

68%

59%62%

0%

10%

20%

30%

40%

50%

60%

70%

80%

AES RC6 CRY DES TDES Blowfish Twofish XTEA XXTEA Skipjack

Fit e FitP

Avaliação 1 Avaliação 2

Page 83: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

65

6 RESULTADOS E DISCUSSÕES

Os testes realizados utilizando o algoritmo PG ocorreram em duas fases. A

primeira fase buscou-se um algoritmo utilizando apenas o Desvio Máximo (DM) e o

Desvio Irregular (DI). Na segunda fase foi utilizada a Razão dos Desvios Máximo e

Irregular (RDMI) e o Coeficiente de Correlação (CC).

Neste trabalho o Efeito Avalanche (EA) não foi utilizado na otimização pelo

algoritmo PG, devido a dois motivos:

a) Os dados gerados por RSSFs costumam ser enviados em mensagens pequenas,

onde o EA não é de grande importância.

b) Nas RSSFs os pacotes podem ser perdidos, isso impede que modos de

cifragem em cadeia sejam utilizados, reduzindo bastante o EA dos algoritmos

criptográficos.

Em ambas as fases foram utilizadas o tempo de execução na função de aptidão do

algoritmo PG. Já a memória ocupada não foi utilizada, pois a utilização de estrutura de

árvores criadas pela PG não representar fielmente o tamanho do algoritmo de forma

confiável. Por isso a memória ocupada só poderá ser calculada após os resultados finais.

Para compensar esse problema foi utilizado a limitação de número de nós máximos na

árvore de 50 nós. Outro fator que também ajuda a compensar essa limitação é a

utilização da otimização do tempo de execução, devido à relação de algoritmos

pequenos com o tempo de execução.

Outra grande diferença entre as fases é a utilização de pesos variáveis, o que

permite alterar os pesos da Equação (31) para obtenção de resultados mais amplos, a

fim de descobrir quais os melhores pesos na geração de algoritmos criptográficos.

Page 84: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

66

A quantidade de bytes cifrados por rodada também foi alterada de 8 bytes para 16

bytes na fase final, que ajuda a melhorar as qualidades criptográficas e compensar um

pouco a falta de otimização do EA do algoritmo final. Também foi incluído um fator de

mutação na fase final de testes, com o intuito de ajudar a sair de problemas de mínimos

locais.

Na primeira fase, apesar de ser testada em uma versão mais simples do sistema, é

importante para avaliar o impacto dos resultados dos testes com e sem o CC. Esse

estudo inicial também já foi revisado e publicado anteriormente [Semente, 2014], mas

algumas falhas encontradas mais recentemente devem ser apontadas para a

compreensão e melhoria, o que culminou na segunda fase.

Para ambas as fases foi utilizada a biblioteca Lil-GP [Punch & Zongker, 1998]. A

biblioteca utiliza a linguagem C e oferece ao usuário uma programação fácil do

conjunto de funções, da função de avaliação e dos parâmetros da PG.

6.1 AVALIAÇÃO INICIAL DA PG CRIPTOGRÁFICA

O conjunto de funções utilizada na fase inicial foi baseado em [Hernandez-Castro

et al., 2006], são eles: sum, xor, lshift, and, not, mult. Também foram adicionadas

constantes geradas aleatoriamente.

Oito variáveis independentes de 8-bits foram usadas como nodos terminais,

representando oito bytes de dados a serem criptografados.

Os parâmetros usados na PG foram: a população de 200 indivíduos, 8.192

exemplos de teste e 1.000 gerações, que foram suficientes para a convergência. Os

exemplos são conjuntos de dados gerados aleatoriamente para cada teste.

Um limite máximo de 50 nós foi estabelecido. Também foi necessário criar um

limite mínimo de 6 nodos. Para a profundidade da árvore não foi posto um limite. Os

fatores de reprodução e crossover foram definidos como 0,8 e 0,2, respectivamente. A

Page 85: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

67

random seed usada foi 1234567890. Estes parâmetros foram escolhidos seguindo a

metodologia de [Estevez-Tapiador et a., 2008].

A função de avaliação utilizada nesta fase é dada por:

𝐹𝑖𝑡𝑓𝑖𝑛𝑎𝑙−1 = (0,2 𝑇𝑁 + (

0,4 𝐷𝑀

𝐷𝑀𝑀+

0,4 𝐷𝐼𝑀

𝐷𝐼) )

(

28)

Após 20 rodadas da PG, foi encontrado um algoritmo criptográfico que foi

nomeado de CRYSEED, representado pelo resultado mostrado na Figura 32.

Figura 32 - Árvore encontrada pelo PG, representando um algoritmo criptográfico.

Fonte: Elaborado pelo autor.

O pseudocódigo dos algoritmos que representam a criptografia e descriptografia

são descritos nas Figuras 33 e 34, respectivamente, e seus códigos em linguagem C se

encontram no Apêndice A. O algoritmo de descriptografia foi desenvolvido seguindo a

ordem inversa de execução e operações do algoritmo de criptografia.

A) Tempo de Execução

O tempo de execução do algoritmo criptográfico foi obtido como descrito na

Sessão 5.2. A Tabela 5 apresenta o resultado do desempenho dos algoritmos.

Os resultados claramente demonstram a simplicidade do algoritmo CRYSEED,

sendo seu desempenho significantemente mais rápido que o AES.

=== BEST-OF-RUN ===

TREE:

(shift (sum (xor a7 a5)

(not a2))

(sum a5

(not a2)))

Page 86: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

68

Figura 33 - Algoritmo 1: Pseudocódigo do CRYSEED – Criptografia

Algoritmo 1 Pseudocódigo do CRYSEED – Criptografia

for i = 0 to 8 do

for j = 0 to 8 do

v2( j ) = v1( ( i + j )%8 )

end for

T1 = ( v2( 2 ) ^ v2( 7 ) ) + !v2( 0 )

T2 = ( v2( 5 ) + !v2( 2 ) )

v1( i ) = ( T1 << T2 )

end for

Fonte: Elaborado pelo autor.

Figura 34 - Algoritmo 2: Pseudocódigo do CRYSEED – Descriptografia

Algoritmo 2 Pseudocódigo do CRYSEED – Descriptografia

for i = 0 to 8 do

for j = 0 to 8 do

v2( j ) = v1( ( i + j )%8 )

end for

T2 = ( v2( 5 ) + !v2( 2 ) )

T1 = ( v2( 0 ) >> T2 )

v1( 0 ) = !( T1 - ( v2( 2 ) ^ v2( 7 ) ) )

end for

Fonte: Elaborado pelo autor.

Tabela 5 – Tempo de execução dos algoritmos criptográficos.

ALGORITMO

TEMPO DE EXECUÇÃO (µs)

TEMPO DE

CRIPTOGRAFIA

TEMPO DE

DESCRIPTOGRAFIA

TEMPO

TOTAL

AES 0,708 0,706 1,414

XXTEA 1,1097 1,097 2,294

CRYSEED 2,858 2,7 5,558

Fonte: Elaborado pelo autor.

Page 87: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

69

O algoritmo AES e o CRYSEED foram testados criptografando a mesma imagem,

ilena.bmp, como visto na Figura 35. Os resultados da imagem criptografada foram

usados para alimentar as métricas DM e DI para avaliar a qualidade da criptografia, os

resultados obtidos estão apresentados na Tabela 6, assim como o CC e o EA, medidos

posteriormente a execução do algoritmo PG. É possível notar que em alguns pontos o

CRYSEED se mostrou competitivo com o AES, como o DM, e o CC, mas não

demonstram que sua utilização seja indicada.

Figura 35 - Fit e FitP dos algoritmos criptográficos.

Fonte: Bittencourt (2009).

Tabela 6 – Desvio Maximo, Desvio Mínimo, CC e EA dos algoritmos criptográficos.

ALGORITMO

DESVIO

CC EA

MÁXIMO IRREGULAR

AES 65.869,63 51.457,5 0,0112 0,4935

XXTEA 61.802,00 64.761,75 0,0141 0,5072

CRYSEED 68.297,38 55.653,5 0,0112 0,0040

Fonte: Elaborado pelo autor.

Page 88: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

70

6.2 AVALIAÇÃO FINAL DA PG CRIPTOGRÁFICA

O conjunto de funções utilizado na fase final são: sum, xor, lshift, and, not, mult,

subs. A função subs é realizada pela utilização da SBox do algoritmo AES.

Dezesseis variáveis independentes de 8-bits foram usadas como nós terminais,

representando dezesseis bytes de dados a serem criptografados.

Os mesmos limites de nós da fase inicial foram mantidos aqui, de 6 a 50 nós.

Também foi deixado livre a profundidade da árvore. Os fatores de reprodução,

crossover e mutação foram definidos como 0,7, 0,2 e 0,1, respectivamente. A random

seed usada foi 1234567890.

Os parâmetros usados na PG foram: uma população de 200 indivíduos, 8.192

exemplos de teste com 100 gerações. Foram utilizados dois pesos para balanceamento

variável da fórmula de aptidão, variados dez vezes para cada, criando assim o

equivalente a 100 testes individuais. Foram realizadas no total quatro baterias de testes,

totalizando 400 amostras.

A função de avaliação utilizada nesta fase segue como definido por:

𝐹𝑖𝑡𝑓𝑖𝑛𝑎𝑙−2 = ( 𝑇𝑁/100 + (∆𝑅

𝑅𝐷𝑀𝐼

𝑅𝐷𝑀𝐼𝑀+ ∆𝐶

𝐶𝐶𝑀

𝐶𝐶) )

(

29)

Sendo o ∆R e ∆C os pesos de variação dos parâmetros RDMI e CC. Essa variação

tem como principal objetivo encontrar a relação entre as duas métricas, um

balanceamento de difícil equilíbrio. Foi percebido que variações pequenas (com

diferença de 0,1 entre os pesos) não surtiam alterações significativas nos resultados,

então foram utilizadas variações na ordem de 10-N, sendo N o índice da execução de

cada um dos algoritmos de PG individualmente.

Não foi utilizada variação do peso no tempo de execução, pois foi observado em

testes preliminares que valores próximos de ∆R e ∆C levavam a algoritmos com árvores

Page 89: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

71

praticamente vazias. Porém, não colocar a métrica fez com que a população gerada

tivesse árvores muito grandes. A solução encontrada foi deixar um peso muito pequeno,

cerca de 100 vezes menor que ∆R e ∆C, para ajudar na redução dos algoritmos, mas não

tornar o tempo de execução prioritário.

Os resultados das quatro baterias de testes foram colocados em uma única matriz

200x200, onde os testes de mesmo peso ficaram organizados em forma matricial 4x4.

Os dados analisados foram o RDMI e o CC. Devido a limitações do algoritmo de PG

em guardar um numero limitados de informações, não foi possível obter os dados da

avaliação final sem o efeito dos pesos, o que dificultou a visualização dos dados.

A Figura 36 representa os dados do RDMI em um gráfico de três dimensões, onde

se pode observar três resultados de algoritmos com RDMI em destaque dos demais.

Dois deles são resultados do algoritmo apresentado na Figura 32. O maior resultado

apresentado na figura foi obtido por um algoritmo com baixa qualidade criptográfica.

Isso pode indicar um problema na função de aptidão de não conseguir selecionar

indivíduos melhores, ou também uma população inicial ruim.

Figura 36 - Valores dos RMDI obtidos nos testes da fase final.

Fonte: Elaborado pelo autor.

0

20

40

60

800

0,02

0,04

0,06

0,08

0,1

0,12

0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9

RDMI dos testes da fase final

0-0,02 0,02-0,04

Page 90: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

72

O algoritmo apresentado na Figura 37 também foi encontrado como sendo o

melhor em diversas rodadas de testes do algoritmos PG, seu código em linguagem C se

encontra no Apêndice A. Mostrando, então, algumas características interessantes para a

criptografia, como a utilização de quatro variáveis, uso da função shift (que funciona

semelhante a uma multiplicação) e a função de comparação XOR. Todas essas funções

são usadas exaustivamente no AES, comprovando assim algumas características

criptográficas.

Figura 37 - Melhor árvore encontrada pelo PG na fase final, representando um algoritmo criptográfico.

Fonte: Elaborado pelo autor.

O gráfico do CC apresentado na Figura 6.4 foi plotado em escala logarítmica e os

valores multiplicados por -1, de forma a apresentar os menores valores como sendo os

mais altos no gráfico. Assim, pode-se perceber alguns picos, representando algoritmos

com bons valores de CC. Parte desses algoritmos são os mesmos encontrados pelo

gráfico do RDMI, conforme mostra a Figura 38. Essa prepodenrancia nos resultados o

torna o mais adequado para adotá-lo como um algoritmo criptográfico, e analisá-lo com

mais profundidade. Este algoritmo será chamado de CRYSEED2.

=== BEST-OF-RUN ===

TREE:

(and (shift a10 a12)

(xor a5 a2))

Page 91: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

73

Figura 38 - Valores do CC obtidos nos testes da fase final.

Fonte: Elaborado pelo autor.

6.3 TESTES DE DESEMPENHO

Foram realizados testes comparativos com os dois novos algoritmos, dentre eles e

o AES e XXTEA, os melhores algoritmos apresentados na seção 5. Em todos os

gráficos foram mantidas as mesmas normalizações utilizadas na seção 5.

A Figura 39 apresenta um gráfico comparando a memória ocupada dos

algoritmos. O gráfico mostra claramente que o CRYSEED e CRYSEED2 são os

algoritmos que ocupam menos espaço, e ocupam praticamente a mesma memória.

010

3040

6070

900

1

2

3

4

0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9

CC dos testes da fase final

0-1 1-2 2-3 3-4

Page 92: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

74

Figura 39 - Memória dos algoritmos criptográficos obtidos em comparação com o AES e XXTEA.

Fonte: Elaborado pelo autor.

A Figura 40 apresenta um gráfico comparando o tempo de execução dos

algoritmos. O gráfico mostra claramente que o CRYSEED e CRYSEED2 são mais

lentos do que o AES e XXTEA, isso se deve a implementação de forma básica dos

algoritmos encontrados. Seus desempenhos podem ser melhorados com otimização do

algoritmo, como remoção de alguns laços por funções equivalentes, aproximando-os do

tempo de execução dos demais. Também vale notar que o CRYSSED2 foi melhor que o

seu antecessor, representando um avanço no uso da técnica de PG para descoberta de

algoritmos criptográficos..

Figura 40 - Tempo de execução dos algoritmos criptográficos obtidos em comparação com o AES e

XXTEA.

Fonte: Elaborado pelo autor.

0,00%

20,00%

40,00%

60,00%

80,00%

100,00%

120,00%

140,00%

160,00%

AES XXTEA CRYSEED CRYSEED2

Memória Ocupada (normalizada)

0%

20%

40%

60%

80%

100%

120%

AES XXTEA CRYSEED CRYSEED2

Tempo de Execução (normalizado)

Page 93: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

75

A Figura 41 apresenta um gráfico comparando o RDMI dos algoritmos por cada

imagem, mantendo os mesmos valores normais da Sessão 5 . O gráfico mostra

claramente que o CRYSEED2 obteve ótimos resultados para a imagem lena e testpat,

tornando- se, com isso, o melhor algoritmo na média das imagens.

Figura 40 - RDMI dos algoritmos criptográficos obtidos em comparação com o AES e XXTEA.

Fonte: Elaborado pelo autor.

Os testes do CC podem ser vistos na Figura 42. Pode-se perceber que os testes

com a imagem testpat se saíram com uma diferença muito maior que os demais. Por

isso, foi obtido duas média, a média 1 uma considerando a imagem testpat e a média 2

sem levar em consideração a imagem testpat. Assim, verifica-se que o CRYSEED2 foi

o segundo melhor algoritmo em termos de correlação.

86%80% 76%

107%

0%

20%

40%

60%

80%

100%

120%

140%

160%

180%

AES XXTEA CRYSEED CRYSEED2

RDMI (normalizado)

lenna cman mandrill testpat Média

Page 94: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

76

Figura 41 - CC dos algoritmos criptográficos obtidos em comparação com o AES e XXTEA.

Fonte: Elaborado pelo autor.

Para os novos algoritmos, o teste do Efeito Avalanche foi o pior de todos, como

visto na Figura 43. Esse problema pode ser devido, principalmente, pela métrica não ter

sido utilizada na PG. Isso pode significar um problema significativo de segurança dos

algoritmos, mas também demonstra que a técnica PG se ajusta bem a cada função de

aptidão.

Figura 42 - EA dos algoritmos criptográficos obtidos em comparação com o AES e XXTEA.

Fonte: Elaborado pelo autor.

27%82% 36% 51%

0%

200%

400%

600%

800%

1000%

1200%

1400%

AES XXTEA CRYSEED CRYSEED2

Coeficiente de Correlação (normalizado)

lenna cman mandrill testpat media 1 média 2

0%

20%

40%

60%

80%

100%

120%

lenna cman mandrill testpat

Efeito Avalanche (normalizado)

AES XXTEA CRYSEED CRYSEED2

Page 95: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

77

Por fim, podemos obter três valores médios de todas as métricas, apresentados na

Figura 44. O primeiro valor médio utiliza a Equação (34), mostrando que o XXTEA foi

o melhor classificado. Logo depois, o AES e, por fim, o CRYSEED2, com diferença de

5% para o melhor. Em seguida, podemos fazer uma média desconsiderando um pouco o

tempo de execução, colocando-o com peso 2, o que elevaria o CRYSEED2 ao segundo

colocado com apenas 1% de diferença. A última métrica considera o tempo de execução

com peso 1 (um), deixando o CRYSEED2 como o melhor classificado, com diferença

de 5% do segundo classificado, o XXTEA.

Figura 43 - Valores médios das métricas dos algoritmos criptográficos obtidos em comparação com o

AES e XXTEA.

Fonte: Elaborado pelo autor.

Essa melhoria do CRYSEED2 corrobora com o teste apresentado na seção 6.2,

onde o peso de tempo foi reduzido para não influenciar muito na qualidade

criptográfica, indicando, assim, a metodologia de utilização da PG para criação de

algoritmos criptográficos.

Vale ressaltar que o CRYSEED2 não pode ser considerado um algoritmo

criptográfico certificadamente seguro, para isso deveria passar por mais baterias de

testes e validações padrões, testando, também, sua resistência aos ataques de

criptanálise.

72%76%

55%

71%66%

78%

61%

77%

58%

81%

71%

86%

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

AES XXTEA CRYSEED CRYSEED2

Valores Médios (Normalizada)

Média 1 Média 2 Média 3

Page 96: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

78

7 CONSIDERAÇÕES FINAIS

A metodologia de Programação Genética (PG) foi aplicada e aprimorada para o

desenvolvimento de algoritmos criptográficos para dispositivos 8-bits, amplamente

utilizados em RSSFs. Os algoritmos CRYSEED e CRYSEED2 foram desenvolvidos

automaticamente a partir do uso da biblioteca lil-GP, adaptada para encontrar um

algoritmo criptográfico eficiente para dispositivos de 8-bits e com alta qualidade de

criptografia.

Foi realizado um teste comparativo entre nove algoritmos, utilizando seis

medidas: tempo de execução, memória ocupada, Desvio Máximo (DM), Desvio

Irregular (DI), Coeficiente de Correlação (CC) e Efeito Avalanche (EA). Dentre esses

algoritmos, o AES e XXTEA foram os melhores.

Em seguida, os novos algoritmos desenvolvidos, o CRYSEED e o CRYSEED2

foram comparados com o AES e XXTEA. Uma média final entre as métricas mostrou

que o CRYSEED2 é competitivo em comparação aos demais algoritmos apresentados,

DES, TDES, AES, Blowfish, Twofish, RC6, XTEA, XXTEA e Skipjack.

Estes resultados ajudam a comprovar que a PG pode criar algoritmos

criptográficos eficientes, sendo um significativo avanço para a difusão das técnicas de

inteligência artificial.

Apesar disso, ainda não é possível considerar o CRYSEED2 como um algoritmo

melhor que o AES ou XXTEA, pois a sua deficiência no EA pode significar alguma

falha de segurança grave.

Page 97: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

79

Portanto, recomenda-se realizar mais testes no algoritmo CRYSEED2 e continuar

a aprimorar a técnica de PG, a fim de buscar algoritmos que possuam todas as

características de segurança desejadas.

Por fim, foi possível observar as dificuldades em ajustar a PG à criação de

algoritmos criptográficos, tarefa que precisa de cuidados e de uma análise criteriosa na

criação de boas funções de aptidões e na posterior avaliação e escolha dos algoritmos

obtidos.

7.1 TRABALHOS FUTUROS

Apesar dos bons resultados gerais, os problemas que foram apresentados podem

servir de fonte de inspiração para trabalhos futuros.

Um primeiro ponto para um aprofundamento do estudo é uma forma de

maximizar o Efeito Avalanche, característica que ficou muito a desejar nos algoritmos

criados.

Também podem ser realizadas criptanálises mais completas no CRYSEED2, a fim

de detectar possíveis falhas criadas em sua geração pela PG.

A variação dos parâmetros da própria PG pode ajudar a sanar alguns problemas da

geração dos algoritmos, como aumentar a taxa de mutação, para sair de problemas de

mínimos/máximos locais, e variar o tamanho da população.

Outra área possível de utilização da técnica de PG com segurança de RSSFs é

buscar formas de otimizar a criptografia assimétrica, sendo essa última ainda muito

custosa em termos de processamento e memória para os dispositivos mais simples de 8-

bits.

Finalmente, a implementação em dispositivos embarcados que usam

microprocessadores de 8-bits e testes em RSSFs reais ou simuladas podem ajudar na

verificação da real eficácia dos algoritmos criptográficos encontrados, inclusive

Page 98: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

80

comparando com algoritmos como AES e XXTEA e obtenção de medidas como

consumo de energia e impacto na comunicação.

Page 99: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

81

REFERÊNCIAS BIBLIOGRÁFICAS

Adj, G., Menezes, A., Oliveira, T., e Rodriguez-Henriquez, F. (2014). Weakness of

F36·509 for discrete logarithm cryptography, Pairing 2013, LNCS 8365, pp. 19-

43, 2014.

Ahmad, Jawad & Fawad Ahmed (2012), Efficiency Analysis and Security Evaluation

of Image Encryption Schemes, International Journal of Video & Image

Processing and Network Security, Vol.12, No.04.

Ahmed, Hossam El-din H., Hamdy M. Kalash, & Osama S. Farag Allah (2007),

Encryption Efficiency Analysis and Security Evaluation of RC6 Block Cipher

for Digital Images, African Journal of Information & Communication

Technology, Vol. 3, No 1.

Banzhaf, W., P. Nordin, R. E. Keller & F. D. Francone (1998). Genetic Programming

- An Introduction On the automatic evolution of computer programs and its

application, dpunkt, Heidelberg and Morgan Kaufmann, San Francisco.

Baronti, Paolo, Prashant Pillai, Vince W.C. Chook, Stefano Chessa, Alberto Gotta & Y.

Fun Hu (2007), Wireless sensor networks: A survey on the state of the art and

the 802.15.4 and zigbee standards, Computer Communications 30(7), 1655 –

1695. Wired/Wireless Internet Communications. Disponível em: <URL:

http://www.sciencedirect.com/science/article/B6TYP-4MP569D-2/2/

2cb7b0fa0bd9d0dec76e4702a4d76937>.

Page 100: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

82

Biryukov, Alex, Orr Dunkelman, Nathan Keller, Dmitry Khovratovich, & Adi Shamir

(2010), Key recovery attacks of practical complexity on AES-256 variants

with up to 10 rounds, EUROCRYPT'10 Proceedings of the 29th Annual

international conference on Theory and Applications of Cryptographic

Techniques.

Biryukov, Alex & Johann Großschädl (2012), Cryptanalysis of the Full AES Using

GPU-Like Special-Purpose Hardware, Fundamenta Informaticae - Cryptology

in Progress: 10th Central European Conference on Cryptology, Będlewo Poland,

2010.

Bittencourt, Ricardo (2009). “ilena.bmp,” imagem. Disponível em:

<http://blog.ricbit.com/2009/11/lena-e-ilena.html>

Brameier, Markus (2004), On Linear Genetic Programming, Universitat Dortmund,

Alemanha.

Certicom Research (2000), Standards for Efficient Cryptography - SEC 1: Elliptic

Curve Cryptography. Disponível em: <http://www.secg.org/SEC1-Ver-1.0.pdf>.

Chen, Xiangqian, Kia Makki, Kang Yen, & Niki Pissinou (2009), Sensor Network

Security: A Survey, IEEE Communications Surveys & Tutorials, Vol. 11, No. 2,

Pag. 52-72. doi: 10.1109/SURV.2009.090205.

CNSS (2010). National Information Assurance (IA) Glossary. CNSS Instruction No.

4009. 26 de abril, 2010. Disponível em:

<http://www.ncsc.gov/publications/policy/docs/CNSSI_4009.pdf>.

Daemen, Joan & Vincent Rijmen (1998), AES proposal: Rijndael.

Page 101: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

83

Delman, Bethany (2004), Genetic Algorithms in Cryptography. These.

El-Fishawy, Nawal & Osama M. Abu Zaid (2007), Quality of Encryption

Measurement of Bitmap Images with RC6, MRC6, and Rijndael Block

Cipher Algorithms, International Journal of Network Security, Vol.5, No.3,

PP.241–25.

Estébanez, César, Julio César Hernández-Castro, Arturo Ribagorda, & Pedro Isasi

(2006), Finding State-of-the-Art Non-cryptographic Hashes with Genetic

Programming, Apresentado no 9th international conference on Parallel Problem

Solving from Nature (PPSN'06), Pages 818-827.

Estevez-Tapiador, Juan M., Julio C. Hernandez-Castro, Pedro Peris-Lopez & Arturo

Ribagorda (2008), Automated Design of Cryptographic Hash Schemes by

Evolving Highly-Nonlinear Functions.

Feistel, Horst (1973), Cryptography and Computer Privacy, Scientific American,

Vol. 228, No. 5.

Gladman, Brian (2006), An AES implementation that uses only 8-bit byte operations

on the cipher state. Disponível em: <http://fp.gladman.plus.com/AES/aes-byte-

22-11-06.zip>.

Goyat, Sonia (2012), Cryptography Using Genetic Algorithms (GAs).

Hagras, Esam A.A.A., Doaa El-Saied & Hazem H. Aly (2011), A New Forward

Secure Elliptic Curve Signcryption Key Management (FS-ECSKM) Scheme

Page 102: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

84

for Heterogeneous Wireless Sensor Networks, International Journal of

Computer Sci ence and Technology Vol. 2, Issue 2.

Hernandez-Castro, Julio C., Juan M. Estevez-Tapiador, Arturo Ribagorda-Garnacho, &

Benjamin Ramos-Alvarez (2006), Wheedham: An Automatically Designed

Block Cipher by means of Genetic Programming.

Hu, Liang, Wei Yuan, Fan-Er Meng, Hong-Tu Li & Jian-Feng Chu (2012),

Cryptanalysis of Two Identity-Based Signcryption Schemes and an Identity-

Based Multi-signcryption Scheme, Computational Intelligence and

Communication Networks (CICN), Fourth International Conference on, vol., no.,

pp.704,708, 3-5 Nov. 2012. doi: 10.1109/CICN.2012.77.

IEEE (2003), IEEE Standards 802.15.4, The Institute of Electrical and Electronics

Engineers, Inc., New York, USA.

IEEE (2006), IEEE Standards 802.15.4 (Revision of IEEE Std 802.15.4-2003), The

Institute of Electrical and Electronics Engineers, Inc., New York, USA.

IEEE (2007), IEEE Standards 802.15.4 - Amendment 1: Add Alternate PHYs, The

Institute of Electrical and Electronics Engineers, Inc., New York, USA.

IEEE (2009a), IEEE Standards 802.15.4 - Amendment 2: Alternative Physical

Layer Extension to support one or more of the Chinese 314-316 MHz, 430-

434 MHz, and 779-787MHz bands, The Institute of Electrical and Electronics

Engineers, Inc., New York, USA.

Page 103: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

85

IEEE (2009b), IEEE Standards 802.15.4 - Amendment 3: Alternative Physical

Layer Extension to support the Japanese 950 MHz bands, The Institute of

Electrical and Electronics Engineers, Inc., New York, USA.

IEEE (2012a), IEEE 802.15.4e - IEEE Standard for Local and metropolitan area

networks--Part 15.4: Low-Rate Wireless Personal Area Networks (LR-

WPANs) Amendment 1: MAC sublayer. The institute of Electrical and

Eletronics Engineers, Inc., New York, USA.

IEEE (2012b), IEEE 802.15.4f - IEEE Standard for Local and metropolitan area

networks-- Part 15.4: Low-Rate Wireless Personal Area Networks (LR-

WPANs) Amendment 2: Active Radio Frequency Identification (RFID)

System Physical Layer (PHY). The institute of Electrical and Eletronics

Engineers, Inc., New York, USA.

IEEE (2013), IEEE 802.15.4j - IEEE Standard for Local and metropolitan area

networks - Part 15.4: Low-Rate Wireless Personal Area Networks (LR-

WPANs) Amendment 4: Alternative Physical Layer Extension to Support

Medical Body Area Network (MBAN) Services Operating in the 2360 MHz –

2400 MHz Band. The institute of Electrical and Eletronics Engineers, Inc., New

York, USA.

IEEE (2014a), IEEE 802.15.4m - IEEE Standard for Local and metropolitan area

networks - Part 15.4: Low-Rate Wireless Personal Area Networks (LR-

WPANs) - Amendment 6: TV White Space Between 54 MHz and 862 MHz

Physical Layer.

IEEE (2014b), IEEE 802.15.4p - IEEE Standard for Local and metropolitan area

networks - Part 15.4: Low-Rate Wireless Personal Area Networks (LR-

Page 104: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

86

WPANs) - Amendment 7: Physical Layer for Rail Communications and

Control (RCC). The institute of Electrical and Eletronics Engineers, Inc., New

York, USA.

Khan, Farhat Ullah & Surbhi Bhatia (2012), A Novel Approach to Genetic Algorithm

Based Crytography.

Knudsen, L. & D. Wagner (2001), On the structure of Skipjack, Discrete Applied

Mathematics, Volume 111, Issues 1–2, Pages 103-116. Disponível em:

<http://www.sciencedirect.com/science/article/pii/S0166218X00003474>.

Koza, John R. (1989), Hierarchical genetic algorithms operating on populations of

computer programs, Proceedings of the 11th International Joint Conference on

Artificial Intelligence. San Mateo, CA: Morgan Kaufmann. Volume I. Pages 768-

774.

Koza, John R. (1998). Genetic Programming: On the Programming of Computers

by Means of Natural Selection, MIT Press, Massachusetts.

Kumar, Sandeep S. (2006), Elliptic Curve Cryptography for Constrained Devices,

Dissertação para obtenção do titulo de doutor na Ruhr-University de Bochum.

Liu, Yongsheng, Jie Li & Guizani, M. (2012), PKC Based Broadcast Authentication

using Signature Amortization for WSNs, IEEE Transactions on Wireless

Communications, vol.11, no.6, pp.2106,2115, June 2012. doi:

10.1109/TWC.2012.032812.110433.

Page 105: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

87

Lohn, Jason D. (2003), Evolvable Systems for Space Applications, Apresentação da

NASA Ames Research Center, Mountain View, CA USA. Disponível em:

<http://www.genetic-programming.com/c2003jasonlohn20031124talk.pdf>.

Lovelace, Ada A. C. (1843), Notes by Translator of Menabrea, L. F: Sketch of The

Analytical Engine Invented by Charles Babbage, Scientific Memoirs, Vol. 3.

Disponível em: <http://www.fourmilab.ch/babbage/sketch.html>.

Matt Crypto (2014). Data Encryption Standard. Disponível em:

<https://en.wikipedia.org/wiki/Data_Encryption_Standard>.

Meinerz, Giovani Volnei & Edgar Toshiro Yanoc (2010), Criptografia com o uso de

Curvas Elípticas, Relatório de pesquisa elaborado como requisito parcial de

avaliação da disciplina, São José dos Campos, SP – Brasil.

Meiser, G.; T. Eisenbarth K. Lemke-Rust & C. Paar (2008), Efficient implementation

of eSTREAM ciphers on 8-bit AVR microcontrollers, ‘International

Symposium Industrial Embedded Systems’, SIES 2008, vol. 11, no. 13, pp.58,66.

doi: 10.1109/SIES.2008.4577681.

Needham, Roger M. & David J. Wheeler (1997), Tea extensions, Technical report,

Computer Laboratory, University of Cambridge.

NIST, National Institute of Standards and Technology (1999), Recommended Elliptic

Curves for Federal Government Use, White paper. Disponível em

<http://csrc.nist.gov/groups/ST/toolkit/documents/dss/NISTReCur.pdf>.

Page 106: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

88

NSA (1998). SKIPJACK and KEA Algorithm Specifications.

Oliveira, Felipe Denis Mendonça (2015), FTE-LEACH: Um Protocolo

Energeticamente Eficiente e Tolerante a Falhas Aplicado às Redes

Industriais de Sensores sem Fio, Tese de doutora, Programa de Pós-Graduação

em Engenharia Elétrica e de Computação UFRN, Natal, RN.

Pappa, Gisele L. (2012), Algoritmos Bio-inspirados: Conceitos e Aplicações em

Aprendizado de Máquina, Apresentação para Curso de verão do Departamento

de Ciência da Computação Universidade Federal de Minas Gerais. Disponível em:

<http://homepages.dcc.ufmg.br/~glpappa/cverao/>.

Picek, S. & M. Golub (2011), On Evolutionary Computation Methods in

Cryptography.

Picek, Stjepan, Claude Carlet, Domagoj Jakobovic, Julian F. Miller e Lejla Batina

(2015). Correlation Immunity of Boolean Functions: An Evolutionary

Algorithms Perspective. In Proceedings of the 2015 Annual Conference on

Genetic and Evolutionary Computation (GECCO '15), Sara Silva (Ed.). ACM,

New York, NY, USA, 1095-1102.

DOI=http://dx.doi.org/10.1145/2739480.2754764.

Polimón, Javier, Julio C. Hernández-Castro, Juan M. Estévez-Tapiador & Arturo

Ribagorda (2008), Automated design of a lightweight block cipher with

genetic programming.

Punch, Bill & Douglas Zongker (1998), The lil-gp genetic programming system.

Disponível em: <http://garage.cse.msu.edu/software/lil-gp/>.

Page 107: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

89

Rinne, Sören, Thomas Eisenbarth & Christof Paar (2007), Performance Analysis of

Contemporary Light-Weight Block Ciphers on 8-bit Microcontrollers, Soft-

ware Performance Enhancement for Encryption and Decryption 2007, Amster-

dam, NL.

Rivest, Ronald L. (1995), The RC5 Encryption Algorithm, MIT Laboratory for

Computer Science. Disponível em: <http://people.csail.mit.edu/rivest/Rivest-

rc5.pdf>.

Rivest, Ronald L. (1998), A Description of the RC2(r) Encryption Algorithm,

Request for Comments: 2268, MIT Laboratory for Computer Science. Disponível

em: <http://tools.ietf.org/html/rfc2268>.

Rivest, Ronald L., M. J. B. Robshaw, R. Sidney & Y. L. Yin (1998), The RC6tm block

cipher.

Santos, Anderson ; Martins, D. L. ; Medeiros, Ivanovitch ; guedes, Luiz Affonso ;

César, Julio ; Luciano, Layon ; Dória Neto, A. D. (2014). Avaliação de Redes

WirelessHART em Malhas de Controle. In: 20º Congresso Brasileiro de

Automática, 2014, Belo Horizonte. CBA 2014.

Salasio, Salvo (1998), Unoptimized sample implementation of ron rivest’s

submission to the aes bakeoff. Disponível em:

<http://www.uqtr.uquebec.ca/delisle/Crypto/ codes/rc6/rc6-unop.c>.

Page 108: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

90

Schneier, Bruce (1993), Description of a New Variable-Length Key, 64-Bit Block

Cipher (Blowfish), ‘Proceedings Fast Software Encryption, Cambridge Security

Workshop’, Springer-Verlag, pp. 191-204. Disponível em:

<http://www.schneier.com/paper-blowfish-fse.html>.

Schneier, B., J. Kelsey, D. Whiting, D. Wagner & C. Hall, N. Ferguson (1998),

Twofish: A 128-Bit Block Cipher. Disponível em: <http://www.schneier.com/

paper-twofish-paper.html>.

Schmidhuber, Jürgen (1987), Evolutionary Principles in Self-Referencial Learning,

Tese apresentada Technisch Universität München Alemanha. Disponível em:

<http://www.idsia.ch/~juergen/diploma.html>.

Semente, Rodrigo Soares (2011), Otimização de Algoritmos Criptográficos para

Redes de Sensores e Atuadores Sem-fio para Poços do Tipo Plunger Lift,

Dissertação de mestrado, Programa de Pós-Graduação em Engenharia Elétrica e

de Computação UFRN, Natal, RN.

Semente, R.S.; Salazar, A.O.; Oliveira, F.D.M. (2014). CRYSEED: An automatic 8-

bit cryptographic algorithm developed with genetic programming,

in Instrumentation and Measurement Technology Conference (I2MTC)

Proceedings, 2014 IEEE International , vol., no., pp.1065-1068, 12-15 May 2014

doi: 10.1109/I2MTC.2014.6860905

Sen, Jaydip (2009), A Survey on Wireless Sensor Network Security, International

Journal Of Communication Networks And Information Security (IJCNIS). Vol 2,

No 2, Pag. 55-78.

Page 109: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

91

Shim, Kyung-Ah (2015), A Survey of Public-Key Cryptographic Primitives Issues

in Wireless Sensor Networks. IEEE Communications Surveys & Tutorials,

Vol.PP, no.99, Pag.1-1.

Tariq, Mehter (2009), Easy Triple-DES. Disponível em:

<http://sourceforge.net/projects/easy-triple-des/ >.

Tragha, A., F. Omary & A. Mouloudi (2006), ICIGA: Improved Cryptography

Inspired by Genetic Algorithms.

Walters, John Paul, Zhengqiang Liang, Weisong Shi, & Vipin Chaudhary (2006),

Wireless Sensor Network Security: A Survey, Capítulo 17 do livro Security in

Distributed, Grid, and Pervasive Computing. Auerbach Publications, CRC Press.

Wander, A.S; N. Gura, H. Eberle, V. Gupta & S.C. Shantz (2005), Energy analysis of

public-key cryptography for wireless sensor networks, em Third IEEE

International Conference on Pervasive Computing and Communications, 2005.

PerCom 2005, vol. 8, no. 12, pp.324,328. doi: 10.1109/PERCOM.2005.18.

Washington, Lawrence C. (2003), Elliptic Curves: Number Theory and

Cryptography, Chapman & Hal/CRC, ISBN 1-58488-365-o.

Weber, Allan (2015). The USC-SIPI Image Database. University od Southern

California, Signal and Image Processing Departament. Disponível em:

<http://sipi.usc.edu/database/database.php>.

Page 110: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

92

Wheeler, David J. & Needham, Roger M. (1994), TEA: a tiny encryption algorithm,

Lecture Notes in Computer Science (Leuven, Belgium: Fast Software Encryption:

Second International Workshop) 1008: 363–366.

Wheeler, David J. & Roger M. Needham (1998), Correction to XTEA, Computer

Laboratory, Cambridge University, England. Retrieved 2008-07-04.

Wood, Anthony D., John A. Stankovic & Gang Zhou (2007), Deejam: Defeating

energy efficient jamming in ieee 802.15.4-based wireless networks, em ‘4th

Annual IEEE Communications Society Conference’, IEEE, Department of

Computer Science, University of Virginia, pp. vii–xii.

Xu, Wenyuan, Wade Trappe & Yanyong Zhang (2008), Anti-jamming timing

channels for wireless networks, em ‘WiSec ’08: Proceedings of the first ACM

conference on Wireless network security’, ACM, New York, NY, USA, pp. 203–

213.

Yarrkov, Elias (2010). Cryptanalysis of XXTEA. Cryptology ePrint Archive, Report

2010/254.

Zheng, Y. (1997), Digital Signcryption or how to achieve cost (signature and

encryption)ii cost(signature) + cost(encryption), In Advances in Cryptography -

CRYPTO'97, LNCS 1294, Springer-Verlag, pp. 165-179.

ZigBee Aliance (2004), ZigBee 1.0 Specification.

Page 111: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

93

MDSN Blog (Microsoft Developer Network Blog), 2010. Crypto Primer:

Understanding encryption, public/private key, signatures and certificates.

Disponível em:

<http://blogs.msdn.com/b/plankytronixx/archive/2010/10/23/crypto-primer-

understanding-encryption-public-private-key-signatures-and-certificates.aspx>.

Acesso em: 03 Nov. 2015, 02:30:00.

Malan, David J., Matt Welsh, and Michael D. Smith. A public-key infrastructure for

key distribution in TinyOS based on elliptic curve cryptography. Sensor and

Ad Hoc Communications and Networks, 2004. IEEE SECON 2004. 2004 First

Annual IEEE Communications Society Conference on. IEEE, 2004.

IDGA (Institute for Defense and Government Advancement). Ron Milione, 2012.

Understanding Cryptography in Modern Military Communications.

Disponível em: <http://www.idga.org/communications-engineering-and-

it/articles/understanding-cryptography-in-modern-military-comm/>. Acesso em:

03 Nov. 2015, 02:47:00. Acesso em: 03 Nov. 2015, 02:54:00.

Gaba, Shweta, Iti Aggarwal, and Sujata Pandey. Design of Efficient XTEA Using

Verilog. International Journal of Scientific and Research Publications, Volume 2,

Issue 6, June 2012.

Zafar, Fahad. Tiny encryption algorithm for cryptographic gradient noise.

University of Maryland, Baltimore County, 2010.

Page 112: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

94

Schneier, Bruce. Description of a New Variable-Length Key, 64-bit Block Cipher

(Blowfish). Fast Software Encryption, Cambridge Security Workshop,

Cambridge, UK, December 9-11, 1993, Proceedings. Vol. 809. 1993.

Schneier, Bruce, et al. Twofish: A 128-bit block cipher. NIST AES Proposal 15

(1998).

Page 113: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

95

APENDICE A – Algoritmos

A.1: Algoritmo CRYSEED

//Função de rotação

unsigned char rotl8(unsigned char x, int n) {

return (x << n) | (x >> (8 - n));

}

// Função de criptografia

unsigned char cryseed(unsigned char *A){

unsigned char T1=0,T2=0,C=0;

T1 = A[5] ^ A[7];

T1 = ( T1 + !A[0])%256;

T2 = (A[5] + !A[2])%256;

C = rotl8(T1 , (int)(T2%8)) ;

return C;

}

Page 114: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

96

// Algoritmo de execução do CRYSEED

void cryseedexe(char* v1, char* v2){

for(t=0;t<rnd;t++){

for(j=0; j<8;j++) v1[j]=v2[j]^((unsigned char)ctx->ksch+rnd);

for(k=0; k<8;k++){

for(j=0; j<8;j++) v2[j]=v1[(k+j)%8];

v1[k] = cryseed( v2 ); }

for(j=0; j<8;j++) v2[j]=v1[j]; }

for(t=0;t<rnd;t++){

for(j=0; j<8;j++) v1[j]=v2aux[j]^((unsigned char)ctx->ksch+rnd);

for(k=0; k<8;k++){

for(j=0; j<8;j++) v2aux[j]=v1[(k+j)%8];

v1[k] = cryseed ( v2aux ); }

for(j=0; j<8;j++) v2aux[j]=v1[j];

}

}

Page 115: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

97

A.2 – Algoritmo CRYSEED2

// Função de criptografia cryseed2

unsigned char cryseed2(unsigned char *A){

unsigned char T1=0,T2=0,T3=0,C=0;

T1 = ROTL(A[10] , (int)(A[12]%8));

T2 = A[5] ^ A[2];

C = T1 && T2 ;

return C;

}

void cryseed2exe(char* v1, char* v2){

for(t=0;t<rnd;t++){

for(j=0; j<16;j++) v1[j]=v2[j]^((unsigned char)ctx->ksch+rnd);

for(k=0; k<16;k++){

for(j=0; j<16;j++) v2[j]=v1[(k+j)%8];

v1[k] = cryseed2( v2 ); }

for(j=0; j<8;j++) v2[j]=v1[j];

}

}

Page 116: UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE … · RODRIGO SOARES SEMENTE ORIENTADOR: PROF. DR. ANDRÉS ORTIZ SALAZAR Tese de Doutorado apresentada ao Programa de Pós-Graduação

98

APENDICE B – Lista de Artigos Publicados

Este apêndice apresenta uma lista dos principais artigos publicados durante a o

curso de doutorado, em formato de citação e incluindo o endereço onde os artigos estão

disponíveis.

Oliveira, F.D.M., Semente, R. S., Fernandes, J. D., Júnior, S., Melo, T., e Salazar, A. O.

(2015).EEWES: An energy-efficient wireless sensor network embedded

system to be applied on industrial environments, Revista Ingeniería e

Investigación. vol.35 no.2 Bogotá Maio/Agosto. 2015.

DOI: http://dx.doi.org/10.15446/ing.investig.v35n2.45289.

Disponível em: http://www.scielo.org.co/pdf/iei/v35n2/v35n2a11.pdf

Semente, R.S.; Salazar, A.O.; Oliveira, F.D.M. (2014). CRYSEED: An automatic 8-bit

cryptographic algorithm developed with genetic programming,

in Instrumentation and Measurement Technology Conference (I2MTC), vol., no.,

pp.1065-1068, 12-15 May 2014

Disponível em:

http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6860905

Semente, R.S.; Silva, A.; Salazar, A.O.; Oliveira, F.D.M.; Lock, A.S. (2013). A energy

efficient WSN system for limited power source environments, in Sensing

Technology (ICST), 2013 Seventh International Conference on , vol., no., pp.193-

197, 3-5 Dec. 2013. doi: 10.1109/ICSensT.2013.6727641

Disponível em:

http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6727641&isnumber=6

727602