criptografias simétricas Flashcards
CRIPTOGRAFIA SIMÉTRICA
utilizar a mesma chave para o procedimento de criptografia e descriptografia.
A criptografia simétrica visa garantir apenas o princípio da confidencialidade. Os demais não podem ser garantidos, pois não há mecanismo que garanta que a mensagem não será alterada no caminho, podendo gerar um resultado de decriptação diferente da mensagem original. Não há como garantir de que a pessoa que aplicou a chave simétrica no processo de encriptação é quem ela diz ser. Veremos com detalhes cada um dos principais algoritmos de criptografia simétrica.
Compressão e tamanho em criptografia simétrica
Uma boa prática em qualquer processo de criptografia é realizar a compressão dos dados antes da encriptação. Tal procedimento tem como objetivo reduzir a ocorrência de dados repetidos ou redundantes em uma sequência de dados. Desse modo, com uma menor quantidade de dados redundantes, dificulta-se o processo de criptoanálise de um eventual atacante. Vale mencionar, que a compressão também reduz o tamanho dos dados de entrada, aumentando o desempenho da aplicação ou sistema.
Antes de avançarmos para os principais algoritmos de criptografia simétrica, gostaria de registrar alguns pontos. Primeiro, veremos claramente que os tamanhos das chaves simétricas são muito menores que os algoritmos de chaves assimétricas, o que implica em um processamento mais rápido do primeiro em relação em segundo.
Por esse motivo, na prática, utiliza-se o algoritmo de chave assimétrica como forma de trocar as chaves simétricas de modo seguro e posteriormente, toda a comunicação se dá utilizando o algoritmo de chave simétrica.
principais algoritmos
DES
3DES
RC
AES
princípio de Kerckoffs
correta
correta
DES
Durante muitos anos o DES foi o algoritmo padrão utilizado na criptografia simétrica. Foi criado pela IBM em 1977 com tamanho de chaves relativamente pequenas, quando comparada com as demais.
Utiliza chaves de 64 bits, dos quais 56 bits são randômicos e os 8 restantes são de paridade para garantir a integridade da chave. E aqui temos uma primeira observação. Apesar do tamanho da chave ser de 64 bits, a robustez para efeito de quebra de chave era de 56 bits, uma vez que os 8 são derivados dos 56 bits. Assim, para efeito de prova, devemos considerar, quando abordado em um caráter genérico, que o DES utiliza chave de 56 bits.
Através da utilização do ataque de força bruta, foi quebrado em desafio lançado pelo NIST em 1997. Entretanto, é utilizado para efeito de estudo até os dias de hoje.
Fluxo de operações do DES
Estrutura de Feistel
16 rounds
Expansão - o bloco de 32 bits (metade do bloco) é expandido para 48 bits usando a permutação expansiva, representada pelo E no diagrama, através da duplicação de alguns bits.
Mistura de chaves - o resultado é combinado com uma subchave usando uma operação XOR. Dezesseis subchaves de 48 bits - uma para cada round - são derivadas da chave principal utilizando o escalonamento de chaves (descrito abaixo).
Substituição - após trocar a subchave, o bloco é dividido em oito pedaços de 6 bits antes do processamento pelo box de substituição ou S-box. Cada um dos oito S- boxes substitui os seis bits de entrada por quatro bits de saída de acordo com uma transformação não-linear, fornecida por uma lookup table.
Os s-boxes fornecem o núcleo da segurança do DES - sem eles, a cifra seria linear e quebrada de forma trivial.
Permutação - finalmente, as 32 saídas das S-boxes são rearranjadas de acordo com uma permutação fixa, o P-box.
Des (Função F)
A substituição ocorrida nos S-boxes, a permutação de bits nos P-boxes e a expansão fornecem a chamada “confusão e difusão”, respectivamente, um conceito identificado por Claude Shannon nos anos 1940 como uma condição necessária para uma cifragem prática e segura.
Difusão e Confusão
Confusão
* Busca tornar o relacionamento entre o texto cifrado e o valor da chave de criptografia o mais complexo possível.
Difusão
* Busca tornar o relacionamento estatístico entre o texto claro e o texto cifrado” o mais complexo possível
3 DES
Na tentativa de dar uma sobrevida ao DES, criou-se o 3DES, que nada mais é do que a aplicação do DES três vezes, com o detalhe de que na segunda vez, faz-se o processo de decriptação.
Desse modo, ao se utilizar três chaves distintas, tem-se uma robustez de 56 bits por chave, totalizando 168 bits de tamanho de chave.
Entretanto, o 3DES suporta a utilização de apenas duas chaves, assumindo que a primeira e a terceira sejam iguais. Nesse caso, a robustez da chave se restringiria a 112 bits.
EDE
Encrypt-Decrypt-Encrpyt
3 DES tamanho da chave (variações)
RC - Rivest Cipher
O RC possui três versões que usualmente aparecem em provas, quais sejam: 4, 5 e 6.
É um algoritmo desenvolvido pela RSA.
O RC4 é orientado a byte
possui tamanho de chave variável até 2048 bits, com algoritmo baseado em permutação randômica.
Possui como principal característica a utilização de cifras de fluxo.
É um algoritmo bastante utilizado no TLS.
O RC4 é muito simples e sua força se concentra no mecanismo de geração de uma sequência pseudoaleatória. A chave desse algoritmo é usada para inicializar um vetor interno.
O RC5 é um algoritmo parametrizado que utiliza CIFRA DE BLOCO de tamanho variável (32, 64 e 128 bits), tamanho de chave variável (0 a 2048) e quantidade variável de rodadas (0 a 255) de processamento. Utiliza três rotinas padrões: expansão, encriptação e decriptação.
Já o RC6, sendo baseado no RC5, também utiliza CIFRA DE BLOCO. Acrescenta recursos de inclusão de multiplicação de inteiros e registradores de 4 bits, enquanto o RC5 utilizava de 2 bits.