Criptografia – Cifra de Feistel
Cifra de Feistel
A maioria dos algoritmos de criptografia simétrica de bloco possuem uma estrutura descrita por Horst Feistel, da IBM, em 1973.
As entradas do algoritmo são blocos de texto plano de comprimento 2x bits e um chave K.
O bloco de texto plano é dividido em duas metades, L0 e R0.
Essas duas metades passam por n rodadas de processamento e então se combinam para produzir o bloco de texto cifrado.
Cada rodada r recebe como entrada Lr-1 e Rr-1, derivadas da rodada anterior, assim como uma subchave Kr, derivada da chave geral K.
Essas subchaves são diferentes de K entre si pois são geradas a partir de K com um algoritmo de geração de chaves.
As iterações possuem todas a mesma estrutura.
Uma substituição é realizada na metade esquerda dos dados, por meio da aplicação de uma função F na metade direita dos dados com a chave e então obtendo-se o XOR da saída desta função e da metade esquerda dos dados.
Adicionalmente, uma permutação é realizada invertendo-se as duas metades dos dados.
A função F é chamada de round function.
Rede de Feistel
Como a Cifra de Feistel será aplicada depende da escolha de alguns parâmetros, como:
- Tamanho do bloco; Geralmente 64 bits.
- Tamanho da chave; Chaves maiores significam maior segurança, porém menor velocidade de execução do algoritmo.
- Número de rodadas; Tamanho típico: 16
- Algoritmo de geração de subchaves; Quanto mais complexo, melhor.
- Função F: Quanto mais complexa, melhor.
Decriptando cifras de Feistel
O processo de descriptografia de uma cifra de Feistel é igual à criptografia.
Usa-se, nesse caso, o texto cifrado como entrada do algoritmo, e as subchaves Kn em ordem reversa.
Aplicações da Cifra de Feistel
As cifras de Feistel são usadas nos seguintes algoritmos de criptografia:
- DES
- Blowfish
- RC5
- Twofish
- 3DES
Entre muitos outros. Veremos nas próximas aulas de segurança e criptografia a descrição desses e de muitos outros algoritmos de criptografia.
Enquanto isso, assista a um vídeo sobre Cifra de Feistel no canal do YouTube da Bóson Treinamentos:
Escreva um comentário