DES (Data Encryption Standard)


 

     O DES foi criado em 1977, sendo largamente usado desde então. Foi adotado pelo National Bureau of Standards, atualmente conhecido como National Institute of Standards and Technology. Seu funcionamento básico consiste na criptografia de blocos de 64 bits de entrada com uma chave de 56 bits, gerando blocos de 64 bits como saída. Para obter o texto original novamente, reverte-se o processo usando a mesma chave. Devido ao pequeno tamanho desta, esse algoritmo já não é considerado seguro, pois ele poderia ser quebrado com certa facilidade pela força bruta, ou seja, pelo teste de todas as chaves existentes até que se ache aquela que foi usada para criptografar o documento. Outro ponto que gera certa apreensão é o fato de existirem blocos internos ao DES cujo critério de arquitetura não foi explicitado, levando muitos a crer que existiriam falhas internas não reveladas pelo autor.
     A figura a seguir mostra um esquema genérico do funcionamento do DES. O texto cifrado é gerado a partir de 16 interações entre as permutações do texto inicial e da chave.

     

     A permutação inicial mostrada na figura é feita de acordo com uma tabela que indica o novo posicionamento dos 64 bits após a permutação.


     O diagrama de como são feitas as interações é mostrado a seguir:

     

     Olhando primeiramente para o lado esquerdo da figura, nota-se que o texto plano foi dividido em dois blocos de 32 bits. O Bloco de 32 bits de saída da esquerda será igual ao bloco de entrada da direita. Já o bloco de saída da direita corresponderá a uma série de processos utilizando os blocos da direita, os da esquerda e também a chave. Primeiramente, é feita uma expansão e, em seguida, uma permutação no bloco da direita, segundo uma tabela pré-determinada.
     Após este passo, é feito um XOR entre um subproduto da chave, e, em seguida, o resultado dessa operação é enviado para as S-Boxes. Logo depois, é feita uma nova permutação, segundo uma outra tabela, que juntamente com o bloco da direita entrará em um novo XOR, resultando no bloco da direita final.

     De forma mais genérica, essas operações podem ser descritas como:
     Li=Ri-1
     Ri-1=Li-1 XOR f(Ri-1, Ki)

     O funcionamento das S-boxes é explicado pelo esquema a seguir:

     

 

     O primeiro e o último bits de entrada de cada caixa Si formam um número binário de dois bits, o qual seleciona uma linha particular da tabela das S-boxes, enquanto os 4 bits intermediários formam um número que irá selecionar alguma coluna. O número que estiver na célula que possui essas coordenadas será convertido para uma representação de 4 bits que será dada como saída.

     Devido a sua estrutura, e também a permutação que existe em seguida, qualquer pequena mudança na saída de uma das interações geraria uma saída ao final do algoritmo muito modificada, pois um pequeno erro seria multiplicado e propagado pelas 16 interações. Dessa forma, o DES possui uma imensa capacidade de proteger a informação, apesar de não se saber qual foi o critério de criação das S-Boxes.

     Tratamento da chave

     Quanto a chave, primeiramente, ela é permutada segundo uma tabela. O resultado dessa permutação passa a ser tratado então como dois grupos de 28 bits, entitulados de Ci e Di. Em cada interação é feita uma rotação dos bits, para a direita ou esquerda segundo uma outra tabela, na qual o número de bits a serem rodados varia de acordo com o número da interação.
Os valores obtidos servem tanto como a entrada correspondente a chave na próxima interação quanto como entrada para um segundo processo, que fará uma permutação aliada a uma contração que gerará a subchave que entra no XOR.


     Decifragem do DES

     A decifragem consiste de um processo semelhante ao da cifragem. Para se obter o dado decriptografado, basta que se façam as interações utilizando as chaves com ordem invertida, ou seja, partindo da 16a chave na primeira interação, e assim em diante, até chegar na décima sexta interação com a 1a chave.

 

Voltar a página anterior

    
Voltar ao menu principal