Qual é a diferença entre codificações de fluxo e codificações de bloco?

...

As cifras de fluxo são adequadas para aplicativos de hardware em tempo real.

Uma cifra é um conjunto de regras matemáticas, ou algoritmo, usado para converter texto legível, ou texto simples, em texto ilegível ou texto cifrado. A principal diferença entre cifras de fluxo e cifras de bloco é que as cifras de fluxo funcionam em fluxos de texto, um bit ou um byte por vez, enquanto as cifras de bloco funcionam em blocos de texto.

Cifra de fluxo

A ideia básica de uma cifra de fluxo é dividir o texto em pequenos blocos, com um bit ou um byte de comprimento, e codificar cada bloco dependendo de muitos blocos anteriores. As cifras de fluxo usam uma chave de criptografia diferente - um valor que deve ser alimentado no algoritmo - para cada bit ou byte, portanto, o mesmo bit ou byte produz um texto cifrado diferente cada vez que é criptografado. Algumas cifras de fluxo usam um gerador de fluxo de chave, que produz um fluxo de bits aleatório ou quase aleatório. A cifra executa uma operação booleana, conhecida como OU exclusivo, entre os bits no fluxo de chaves e os bits no texto simples para produzir o texto cifrado.

Vídeo do dia

Cifra de Bloco

A ideia básica de uma cifra de bloco é dividir o texto em blocos relativamente grandes, normalmente de 64 ou 128 bits, e codificar cada bloco separadamente. A mesma chave de criptografia é usada para cada bloco e é a chave de criptografia que determina o ordem em que substituição, transporte e outras funções matemáticas são realizadas em cada quadra. Algoritmos fortes significam que fazer engenharia reversa da cifra ou determinar quais funções foram realizadas em cada bloco, em que ordem, é virtualmente impossível.

Difusão e confusão

As cifras de bloco usam técnicas conhecidas como confusão e difusão para criptografar o texto simples em texto cifrado. A ideia por trás da confusão é tornar o relacionamento entre a chave de criptografia e o texto cifrado o mais complexo possível. Idealmente, cada caractere na chave de criptografia deve influenciar cada caractere no texto cifrado. Em contraste, a difusão espalha a influência de cada caractere no texto simples sobre vários caracteres no texto cifrado, tornando a cifra menos suscetível a ataques estatísticos.

Prós e contras

O fato de que as cifras de fluxo criptografam e descriptografam dados um bit por vez significa que são particularmente adequadas para aplicativos de hardware em tempo real, como aplicativos de áudio e vídeo. As cifras de fluxo são mais fracas e menos eficientes do que as cifras de bloco quando se trata de aplicativos de software e são usadas com menos frequência nessa esfera. As cifras de bloco são mais fáceis de implementar no software porque criptografam dados em blocos de um comprimento que o software já usa. A chave de criptografia geralmente tem o mesmo comprimento que o tamanho do bloco.