Você está na página 1de 3

Instituto Federal de Educação, Ciência e Tecnologia do Maranhão

Data: 22/10/2023
Nome: Arthur Sousa Furtado.
Disciplina: Segurança em redes de computadores.

Resumo do cápitulo 3 de Criptografia e segurança de redes

Estrutura tradicional de cifras de blocos

Para o entendimento tradicional de cifras de blocos tradicionais, é necessário analisar


o funcionamento de cifras de blocos e cifras de fluxos. Depois será apresentado a cifra de
bloco de Feisel que é usado nos algoritmos de encriptação simétricos mais modernos.

Cifras de fluxo e Cifras de bloco

Cifras do tipo fluxo, são aquelas que a codificação é feita bit a bit ou byte. Cifras
como autochaveadas, Vigenére e Vernam são exemplos desse tipo de cifragem. Por outro
lado, cifra de bloco é aquela em que se quebra o texto claro em blocos de tamanho fixo para
codificação do texto. Normalmente os blocos são entre 64 ou 128 bits, tanto a cifra de bloco
quanto a cifra de fluxo exigem que os dois usuários compartilhem a mesma chave de
encriptação simétrica.

Cifra de Feistel

Essa cifra visa utilizar duas ou mais cifras simples em sequência que por final irá
produzir uma chave mais forte que as anteriores. Feistel propôs o uso substituição e
permutação.
● Substituição: cada parte do texto claro é substituída por uma outra parte para
gerar uma texto codificado ;
● Permutação: é a substituição de partes do texto claro em forma não ordenada,
ou seja a chave é permutada para produção do texto codificado.

Estrutura da cifra de Feistel

As entradas do algoritmo de encriptação são um bloco de texto claro de tamanho 2w


bits e uma chave K. O bloco do texto claro é dividido em duas metades, L0 e R0. As duas
metades dos dados passam por n rodadas de pro-cessamento, e depois se combinam para
produzir o bloco do texto cifrado. Cada rodada i possui como entradas Li–1 e Ri–1, derivadas
da rodada anterior, assim como uma subchave Ki derivada do K geral. Normalmente, as
subchaves Ki são diferentes de K e umas das outras.
Todas as rodadas têm a mesma estrutura. Uma substituição é realizada na metade esquerda
dos dados. Isso é feito aplicando-se uma função F à metade direita dos dados, e depois, a
operação lógica de ou-exclusivo entre a saída dessa função e a metade esquerda dos dados. A
função F tem a mesma estrutura geral para cada rodada, mas é parametrizada pela subchave
da rodada Ki. Outra forma de expressar isso é dizer que F é uma função da metade direita de
w bits do bloco e de uma subchave de y bits, que produz um valor de saída com comprimento
de w bits: F(REi, Ki + 1). Após essa substituição, é realizada uma permutação que consiste na
troca das duas metades dos dados. Essa estrutura é uma forma particular da rede de
substituição-permutação.

Processo de desencriptação

O processo de decriptação com uma cifra de Feistel é basicamente o mesmo de


encriptação. A regra é a seguinte: use o texto cifrado como entrada para o algoritmo, mas as
subcha-ves Ki em ordem reversa. Ou seja, use Kn na primeira rodada, Kn – 1 na segunda, e
assim por diante, até K1 ser usada na última rodada. Essa é uma ótima característica, pois
significa que não precisamos implementar dois algoritmos diferentes, um para encriptação e
outro para decriptação.

Data Encryption Standard

Antes da introdução do AES(Advanced Encryption Standard), havia o DES(Data


Encryption Standart). Os dados eram quebrados em blocos de 64 bits com uma chave de 65
bits.

Encriptação DES

A encriptação do texto claro do DES segue três fases. A primeira, o texto claro passa
por um permutação inicial, depois são feitas 16 rodadas de permutação e substituição sobre
uma única função. A saída da última (décima sexta) rodada baseia-se em 64 bits que são uma
função do texto claro de entrada e da chave. As metades esquerda e direita da saída são
trocadas para produzir a pré-saída. Finalmente, a pré-saída é passada por uma permutação.

Decriptação do DES

Assim como qualquer cifra de Feistel, a decriptação usa o mesmo algoritmo da


encriptação, exceto que a aplicação das subchaves é invertida. Além disso, as permutações
inicial e final são invertidas.
Força do DES

Tamanho da chave de 56 bits, existem 2 elevado a 56 possibilidade de chaves. Sendo


necessário cerca de mil anos para decifrar a chave.

Natureza do algoritmo DES

Outra preocupação é a possibilidade de que a criptoanálise seja possível


explorando-se as características do algoritmo DES. O foco disso tem sido as oito tabelas de
substituição, ou S-boxes, que são usadas em cada iteração. Como os critérios de projeto para
essas caixas, e, na realidade, para o algoritmo inteiro, não se tornaram públicos, existe uma
suspeita de que elas foram construídas de modo que a criptoanálise seja possível para um
oponente que conheça as fraquezas nelas. Essa afirmação é torturante, e, com o passar dos
anos, diversas regularidades e comportamentos inesperados das S-boxes foram descobertos.
Apesar disso, ninguém até aqui teve sucesso desvendando a suposta fraqueza fatal nas
S-boxes.

Princípios de projeto de cifra de bloco

● Número de rodadas - Quanto maior o número de rodadas, mais difícil é


realizar a criptoanálise, mesmo para uma função F relativamente fraca. Em
geral, o critério deverá ser de que o número de rodadas seja escolhido de modo
que os esforços criptoanalíticos conhecidos exijam maior ação do que um
ataque de busca de chave por força bruta. Esse critério certamente foi usado no
projeto do DES. Schneier
● Projeto da função F - O núcleo da cifra de bloco de Feistel é a função F, que
oferece a propriedade de confusão em uma cifra de Feistel. Assim, é preciso
que seja difícil “desembaralhar” a substituição realizada por F.
● Algoritmo de escalonamento de chave - Com qualquer cifra de bloco de
Feistel, a chave é usada a fim de gerar uma subchave para cada rodada. Em
geral, gostaríamos de selecionar subchaves de forma a maximizar a
dificuldade de deduzir subchaves indivi­duais e de recuperar a chave principal.
Nenhum princípio geral para isso foi promulgado até agora.

Você também pode gostar