Criptografia twofish

Disponível somente no TrabalhosFeitos
  • Páginas : 7 (1715 palavras )
  • Download(s) : 0
  • Publicado : 3 de outubro de 2012
Ler documento completo
Amostra do texto
SEGURANÇA DA INFORMAÇÃO

Assunto: Criptografia TWOFISH Data: 27/03/2012 Alunos: Jairus Lopes de Macedo Wander Andrade

1

SEGURANÇA DA INFORMAÇÃO

Introdução : A criptografia de uma determinada informação esta dentro de um termo chamado “Confidencialidade”, que tem como propriedade não disponibilizar a informação para todos e sim para um grupo seleto de pessoas autorizadas. O nossoestudo irá abordar o algoritmo TWOFISH que é uma evolução para algoritmo BLOWFISH criado por Bruce Schnneir, John Kelsey, Doug Whiting, David Wagner, Chris Hall, e Niels Ferguson com a finalidade de ser um dos candidatos para o Advanced Encryption Standard (AES). Seu esquema de cifragem consiste em tratar a mensagem em blocos de 128 bits, utilizando chaves de tamanhos variáveis, podendo ser de 128, 192ou 256 bits. Assim como o Blowfish, afim de aumentar a segurança, ele realiza 16 interações durante a criptografia. De fato, é possível utilizar o algoritmo com menos estágios, visto que só foi possível quebrá-lo na quinta interação. No entanto, afim de obter um bom nível de segurança, e sendo ele um algoritmo veloz, é recomendável utilizar as 16 fases. Mais do que esse número diminui avelocidade sem aumentar muito a segurança. Outro ponto favorável à segurança é que não existem chaves fracas para esse algoritmo. A geração de sua chave em microprocessadores, assim como a capacidade de operar com smart cards, o processamento em hardware foram projetados afim de gerar uma ótima eficiência. Assim como o Blowfish e o DES, durante as suas 16 interações, o Twofish utiliza o método FeistelNetwork, o qual consiste em utilizar-se um método de cifragem fraco diversas vezes de modo a tornar-se um processo complexo. Na verdade, isso nada mais é do que fazer alguma permutação seguindo uma regra especial. Em geral, nos algoritmos, essas são chamadas de função F . A função bijetora F do Twofish possui o mesmo comportamento já descrito para o Blowfish. O Twofish possui ainda 4 S-Boxes de 8 por8 bits. Além disso, esse algoritmo também usa a técnica do whitenig, que consite em esconder a entrada e a saída da primeira e da décima-sexta interação respectivamente, através de um XOR. Dessa forma, são criadas mais duas subchaves, da mesma forma que foram criadas as demais, e então faz-se um XOR entre essa e a subchave que se quer esconder. Além disso, são feitas rotações de 1 bit dentro dafunção F, a cada interação. São também utilizadas matrizes MDS (Maximum Distance Separable) e PHT(PseudoHadamard Transform). Um código MDS sobre um campo consiste de um mapeamento linear de a
2

SEGURANÇA DA INFORMAÇÃO elementos de um campos até b elementos, produzindo um vetor com a+b elementos, com a característica de que o menor número de elementos diferentes de zero nesse vetor é pelo menosb+1. O mapeamento MDS pode ser representado como uma matriz axb. A condição suficiente e necessária para uma matriz ser do tipo MDS é que todas as submatrizes quadradas obtidas eliminando colunas e/ou linhas sejam não singulares. O Twofish usa matrizes de 4 por 4 bits sobre GF(2^8). Já o PHT é um processo simples de permutação dos elementos, onde duas entradas de 32 bits, a e b, o PHT será: a'=a+bmod 2^32 b'=a+2b mod 2^32

3

SEGURANÇA DA INFORMAÇÃO A figura abaixo mostra todo o funcionamento do Twofish.

4

SEGURANÇA DA INFORMAÇÃO

Funcionamento : No primeiro instante, o texto não encriptado é dividido em 4 partes de 32 bits. Essas quatro partes servem de entrada para os XOR's com as sub-chaves criadas para o whitening. Em seguida, são feitos os 16 processos, nos quais asduas partes da entrada que estão mais a esquerda servem como entrada para a função g, sendo que uma delas é rodada de 8 bits primeiramente. A função g consiste de de 4 S-Boxes de 1 byte cada, que são criadas dependentemente da chave. Em seguida, é feita uma mistura linear baseada nas matrizes MDS. Os resultados das duas funções G são, então combinados usando PHT e duas subchaves. Os dois resultados...
tracking img