Sie sind auf Seite 1von 5

AES 256

Lucas Haag, Eeliezer Prichua, Celio Paulo Kirsch Faccat Faculdades Integradas de Taquara Taquara RS Brasil lucas.haag@uol.com.br ELIEZER@faccat.br celio@faccat.br

Resumo. Nesse relatrio segue um breve resumo sobre as tecnologias que foram utilizadas em nosso desenvolvimento, tais como: a linguagem PHP, todo desenvolvimento foi baseado no servidor HTTP Apache, para fazermos a criptografia e descriptografia foi utilizada a biblioteca MCRYPT e nosso Algoritmo Simtrico utilizado foi o Advanced Encryption Standard 256. Ainda explicamos sintetizadamente o cdigo-fote e seu funcionamento.

1. PHP
O PHP uma linguagem de programao interpretada, livre e uma das principais utilizadas em servidores web por ser extremamente modularizada.

2. Apache
O servidor HTTP Apache hoje o mais bem sucedido servidor web livre no mundo, e utilizado em praticamente todas as plataformas de hoje em dia.

3. Biblioteca Mcrypt
Mcrypt_create_iv essa funo cria um vetor de inicializao a partir de uma fonte aleatria, ou seja atravs do comando definido o tamanho do vetor, a fonte dele com o comando a seguir que gera nmeros aleatrios para aquela fonte. Mcrypt_encrypt essa funo encripta o texto em questo utilizando o vetor de inicializao criado anteriormente e salva uma chave para ser feita a descritografia.

Mcrypt_decrypt essa funo pega a chave criada e utiliza como senha para fazer o processo de descritografia utilizando o texto criptografado que foi gerado e retornando o texto original.

4. AES 256
O Algoritmo Simtrico utilizado no desenvolvimento foi o Advanced Encrytion Standard 256 (AES 256), esse algoritmo tambm conhecido como Rijndael, ele uma cifra de bloco que tambm padro de criptografia do governo dos EUA. Ele foi anunciado em 26 de novembro de 2001 e 5 anos aps isso foi considerado padro efetivo e hoje um dos mais utilizados para criptografia de chave simtrica.

5. Funcionamento da criptografia
O AES tem um tamanho de bloco fixo em 128 bits e uma chave com tamanho de 128, 192 ou 256 bits. A chave expandida usando-se o agendamento de chaves do Rijndael. A maioria dos clculos do AES feita em um campo finito prprio. O AES opera sobre um arranjo bidimensional de bytes com 4x4 posies, denominado de estado, Sua criptografia consiste em quatro estgios: 1. AddRoundKey- cada byte do estado combinado com a subchave prpria do turno (RoundKey); cada subchave derivada da chave principal usando o algoritmo de agendamento de chaves. 2. SubBytes- uma etapa de substituio no linear onde cada byte substitudo por outro de acordo com uma tabela de referncia. 3. ShiftRows- uma etapa de transposio onde cada fileira do estado deslocada de um determinado nmero de posies. 4. MixColumns- uma operao de mescla que opera nas colunas do estado e combina os quatro bytes de cada coluna usando uma transformao linear. O turno final substitui o estgio de MixColumns por um novo estgio de AddRoundKey.

Figura 1. Etapa AddRoundKey

Na etapa de AddRoundKey, a sub-chave combinada com o estado. Para cada turno, uma sub-chave derivada da chave principal usando o agendamento de chaves do Rijndael; cada sub-chave do mesmo tamanho que o estado. A sub-chave somada combinando cada byte do estado com o byte correspondente do sub-chave, utilizando a operao XOR bit a bit.

Figura 2. Etapa de SubBytes

Na etapa de SubBytes, cada byte no arranjo atualizado usando uma S-box de 8 bits. Para evitar os ataques baseados em propriedades algbricas simples, a S-box construda combinando-se uma funo inversora com uma transformao afim invertvel. A S-box escolhida tambm de forma a evitar qualquer ponto fixo.

Figura 3. Etapa de ShiftRows

A etapa de ShiftRows opera sobre as linhas do estado, deslocando os bytes em cada linha de um determinado nmero de posies. No AES, a primeira linha fica inalterada. Cada byte da segunda linha deslocado esquerda de uma posio. Similarmente, a terceira e quarta fileiras so deslocadas de duas e de trs posies respectivamente. Em blocos de 256 bits, a primeira fileira fica inalterada, deslocando-se a segunda, terceira e quarta fileiras. O deslocamento de 1 , 2 e 4 bytes respectivamente.

Figura 4. Etapa de MixColumns

Na etapa de MixColumns, os quatro bytes de cada coluna do estado so combinados usando uma transformao linear invertvel. Junto com o ShiftRows, o MixColumns fornece difuso cifra. Cada coluna tratada como um polinmio em GF(28) e ento multiplicado em mdulo x4 + 1 pelo polinmio fixo c(x) = 3x3 + x2 + x + 2. A etapa de MixColumns pode tambm ser vista como uma multiplicao matricial no campo finito de Rijndael.

6. Explicao Cdigo Fonte


O cdigo est dividido em dois arquivos chamados de criptografa.php e descriptografa.php, o arquivo criptografa.php consiste em receber um texto e uma chave, aplicar a cifra de csar no texto e armazenar o resultado em uma varivel chamada criptografado. Ele exibe o resultado com a cifra de csar na tela, aps isso utilizando a

biblioteca mcrypt cria um vetor randmico e tambm cria uma sesso contendo esse vetor que a forma de como os dois arquivos se comunicaro para receber o texto criptografado entre um e outro. Ento utilizando novamente a biblioteca mcrypt atribuda uma chave pra descritografia, dado o texto contido na varivel criptografado para ser novamente criptografado com o algoritmo de Rijndael e isso armazenado no vetor randmico criado. E exibido na tela o texto encritografado novamente. J no arquivo descriptografa.php solicitado o texto encriptografado e sua chave, aps isso ele verifica se existe a sesso criada, existindo ele faz o processo reverso, ou seja, abre o vetor randmico, por meio da biblioteca mcrypt, descriptografa o texto com o algoritmo Rijndael e aplica a reversa da Cifra de Csar para tornar o texto claro e exibi-lo na tela, aps o processo a sesso destruda.

Das könnte Ihnen auch gefallen