Cifra de fluxo vs Cifra de bloco | Cifra de Estado vs Cifra de Bloco
Na criptografia, cifras de fluxo e cifras de bloco são dois algoritmos de criptografia / descriptografia que pertencem à família de cifras de chave simétricas. Normalmente, uma cifra pega um texto sem formatação como entrada e produz um texto cifrado como saída. As cifras de bloco criptografam blocos de tamanho fixo usando uma transformação invariável. As cifras de fluxo criptografam fluxos de bits com comprimento variável e usam diferentes transformações em cada bit.
O que é uma cifra de fluxo?
As cifras de fluxo pertencem à família de cifras de chave simétricas. As cifras de fluxo combinam bits de texto sem formatação com um fluxo de bits de criptografia pseudo-aleatórios com o uso da operação XOR (exclusiva ou). As cifras de fluxo criptografam dígitos de texto sem formatação, um de cada vez, com transformações variadas para dígitos sucessivos. Como a criptografia de cada dígito depende do estado atual do mecanismo de cifra, as cifras de fluxo também são conhecidas como cifras de estado. Normalmente, bits únicos / mordidas são usados como dígitos únicos. Para evitar preocupações de segurança, deve-se garantir que o mesmo estado inicial não seja usado mais de uma vez. A cifra de fluxo mais usada é o RC4.
O que é uma cifra de bloco?
Uma cifra de bloco é outra cifra de chave simétrica. As cifras de bloco operam em blocos (grupos de bits) com comprimento fixo. As cifras de bloco usam uma transformação fixa (invariável) para todos os dígitos no bloco. Por exemplo, quando um texto sem formatação de bloco de bit x (junto com uma chave secreta) é fornecido como entrada para o mecanismo de codificação de bloco, ele produz o bloco de texto cifrado correspondente de bit x. A transformação real depende da chave secreta. Da mesma forma, o algoritmo de descriptografia recupera o bloco original de texto sem formatação de bits x, usando o bloco de bits x de texto cifrado e a chave secreta acima como entrada. Caso a mensagem de entrada seja muito longa em comparação com o tamanho do bloco, ela será dividida em blocos e esses blocos serão criptografados (individualmente) usando a mesma chave. No entanto, como a mesma chave é usada, cada sequência repetida no texto sem formatação se torna a mesma sequência repetida no texto cifrado, e isso pode causar problemas de segurança. As cifras de bloco populares são DES (Padrão de Criptografia de Dados) e AES (Padrão de Criptografia Avançado).
Qual é a diferença entre uma cifra de fluxo e uma cifra de bloco?
Embora as cifras de fluxo e de bloco pertençam à família de cifras de criptografia simétrica, existem algumas diferenças importantes. As cifras de bloco criptografam blocos de bits de comprimento fixo, enquanto as cifras de fluxo combinam bits de texto sem formatação com um fluxo de bits de criptografia pseudo-aleatórios usando a operação XOR. Embora as cifras de bloco usem a mesma transformação, as cifras de fluxo usam transformações variadas com base no estado do mecanismo. As cifras de fluxo geralmente são executadas mais rapidamente do que as cifras de bloco. Em termos de complexidade de hardware, as cifras de fluxo são relativamente menos complexas. As cifras de fluxo são a preferência típica das cifras de bloco quando o texto sem formatação está disponível em quantidades variáveis (por exemplo, uma conexão wifi segura), porque as cifras de bloco não podem operar diretamente em blocos menores que o tamanho do bloco. Mas, às vezes, a diferença entre cifras de fluxo e cifras de bloco não é muito clara. O motivo é que, ao usar certos modos de operação, uma cifra de bloco pode ser usada para atuar como uma cifra de fluxo, permitindo criptografar a menor unidade de dados disponível.