Modo de encadeamento de blocos de cifras

O modo Cipher Block Chaining ( Modo CBC ) é um modo operacional no qual as cifras de bloco podem ser operadas. Antes de um bloco de texto simples ser criptografado , ele é primeiro vinculado ao bloco de texto cifrado gerado na etapa anterior usando XOR (exclusivo ou). O modo foi publicado em 1976 por William F. Ehrsam, Carl HW Meyer, John L. Smith e Walter L. Tuchman.

Em geral

A estrutura da criptografia no modo CBC é mostrada na figura a seguir:

Criptografia CBC

Este diagrama também pode ser expresso matematicamente em fórmulas, denotar a função de criptografia com a chave , seja a função de descriptografia associada. Designe o i-ésimo bloco de texto simples, o i-ésimo bloco de texto cifrado e seja o vetor de inicialização; geralmente é definido. Além disso, denote o XOR lógico. Então, a criptografia no modo CBC é definida recursivamente da seguinte forma :

A estrutura da descriptografia no modo CBC é mostrada na figura a seguir:

Descriptografia CBC

A descriptografia associada, por outro lado, não é recursiva no modo CBC e tem as mesmas designações acima:

Um registro de data e hora ou uma sequência aleatória de números é usada como o vetor de inicialização (IV) . Alguns aplicativos também usam um número ascendente simples e previsível, mas isso não é certo, porque as pessoas fora de um ataque indesejável de marca d'água (um ataque de marca d'água pode ser executado) a esses dados. O módulo dm-crypt usa o processo ESS para gerar o IV .

Para a segurança do algoritmo , não é necessário transmitir o vetor de inicialização secretamente.

O modo CBC tem algumas vantagens importantes:

  • As amostras de texto simples são destruídas.
  • Blocos de texto simples idênticos resultam em textos criptografados diferentes.
  • Vários ataques (troca de memória de tempo e ataques de texto simples) tornam-se mais difíceis.

Como um bloco de texto cifrado depende apenas do bloco anterior, um bloco de texto cifrado danificado, como um erro de bit durante a transmissão de dados, não causa muitos danos durante a descriptografia, porque apenas o bloco de texto simples em questão e o bloco de texto simples seguinte são decifrados incorretamente. Isto pode ser observado directamente a partir da definição da decifração e a figura acima, uma vez que uma mensagem cifrada danificado o bloco apenas afecta os blocos de texto simples e e não se espalhar mais. No entanto, essa multiplicação limitada de apenas um único erro de bit na cifra com CBC pode dificultar ou impossibilitar a correção direta de erros do texto simples. Da mesma forma, um vetor de inicialização danificado não causa muitos danos durante a descriptografia, uma vez que danifica apenas o bloco de texto simples .

O modo CBC é muito mais seguro do que o modo ECB , especialmente se você não tiver nenhum texto aleatório. Nosso idioma e outros arquivos, como. B. Os arquivos de vídeo não são de forma alguma aleatórios, razão pela qual o modo ECB é perigoso.

exemplo

Texto simples
01 10
Dividido em blocos
01 = , 10 =
chave
11 = k
Vetor inicial (IV)
01

Para simplificar, como a função de criptografia , a adição binária e como uma função de descriptografia usa a subtração binária.

Encriptação

Bloco 1:

Bloco 2:

Texto criptografado:

Se você observar a criptografia de , verá que isso é necessário. Em geral, isso significa que o bloco de criptografia é necessário para a criptografia . Portanto, não é possível paralelizar o processo de criptografia.

Decifrar

Bloco 1:

Bloco 2:

Texto simples:

Se você observar a descriptografia de , verá que ela não é necessária apenas para isso . Em geral, isso significa que é necessário apenas para descriptografar . Isso permite que o processo de descriptografia seja executado em paralelo.

Garantia de integridade com CBC, CBC-MAC

Image
Estrutura para o cálculo CBC-MAC

CBC também pode ser usado para garantir a integridade, definindo o vetor de inicialização para zero e anexando o último bloco criptografado com CBC como um MAC (o chamado valor residual CBC-MAC ou CBC) à mensagem não criptografada original e enviando-a junto com este MAC. Com a ajuda do algoritmo CBC, o destinatário pode calcular o CBC-MAC da mensagem recebida e agora comparar se o valor que acabou de ser calculado está de acordo com o anexado à mensagem. Se uma mensagem criptografada com CBC deve ser protegida com um CBC-MAC, a mesma chave não deve ser usada para a geração do CBC-MAC como para a criptografia. Se a mesma chave fosse usada, o bloco MAC seria o mesmo que o último bloco de cifra e um invasor poderia alterar sem ser detectado a mensagem inteira, com exceção do último bloco.

O CBC-MAC é seguro apenas para mensagens de comprimento fixo. Se o comprimento da mensagem variar , o método pode ser atacado pela extensão do comprimento . Um invasor pode gerar um MAC válido para uma nova mensagem (a concatenação das duas mensagens) a partir de dois pares de mensagem MAC válidos. Duas modificações podem evitar esse ataque: Cada mensagem pode ser precedida pelo comprimento da mensagem ou o bloco MAC é criptografado adicionalmente com uma segunda chave.

literatura

  • Reinhard Wobst: Criptologia de aventura. Métodos, riscos e benefícios da criptografia de dados. 2ª edição revisada. Addison-Wesley Longman, Bonn et al., 1998, ISBN 3-8273-1413-5 .

Evidência individual

  1. William F. Ehrsam, Carl HW Meyer, John L. Smith, Walter L. Tuchman, "Mensagem de verificação e detecção de erro de transmissão por encadeamento de blocos", Patente US 4074066, 1976
  2. Mihir Bellare , Joe Kiliany, Phillip Rogaway: A Segurança do Código de Autenticação de Mensagens de Encadeamento de Blocos de Cifras . In: Journal of Computer and System Science . fita  61 , no. 3 , 2000, pp. 362–399 ( versão digitalizada ( PDF; 466 kB) ( memento de 5 de fevereiro de 2012 no Internet Archive )). A Segurança do Bloco encadeamento Message Authentication Code Cipher ( Memento do originais de 5 de Fevereiro de 2012 no Internet Archive ) Info: O arquivo de ligação foi inserido automaticamente e ainda não foi marcada. Verifique o link original e o arquivo de acordo com as instruções e, em seguida, remova este aviso.  @ 1@ 2Modelo: Webachiv / IABot / www.cs.ucdavis.edu