Criptografia Numaboa
Modos de operação das cifras de bloco
Qui 6 Out 2005 18:15 |
- Detalhes
- Categoria: Cifras de bloco
- Atualização: Terça, 20 Novembro 2012 18:08
- Autor: vovó Vicki
- Acessos: 30178
CTR - Counter
Assim como o OFB, o modo de operação counter - CTR (contador) transforma a cifra de bloco numa cifra de fluxo. Ele cria o próximo bloco de fluxo de chave cifrando os valores sucessivos de um "contador". O contador pode ser qualquer função simples que produza uma sequência que, com certeza, só srá repetida depois de um longo intervalo de tempo. Apesar dessa exigência, os contadores simples são os mais utilizados. O modo CRT possui características muito semelhantes às do OFB, porém permite um acesso randômico na decifração e é comprovadamente seguro se a cifra de bloco também for segura.
Proteção de Integridade e propagação de erro
Os modos de operação das cifras de bloco mostrados acima não proporcionam qualquer proteção de integridade. Isto significa que um atacante, apesar de não conhecer a chave, pode modificar o fluxo de dados de acordo com as suas necessidades. Hoje em dia se sabe que, sempre que houver uma cifragem de dados, é também essencial que se adicione uma proteção de integridade para garantir a segurança. Em operações seguras, o VI (vetor de inicialização) e o texto cifrado gerado através destes modos de operação deveriam ser autenticados com um MAC que deve ser checado antes de se efetuar uma decifração.
Antes desses fatos serem conhecidos, era comum a discussão da "propagação de erros" dos modos de operação. Observava-se, por exemplo, que um erro em um dos blocos cifrados transmitidos resultaria num erro em apenas um dos blocos de texto claro recuperado se o modo fosse ECB, enquanto que, no modo CBC, o erro afetaria dois blocos.
Havia os que achavam que esta resiliência era desejável devido aos erros randômicos, como também havia os que argumentavam que isto aumentava as possibilidades de atacantes modificarem mensagens em proveito próprio. Entretanto, quanto uma proteção de integridade efetiva é aplicada, tais erros fazem com que a mensagem seja (com grande probabilidade) descartada.
O vetor de inicialização
Para finalizar, algumas considerações sobre os vetores de inicialização. Com exceção do modo de operação ECB, todos os outros requerem um vetor de inicialização - VI. Este vetor é uma espécie de "bloquinho" (dummy block) cuja única função é inicializar o processo para o primeiro bloco. Além disso, este bloquinho também adiciona um elemento randômico ao processo. O VI não precisa ser secreto, mas é importante que o mesmo VI não seja reutilizado com a mesma chave. Nos modos CBC e CFB, a reutilização de VIs deixa vazar algumas informações. Nos modos OFB e CTR, VIs repetidos destroem totalmente a segurança. Já no modo CFB, o VI precisa ser gerado randomicamente e ser mantido em segredo até que o primeiro bloco de texto claro esteja pronto para ser cifrado.
Fontes
- << Anterior
- Próximo