Criptografia chave simétrica de bloco e de fluxo

Este artigo descreve o que são os algoritmos de chave simétrica, no que são baseados e suas aplicações. Descreve os algoritmos simétricos de bloco e de fluxo. Pode ser considerado uma continuação do artigo "Introdução a criptografia".

[ Hits: 168.711 ]

Por: Elgio Schlemer em 09/03/2009 | Blog: http://gravatai.ulbra.tche.br/~elgio


Conclusão e referências



Os algoritmos de fluxo são muito interessantes na comunicação de dados. Os de bloco são melhores para cifrar dados estáticos, onde já se sabe antecipadamente o tamanho e se pode dividir em blocos de M bits.

Os algoritmos de bloco, na sua forma original, permitem a exploração de ataques de repetição, supressão e inserção de bloco. Como cada bloco é cifrado de forma individual, um atacante poderá copiar um bloco sobre o outro, remover um bloco ou mesmo inserir o bloco 0 entre o 2 e o 3 e mesmo assim a decifragem será feita de forma positiva. Na prática toda a ferramenta de cifragem insere cabeçalhos incluindo CRC para verificar se a decifragem ocorreu da forma esperada. Mesmo assim, uma variação da cifra de bloco conhecida como CBC (Cipher-Block Chaining) implementa um encadeamento entre os blocos frustrando este tipo de ataque.

No Linux o canivete suíço da criptografia é o gnupg. Baseado na sua versão comercial, o PGP, esta ferramenta implementa os principais tipos de cifras que se pode pensar, incluindo os de bloco. Também tem o openssl, disponível tanto em linha de comando como em bibliotecas de programação. Ninguém que deseje incorporar criptografia em seus programas precisa, hoje, programar uma linha sequer, pois tudo já existe. Gnupg e OpenSSL podem vir a se tornar outro artigo no futuro

Uma implementação tosca em C do algoritmo de criptografia XOR pode ser encontrando em Criptografia XOR em C.

Praticamente todas as referências bibliográficas que citei em meu primeiro artigo (Introdução a criptografia), se aplicam a este artigo.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Algoritmos simétricos de bloco
   3. Algoritmos simétricos de fluxo
   4. Algoritmo de fluxo RC4
   5. Conclusão e referências
   6. Anexo A: problema do XOR
Outros artigos deste autor

Mecanismo de firewall e seus conceitos

Fundamentos da criptografia assimétrica

Cuidado com números em Ponto Flutuante

Estrutura do IPTables 2: a tabela nat

Iptables protege contra SYN FLOOD?

Leitura recomendada

Traduzindo plugins do OpenVAS/Nessus para português

Criando senhas seguras com o mkpasswd

Explorando celulares Android via Web com airbase-ng

Autenticação via hardware: o módulo pam_usb

Instalando e configurando o Nagios 3.3.1 com NDOUtils 1.4

  
Comentários
[1] Comentário enviado por elgio em 09/03/2009 - 15:08h

***** ERRATA: No desenho da Figura 1 onde lê-se Bytes na verdade são bits. 288 Bits, 320 Bits

[2] Comentário enviado por gustavs em 29/04/2009 - 22:06h

Muito bom! Não conhecia praticamente nada de criptografia, agora me interessei.
Recomenda alguma leitura nesse assunto ?

[3] Comentário enviado por adrianoturbo em 02/05/2009 - 14:24h

Interessante a utilização do XOR.

[4] Comentário enviado por grandmaster em 05/05/2009 - 21:06h

Muito legal o artigo. Bem interessante.

Renato de Castro Henriques
CobiT Foundation 4.1 Certified ID: 90391725
http://www.renato.henriques.nom.br

[5] Comentário enviado por thiagods.ti em 17/06/2009 - 16:12h

Teus artigos geralmente são bons, hoje foi só ver que você lançou um artigo novo que a primeira coisa que eu faço quando tenho tempo é ler.

Parabéns =)

[6] Comentário enviado por Credmann em 21/06/2009 - 17:35h

Este artigo é quase a resposta da minha dúvida:
Qual criptografia tem melhor desempenho numa sessão interativa SSH?

[7] Comentário enviado por leomarcsys em 05/01/2012 - 18:30h

Há uma imprecisão quanto a informação sobre os tamanhos de bloco do AES.
O algoritmo de Rijndael, vencedor do concurso do nist para a definição do AES, prevê tamanhos variados de blocos e de chaves, no entanto o fips-197 que especifica o AES define apenas o tamanho de bloco como 128 bits.
http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts