DESEMPENHO DE ALGORITMOS CRIPTOGRÁFICOS SIMÉTRICOS PARA GRANDES VOLUMES DE DADOS 2 Eduardo Cláudio Nicácio1, Ms. Samáris R. Pereira2, Ms. Sueli Ap. Loddi2 1 Aluno do curso Informática para Gestão de Negócios da FATEC-SBC Prof. Mestre do curso Informática para Gestão de Negócios da FATEC-SBC [email protected] [email protected] [email protected] Resumo Com o avanço do poder de processamento e da capacidade de armazenamento dos computadores pessoais nos últimos anos pode-se verificar o crescimento exponencial do volume de dados armazenados pelos usuários. Arquivos com centenas de Megabytes, para trafegarem de forma segura em uma rede ou mesmo pela Internet, precisam ter seu conteúdo criptografado através de algum algoritmo moderno, que seja rápido e seguro. Este trabalho visa comparar o desempenho de alguns conhecidos algoritmos criptográficos simétricos no processo de encriptação/desencriptação, levando o leitor à reflexão da característica mais importante para o seu contexto: velocidade de processamento ou segurança dos dados. em seu artigo intitulado “Ranking the AES Finalists”, no qual são comparados de acordo com 4 critérios: segurança, eficiência em hardware, eficiência em software e flexibilidade [3]. Tabela I – Notas atribuídas aos finalistas AES Algoritmo Mars RC6 Rijndael Serpent Twofish Segurança 1.6 1.2 2.0 3.2 2.0 Hardware 0.6 1.2 2.4 1.8 1.2 Software 0.4 0.6 1.8 0.2 1.2 Flexibil. 0.4 0.7 0.7 0.6 0.5 Pontuação 3.0 3.7 6.9 5.8 4.9 5 4 1 2 3 Ordem Fonte: teal.gmu.edu/courses/ECE636/AES/AsaHagstrom.PDF Palavras-chave: criptografia; criptografia de chave simétrica; algoritmo criptográfico; segurança da informação. 1. Introdução Em janeiro de 1997 o NIST (National Institute of Standards and Technologies) deu início aos trabalhos para a escolha de um novo algoritmo criptográfico padrão para o governo dos Estados Unidos da América. Para isso, submeteu uma especificação inicial, definindo que os algoritmos participantes deveriam ser divulgados publicamente, estar livres de direitos autorais e suportar a tecnologia de chaves simétricas, utilizando blocos de 128 bits e chaves de 128, 192 e 256 bits. [1] Em agosto de 1998, o NIST apresentou um grupo de 15 algoritmos na primeira conferência dos candidatos AES, solicitando comentários públicos e submetendo-os a membros da comunidade criptográfica mundial. [1] Em março de 1999, na segunda conferência dos candidatos AES, após a discussão da análise dos algoritmos candidatos, foram selecionados cinco finalistas dentre os participantes: MARS, RC6, Rijndael, Serpent e Twofish. Após análise das informações disponíveis, iniciada em maio de 2000, o NIST apontou como vencedor, em outubro do mesmo ano, o algoritmo Rijndael. [2] A tabela I mostra a pontuação dos algoritmos de acordo com quatro critérios definidos por Åsa Hagström Por sua vez, a tabela II enumera alguns dos resultados obtidos por especialistas através de estudos comparativos, baseados na implementação padrão e características de cada algoritmo à época da seleção dos finalistas. Tabela II – Resultados objetivos dos finalistas Algoritmo TC1 Mars 4,2 RC6 Rijndael 10,7 19,7 TD2 13,5 EC3 MR4 4 8,3x10 2128/1728 LC5 940 12,9 3,3x104 1680/1200 850 23,6 Serpent 660 634,5 Twofish 14,1 14,0 1,9x10 4 2304/943 943 597,7 1776/1541 1541 2,8x104 5568/1427 1427 Fonte: http://gta.ufrj.br/~natalia/SSH/aes.html Verificando-se os dados das tabelas, observa-se uma grande preocupação com a eficiência dos algoritmos analisados, especialmente no que se refere a tempo de processamento, tanto na encriptação quanto na desencriptação dos dados. Este trabalho visa comparar o desempenho de alguns algoritmos criptográficos simétricos no processo de 1 TC: tempo de encriptação em segundos TD: tempo de desencriptação em segundos 3 EC: eficiência de encriptação em bytes/s 4 MR: memória RAM utilizada em bytes (Enc./Dec.) 5 LC: linhas de código 2 encriptação/desencriptação de grandes volumes de dados, levando o leitor a se decidir pelo algoritmo mais eficiente dentre os analisados para o seu contexto. seja seguro na forma de 3DES, embora existam ataques teóricos. Recentemente o DES foi substituído pelo AES. [5]. 2.2.2 O algoritmo Ice 2. Materiais e Metodologia 2.1 Equipamentos utilizados Considerou-se que, mais importante que a capacidade bruta de processamento, o computador escolhido deveria ter capacidade multi-core, permitindo, através do sistema operacional, que se definisse a afinidade do programa sendo executado com um dos núcleos de processamento. Ao mesmo tempo, utilizavase o(s) núcleo(s) restante(s) para monitoramento do sistema e coleta dos resultados. Foi selecionado um computador pessoal com processador Intel Core2 Quad Q6600, com quatro núcleos independentes rodando a 2,4 GHz, com 4 Gigabytes de memória RAM DDR-2 de 667 MHz operando em 128 bits (2 x 64 bits), Hard Disk de 500 GB e 7.200 RPM, e sistema operacional Windows 7 Professional de 64 bits. Dentro do sistema operacional, através de seu gerenciador de tarefas, definiu-se que o software utilizado para encriptação dos arquivos rodaria exclusivamente no núcleo 0, ao passo que os demais serviços e programas em execução utilizariam aleatoriamente os núcleos 1, 2 ou 3. Com esta configuração garantiu-se que o sistema operacional evitasse a movimentação dos dados do aplicativo entre os registradores e a memória RAM a cada alternância de tarefas. 2.2 Algoritmos escolhidos Como todos os algoritmos candidatos ao AES trabalham basicamente da mesma forma, utilizando blocos de dados de 128 bits e com chaves de 128, 192 e 256 bits, comparou-se seu desempenho na encriptação de grandes volumes de dados com outros algoritmos simétricos comuns que estão disponíveis, em sua implementação padrão, na biblioteca DCPCrypt Versão 2 Beta 3 [4], compatível com o Borland Delphi, o Borland C++ Builder e o Borland Kylix. Existem, todavia, implementações desses algoritmos para outras plataformas, tais como Java, PHP e .NET. 2.2.1 O algoritmo DES O Data Encryption Standard (DES) é uma cifra selecionada como padrão oficial pelo governo dos EUA em 1976 e que foi utilizado em larga escala internacionalmente até o ano 2000. O DES foi estudado academicamente e motivou os sistemas modernos de entendimento da criptoanálise. É atualmente considerado inseguro para muitas aplicações devido, principalmente, à pequena chave de 56 bits utilizada. Em Janeiro de 1999, a distributed.net e a Electronic Frontier Foundation, juntas, violaram uma chave DES em 22 horas e 15 minutos. Acredita-se que o algoritmo Em criptografia, ICE (Information Concealment Engine, ou Mecanismo de Ocultação da Informação) é uma cifra de bloco publicado por Kwan em 1997. O algoritmo é semelhante em estrutura ao DES, mas com a adição de um bit de permutação dependente de chave na função de arredondamento. Essa permutação de bits dependentes de chaves é aplicada de forma eficaz em software. O algoritmo não está sujeito a patentes, e o código-fonte foi colocado em domínio público. ICE é uma rede de Feistel6 com um tamanho de bloco de 64 bits. O algoritmo ICE padrão tem uma chave de 64 bits e tem 16 rodadas. Uma variante rápida, Thin-ICE, usa apenas 8 rodadas. Uma variante aberta, ICE-n, usa 16n rodadas com chave de 64n bits [6]. 2.2.3 O algoritmo Mars O Mars é um algoritmo criptográfico simétrico, com tamanho de bloco de 128 bits e tamanho de chave que varia de 128 a 400 bits. Seu objetivo era atender, e até mesmo exceder, às expectativas de um padrão criptográfico para os próximos anos. Além disso, pretendia obter a melhor relação segurança/ desempenho usando as ferramentas e técnicas disponíveis à época. Foi proposto para análise do NIST pela IBM, sendo representado por um dos seus criadores, Nevenko Zunic. Seus outros criadores são Carolynn Burwickk, Don Coppersmith, Edwars D’Avignon, Rosario Gennaro, Shai Halevi, Charanjit Jutla, Stephen M. Matyas Jr., Luke O’Connor, Mohammad Peyravian e David Safford [7]. 2.2.4 O algoritmo RC6 O desenvolvimento do algoritmo RC6 partiu da ideia de apresentar o algoritmo RC5 para avaliação do NIST como candidato AES. Foram feitas modificações para aumentar a segurança e melhorar o desempenho - em atendimento aos requisitos do concurso -, porém uma característica do RC5 - o half-round7 - continuou sendo mantida como base para o loop interno do RC6. A equipe responsável por essas alterações é formada por cientistas pesquisadores da RSA Laboratories: Ronald L. Rivest, Mathew J. B. Robshaw, Ray Sidney e Yiqun Lisa Yin [7]. 2.2.5 O algoritmo Rijndael O algoritmo Rijndael é um algoritmo simétrico de blocos, cujos tamanhos do bloco e da chave são 6 Em criptografia, uma rede de Feistel é uma estrutura simétrica usada na construção de blocos de cifragem. 7 No algoritmo RC5, o termo half-round é usado para descrever a atualização de uma metade de dados por outra e sua posterior troca. variáveis e podem ser independentemente especificados com qualquer valor entre 128 e 256 bits, sempre em múltiplos de 32 bits. O algoritmo foi submetido à análise do NIST em razão do concurso AES por seus criadores: Joan Daemen e Vincent Rijmen, e foi escolhido como vencedor, por combinar características como segurança, desempenho, facilidade de implementação e flexibilidade [7]. 2.2.6 O algoritmo Serpent O algoritmo Serpent foi proposto ao processo de seleção AES, de acordo com os requisitos impostos pelo NIST, e foi desenvolvido por: Ross J. Anderson, Eli Biham e Lars R. Knudsen. É um algoritmo de bloco que utiliza s-boxes - semelhantes às utilizadas no algoritmo DES - em uma nova estrutura que permite uma implementação bitslice8 mais eficiente. Serpent é um algoritmo que transforma o texto normal P em um texto cifrado C em 32 rounds operando sobre quatro palavras de 32 bits cada, gerando, desta forma, blocos de 128 bits - tanto para a entrada como para a saída. Todos os valores no algoritmo são representados como bitstreams9 [7]. finalidade [8]. Estes arquivos foram então movidos para uma unidade de armazenamento externo de 500 GB, com uma única partição formatada em NTFS, através de uma interface USB 2.0. Sua interface pode ser vista na figura 1. Ele apresenta apenas dois parâmetros básicos: o nome do arquivo que se deseja criar, e seu tamanho (em bytes). Ao clicar-se no botão “Exit” o formulário é fechado e, ao clicar-se no botão “OK”, o arquivo definido na caixa de texto “File” é criado em disco, com o tamanho em bytes especificado na caixa de texto “File size”, e totalmente preenchido com caracteres ASCII 10 aleatórios. 2.2.7 O algoritmo ThinIce ThinICE é uma variante do algoritmo ICE que usa 8 rodadas ao invés de 16, fazendo com que o processo de encriptação e desencriptação de arquivos ocorra muito mais rapidamente. Apesar de rápido, é menos seguro que o algoritmo que lhe deu origem: Van Rompay et al (1998) chegou à conclusão de que um ataque com 223 mensagens teria 25% de chance de recuperar a palavra chave, ao passo de que o mesmo ataque com o uso de 227 mensagens teria 95% de probabilidade de acerto. Figura 1 – Software usado na geração dos arquivos. Os arquivos, uma vez criados em disco, foram criptografados através de um software de autoria própria desenvolvido especificamente com esta finalidade [9]. Sua interface pode ser vista na figura 2. 2.2.8 O algoritmo Twofish O algoritmo criptográfico Twofish foi submetido à avaliação do NIST atendendo aos critérios de escolha do AES. Seus criadores são Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Chris Hale e Niels Fergunson. Na realidade, o algoritmo surgiu a partir de uma tentativa de modificar o modelo original do algoritmo Blowfish, para torná-lo um algoritmo com tamanho de bloco de 128 bits [7]. 2.3 Metodologia dos testes Inicialmente, foram criados os arquivos necessários à realização das medições, nos tamanhos 100 MB (cem Megabytes), 650 MB (seiscentos e cinquenta Megabytes) e 1 GB (um Gigabyte) através de um software desenvolvido especialmente para esta 8 Bitslicing pode ser definido como um método paralelo de procura de chaves. A idéia básica é que caso seja usado uma CPU que opera sobre N bits, N processadores podem ser usados. Assim, caso a CPU seja de 32 bits, existirão 32 processadores virtuais. 9 Fluxos de bits. Figura 2 – Software usado na encriptação dos dados. 10 Acrônimo para American Standard Code for Information Interchange. A primeira caixa de texto, denominada “Input file”, apresenta do seu lado direito com o ícone de uma pasta que, uma vez clicado, abre o diálogo do sistema operacional para seleção/abertura de arquivo; assim que um arquivo é selecionado, ela é preenchida com seu caminho completo. Logo abaixo, há um texto descritivo que informa o tamanho do arquivo em bytes. medição apresentasse um tempo de processamento muito acima ou muito abaixo das demais, o valor utilizado refletiria com maior precisão um cenário real de uso. A segunda caixa de texto, denominada “Output file” apresenta ao seu lado direito outro botão, também com o ícone de uma pasta que, uma vez clicado, abre um novo diálogo do sistema operacional para seleção/salvamento de arquivo; assim que um arquivo é selecionado, ela é preenchida com o seu caminho completo. Assim que selecionados os arquivos de entrada e saída, deve-se informar o algoritmo criptográfico utilizado dentre os disponíveis na lista denominada “Cipher”. Para efeito deste artigo, foram utilizados os algoritmos descritos no item 2.2. A seleção do algoritmo Hash dependerá do tamanho de chave que se deseja gerar. Para efeito deste artigo, utilizou-se o algoritmo MD5 para as cifras DES, Ice e Thin Ice, produzindo-se uma chave de 64 bits; o mesmo algoritmo para as cifras Rijndael, Serpent e Twofish, produzindo-se uma chave de 128 bits; e o algoritmo SHA512, para as cifras Rijndael, Serpent e Twofish, produzindo-se uma chave de 256 bits. Figura 3 – Microsoft Office Excel 2007 com os dados coletados. O monitoramento do sistema se deu através do gerenciador de tarefas do próprio sistema operacional, que era capaz de mostrar o percentual de consumo de CPU e os picos e vales de consumo de memória RAM em tempo real, como pode ser visto nas figuras 4 e 5. As duas próximas caixas de texto, denominadas “Passphrase” e “Confirm passphrase” foram preenchidas com a palavra “EDUARDO”, com todos os caracteres em letras maiúsculas. Ambos os algoritmos de hash utilizados diferem quanto à utilização de letras maiúsculas ou minúsculas na palavra chave. A caixa de texto denominada “Time spent” armazena, ao final do processo de encriptação ou desencriptação do arquivo, o tempo despendido na operação selecionada, no formato ‘hh:mm:ss.zzz’, onde ‘hh’ refere-se às horas, ‘mm’ refere-se aos minutos, ‘ss’ refere-se aos segundos e ‘zzz’ refere-se aos milissegundos. Na parte inferior deste formulário estão disponíveis três botões, sendo que os dois primeiros, denominados “Encrypt” e “Decrypt” somente são ativados, permitindo a ação do usuário, se todas as informações necessárias forem preenchidas. O terceiro botão, denominado “Close”, como o próprio nome sugere, permite que o usuário finalize o programa. Para a coleta dos resultados foi utilizado o software Microsoft Office Excel, versão 2007, como pode ser visto na figura 3. Utilizou-se a função MÉDIA(c1;c2;c...) deste software para o cálculo da média dos tempos medidos. Para efeito de análise dos dados, considerou-se a média simples de cinco medições consecutivas para cada arquivo em cada um dos algoritmos alvos deste artigo. Com isso, pôde-se garantir que, caso alguma Figura 4 – Histórico de uso de CPU. Na figura 4 pode-se notar que o consumo total de CPU ficou estacionado por volta de 26%, sendo que 25% da capacidade de processamento do computador utilizado, ou um núcleo (CPU 0), manteve-se, durante o processo de encriptação dos arquivos, em 100% o tempo todo (linha verde contínua no primeiro gráfico). A tabela IV apresenta os resultados verificados na encriptação de um arquivo de 650 MB utilizando-se os mesmos algoritmos. Tabela IV - Resultados da encriptação do de 650 MB com os algoritmos DES, Ice e Thin Ice Tempo em segundos Figura 5 – Histórico de uso da memória física. Na figura 5 pode-se notar que, durante a encriptação dos arquivos, o consumo de memória total esteve por volta de 1.700 MB (mil e setecentos Megabytes), como mostrado nas barras verdes do lado esquerdo da imagem; entre uma execução e outra, a memória utilizada para carregar o arquivo era liberada, voltando a ser alocada no momento em que se iniciava um novo processamento (linha azul no gráfico à direita da imagem). Iteração 1 DES 35,315 ICE 45,565 Thin Ice 27,368 2 35,465 45,102 27,363 3 35,413 45,112 27,325 4 35,681 45,205 27,336 5 35,357 45,242 27,348 Média 35,446 45,245 27,348 I/O (MB/s) 18,338 14,366 23,768 Pelos dados apresentados, conclui-se que o algoritmo Thin Ice continua apresentando o melhor desempenho na encriptação de um arquivo de texto com 650 MB. Seu desempenho foi 30% e 65% melhor tanto na cifragem do arquivo quanto na taxa de I/O, respectivamente, que os algoritmos DES e Ice. A tabela V apresenta os resultados verificados na encriptação de um arquivo de 1.000 MB utilizando-se os mesmos algoritmos. Tabela V - Resultados da encriptação do arquivo de 1.000 MB com os algoritmos DES, Ice e Thin Ice 3. Resultados A tabela III apresenta os resultados verificados na encriptação de um arquivo de 100 MB utilizando-se os algoritmos DES, Ice e Thin Ice. Tabela III - Resultados da encriptação do de 100 MB com os algoritmos DES, Ice e Thin Ice Tempo em segundos Iteração 1 DES 6,013 ICE 7,004 Thin Ice 4,175 2 5,462 7,106 4,197 3 5,464 7,143 4,184 4 5,532 7,106 4,205 5 5,418 6,989 4,196 Média 5,578 7,070 4,191 I/O (MB/s) 17,928 14,145 23,858 Pode-se observar, através dos dados coletados, que o algoritmo que apresentou os menores tempos de encriptação, bem como a maior taxa de I/O, é o Thin Ice. Ele foi 33% e 68% mais rápido, respectivamente, que os algoritmos DES e Ice na encriptação de um arquivo de texto de 100 MB, com uma taxa de I/O 33% e 58% maior, respectivamente, que os mesmos algoritmos. Tempo em segundos Iteração 1 DES 54,342 ICE 72,129 Thin Ice 44,610 2 54,252 72,078 44,492 3 54,295 72,778 44,314 4 54,407 72,761 44,885 5 54,318 72,396 44,325 Média 54,323 72,428 44,525 I/O (MB/s) 18,408 13,807 22,459 Verifica-se, pelos dados apresentados, que o algoritmo Thin Ice continua apresentando o melhor desempenho em qualquer aspecto analisado. Ele foi 22% e 63% mais rápido na encriptação do arquivo e na taxa de I/O, respectivamente, que os algoritmos DES e Ice. A tabela VI apresenta os resultados verificados na encriptação do arquivo de 100 MB com os algoritmos RC6, Rijndael e Serpent e chave criptográfica de 128 bits. Tabela VI - Resultados da encriptação do arquivo de 100 MB com os algoritmos RC6, Rijndael e Serpent e chave de 128 bits Tabela VIII - Resultados da encriptação do arquivo de 1.000 MB com os algoritmos RC6, Rijndael e Serpent e chave de 128 bits Tempo em segundos Tempo em segundos Iteração 1 RC6 5,383 Rijndael 2,793 Serpent 10,623 Iteração 1 RC6 56,066 Rijndael 28,803 Serpent 112,223 2 5,393 2,767 10,634 2 55,837 28,873 111,566 3 5,387 2,768 10,672 3 56,029 29,015 111,552 4 5,383 2,766 10,631 4 56,001 29,601 111,266 5 5,391 2,765 10,629 5 55,793 28,884 111,241 Média 5,387 2,772 10,638 Média 55,945 29,035 111,570 I/O (MB/s) 18,562 36,078 9,400 I/O (MB/s) 17,875 34,441 8,963 Pelos dados apresentados, verifica-se que o algoritmo de melhor desempenho em ambos os critérios (tempo de encriptação e taxa de I/O) é o Rijndael, que apresentou um tempo de processamento 47% e 74% melhor, respectivamente, que os algoritmos RC6 e Serpent. Sua taxa de I/O foi 94% e 283% maior, respectivamente, que os mesmos algoritmos. Os dados corroboram a superioridade do algoritmo Rijndael quando analisados o tempo de processamento e a taxa de I/O. Ele foi 48% e 74% mais rápido na encriptação do arquivo texto, respectivamente, que os algoritmos RC6 e Serpent, ao passo que apresentou uma taxa de I/O cerca de 93% e 284% maior, respectivamente, que os mesmos algoritmos. A tabela VII apresenta os resultados verificados na encriptação do arquivo de 650 MB com os algoritmos RC6, Rijndael e Serpent e chave criptográfica de 128 bits. Finalmente, foram analisados os mesmos algoritmos - RC6, Rijndael e Serpent - com uma chave criptográfica de 256 bits. Os resultados da encriptação dos arquivos de 100 MB, 650 MB e 1.000 MB são apresentados, respectivamente, nas tabelas IX, X e XI. Tabela VII - Resultados da encriptação do arquivo de 650 MB com os algoritmos RC6, Rijndael e Serpent e chave de 128 bits Tabela IX - Resultados da encriptação do arquivo de 100 MB com os algoritmos RC6, Rijndael e Serpent e chave de 256 bits Tempo em segundos Iteração 1 RC6 35,097 Rijndael 18,087 Serpent 69,266 2 35,393 18,137 3 35,261 18,321 Tempo em segundos 69,673 Iteração 1 RC6 5,404 Rijndael 3,405 Serpent 10,636 69,777 2 5,411 3,408 10,650 5,379 3,407 10,633 4 35,103 18,070 69,440 3 5 35,095 18,094 69,459 4 5,410 3,406 10,644 Média 35,190 18,142 69,523 5 5,397 3,407 10,652 I/O (MB/s) 18,471 35,829 9,349 Os dados da tabela VII mostram que o algoritmo Rijndael continua apresentando o melhor desempenho, sendo 48% e 74% mais rápido na encriptação do arquivo de 650 MB que, respectivamente, os algoritmos RC6 e Serpent. Além disso, apresentou uma taxa de I/O 94% e 283% maior que os respectivos algoritmos. A tabela VIII apresenta os resultados verificados na encriptação do arquivo de 1.000 MB com os algoritmos RC6, Rijndael e Serpent e chave criptográfica de 128 bits. Média 5,400 3,407 10,643 I/O (MB/s) 18,518 29,355 9,396 Os dados da tabela IX mostram que, ao utilizar-se uma chave de 256 bits, o algoritmo Rijndael continua apresentando um desempenho superior, sendo 37% e 60% mais rápido na encriptação do arquivo e apresentando uma taxa de I/O 58% e 212% maior, respectivamente, que os algoritmos RC6 e Serpent. É interessante notar que, na mudança da chave de 128 para 256 bits, esse algoritmo apresentou uma queda de desempenho de quase 19%, conforme se pode observar confrontando-se os dados da tabela IX com a tabela VI. Esse comportamento pôde ser observado independentemente do tamanho do arquivo utilizado. 4. Conclusões Entre os algoritmos que utilizam chaves de 64 bits destacou-se, pela velocidade, o ThinIce, que, na média das medições, apresentou uma redução de tempo na ordem de 19% a 25% na encriptação dos arquivos quando comparado ao antigo padrão DES. Ressalta-se também que, devido à maior velocidade de processamento, a taxa de I/O medida foi 33% maior que a verificada quando se utiliza a cifra DES. Os algoritmos que utilizam chaves de 128 e 256 bits pertencem, todos, ao quinteto que compôs a lista de finalistas do concurso AES do governo dos EUA. Dentre os três escolhidos para este trabalho pode-se destacar, positivamente, o algoritmo Rijndael, que, além de apresentar o menor tempo de encriptação para todos os tamanhos de arquivos analisados, foi escolhido como o algoritmo padrão a ser utilizado em todas as agências e órgãos governamentais dos EUA. O algoritmo Serpent destacou-se negativamente, apresentando não só os maiores tempos de encriptação dos arquivos analisados como também a menor taxa de I/O dentre todos os algoritmos analisados. O algoritmo RC6 acabou ficando nas médias das medições, com um tempo de processamento duas vezes maior, em média, que o algoritmo Rijndael, e duas vezes menor, em média, que o algoritmo Serpent, independente do tamanho do arquivo analisado. Pôde-se verificar, através dos dados apresentados, que nem sempre uma chave criptográfica menor significa um menor tempo de encriptação. Algoritmos criptográficos simétricos modernos quase sempre são mais rápidos em suas operações que os antigos padrões. Referências Bibliográficas [1] FALEIROS, Antônio C. Análise do algoritmo vencedor do AES: o Rijndael. Disponível em: http://www.bibl.ita.br/ixencita/artigos/FundRafaelA ntonio1.pdf. Acessado em: 23/03/2012. Páginas 1-2. [2] NIST. Commerce Department Announces Winner of Global Information Security Competition. Disponível em: http://www.nist.gov/public_affairs/releases/g00176.cfm. Acessado em: 23/03/2012. [3] HAGSTRÖM, Åsa. Ranking the AES Finalists. Disponível em: http://teal.gmu.edu/courses/ECE636/AES/AsaHagstr om.PDF. Acessado em 02/05/2012. [4] BARTON, David. DCPcrypt Cryptographic Component Library v2 Beta 3. Disponível em: http://www.cityinthesky.co.uk/. Acessado em: 21/02/2011. [5] UFGRS. DES - Data Encrypt Standard. Disponível em: http://penta.ufrgs.br/gere96/segur2/des.htm. Acessado em 02/05/2012. [6] KWAN, Matthew. The ICE Home Page. Disponível em: darkside.com.au/ice/index.html. Acessado em 02/05/2012. [7] RIBEIRO, Vinícius G. SALES, Carmem L. C. Um Estudo Comparativo entre os Algoritmos Finalistas do AES. Disponível em: http://www.sumarios.org/sites/default/files/pdfs/ilov epdf.com_split_7_0.pdf. Acessado em 02/05/2012. [8] NICÁCIO, Eduardo C. File Generator. Disponível em: http://www.ecnsoft.net/?file_id=486. Acessado em 11/06/2012. [9] NICÁCIO, Eduardo C. File Encrypt. Disponível em: http://www.ecnsoft.net/?file_id=487. Acessado em 11/06/2012.