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ção | Cifra de bloco | Cifra 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ão | Depende 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
- 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.
- A cifra de bloco usa tanto confusão quanto difusão, enquanto a cifra de fluxo depende apenas de confusão.
- 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.
- 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) .
- 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.
- 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.