Recomendado, 2024

Escolha Do Editor

Diferença entre a codificação de bloco e a codificação de fluxo

Cifra de Bloco e Cifra de Fluxo são os métodos usados ​​para converter o texto sem formatação em texto cifrado diretamente e pertencem à família de cifras de chave simétrica.

A principal diferença entre uma cifra de bloco e uma cifra de fluxo é que a cifra de bloco criptografa e descriptografa um bloco do texto de cada vez. Por outro lado, a cifra de fluxo criptografa e descriptografa o texto pegando o byte do texto de cada vez.

Gráfico de comparação

Base para comparaçãoCifra de blocoCifra de Fluxo
Basic
Converte o texto simples tomando seu bloco de cada vez.
Converte o texto tomando um byte do texto sem formatação de cada vez.
Complexidade
Design simples
Complexo comparativamente
Número de bits usados
64 bits ou mais
8 bocados
Confusão e Difusão
Usa confusão e difusãoDepende apenas de confusão
Modos de algoritmo usados
ECB (Electronic Code Book)
CBC (Encadeamento de Blocos de Cifras)
CFB (feedback de cifra)
OFB (feedback de saída)
Reversibilidade
Reverter o texto criptografado é difícil.
Ele usa XOR para a criptografia que pode ser facilmente revertida para o texto sem formatação.
Implementação
Cifra Feistel
Cifra Vernam

Definição de cifra de bloco

Block Cipher pega uma mensagem e a divide em um tamanho fixo de blocos e converte um bloco da mensagem em um instante. Por exemplo, temos uma mensagem em texto simples "STREET_BY_STREET", necessária para ser criptografada. Usando o bock cipher, “STREET” deve ser criptografado primeiro, seguido por “_BY_” e finalmente por último “STREET”.
Na prática real, a comunicação ocorre apenas em bits. Portanto, STREET na verdade significa o equivalente binário do caractere ASCII de STREET. Posteriormente, qualquer algoritmo criptografa estes; os bits resultantes são transformados de volta em seu equivalente ASCII.

Um problema evidente em relação ao uso de cifras de bloco é a repetição de texto, para o qual a mesma cifra é gerada. Assim, daria uma sugestão para o criptoanalista, o que torna mais fácil descobrir as seqüências recorrentes de texto simples. Como resultado, pode revelar toda a mensagem.

Para superar esse problema, o modo de encadeamento é usado. Nessa técnica, o bloco precedente de texto cifrado é misturado com o bloco atual, de modo que, para o texto cifrado, isso evita os padrões recorrentes de blocos com o mesmo conteúdo.

Definição de Cifra de Fluxo

Normalmente, a codificação de fluxo criptografa um byte da mensagem naquele momento, em vez de usar blocos. Vamos dar um exemplo, suponha que a mensagem original (texto simples) seja “céu azul” em ASCII (ou seja, formato de texto). Quando você converte esses ASCII em valores binários equivalentes, ele fornecerá a saída nos formatos 0 e 1. Deixe-o ser traduzido em 010111001.

Para criptografia e descriptografia, um gerador de bit pseudo - aleatório é usado no qual uma chave e um texto simples são carregados. Um gerador de bits pseudoaleatório cria um fluxo de números de 8 bits aparentemente aleatórios, conhecidos como keystream . Deixe a chave de entrada é 100101011. Agora, a chave e o texto simples são XORed. A lógica XOR é simples de entender.
O XOR produz uma saída de 1 quando uma entrada é 0 e a outra é 1. A saída é 0 se ambas as entradas forem 0 ou ambas as entradas forem 1.

A confusão é um método que garante que um texto cifrado não dá pistas sobre o texto original.
Difusão é uma estratégia usada para melhorar a redundância do texto simples espalhando-o em linhas e colunas.

Principais diferenças entre cifra de bloco e cifra de fluxo

  1. A técnica de cifra de bloco envolve a criptografia de um bloco de texto por vez, ou seja, individualmente. Da mesma forma, decifre o texto levando um bloco após o outro. Em contraste, a técnica de cifra de fluxo envolve criptografia e descriptografia de um byte do texto por vez.
  2. A cifra de bloco usa tanto confusão quanto difusão, enquanto a cifra de fluxo depende apenas de confusão.
  3. O tamanho normal do bloco pode ser 64 ou 128 bits na cifra de bloco. Como contra, 1 byte (8 bits) por vez é convertido na cifra de fluxo.
  4. A codificação de bloco usa os modos de algoritmo ECB (Electronic Code Book) e CBC (Cipher Block Chaining) . Pelo contrário, a codificação de fluxo usa os modos de algoritmo CFB (Cipher Feedback) e OFB (Output Feedback) .
  5. A cifra de fluxo usa a função XOR para converter texto sem formatação em texto cifrado, e é por isso que é fácil inverter os bits XORed. Considerando que a cifra de bloco não usa o XOR para fazer isso.
  6. A cifra de bloco usa a mesma chave para criptografar cada bloco, enquanto a cifra de fluxo usa uma chave diferente para cada byte.

Conclusão:

Cifra de bloco e Cifra de fluxo diferem na maneira em que o texto simples é criptografado e descriptografado. A ideia por trás da cifra de bloco é dividir o texto simples em blocos para criptografar esses blocos. Enquanto cifra de fluxo converte texto simples bit a bit semelhante ao fluxo.

Top