Você está na página 1de 45

INSTITUTO SUPERIOR POLITÉCNICO LUSÍADA DE BENGUELA

DEPARTAMENTO DE CIÊNCIAS HUMANAS E TECNOLÓGICAS


CURSO DE INFORMÁTICA
DISCIPLINA DE SEGURANÇA DE REDES E SISTEMAS

Capítulo III
AES, encriptação múltipla e operações de cifra
simétricas de blocos

Ano Lectivo 2019


Professor: José Antunes Bastos Cameira
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
Objectivos de Aprendizagem
Após estudar este capítulo, você será capaz de:
1. Apresentar de forma geral a estrutura do Advanced Encryption Standard, ou
AES.
2. Compreender as quatro transformações utilizadas no AES.
3. Explicar o algoritmo de expansão de chave do AES.
4. Analisar a segurança de esquemas de encriptação múltipla.
5. Explicar o ataque meet-in-the-middle.
6. Comparar e diferenciar os modos de operação ECB, CBC, CFB, OFB e CTR.

2
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos

3.1 AES
3.1.1 Introdução. Advanced Encryption Standard, AES.
3.1.2 Estrutura do AES
3.1.3 Funcionamento do AES . Etapas de encriptação e decriptação
3.2. Encriptação Múltipla.
3.2.1 Encriptação Múltipla. Double DES e Triple DES
3.2.2 Double DES e Triple DES. Ataques criptoanalíticos práticos
3.2.3 Encriptação Múltipla. Triple DES com 3 chaves
3.3 Modos de operação das cifras de bloco
3.3.1 Modo electronic codebook
3.3.1 Modo cipher block chaining
3.3.3 Modo cipher feedback
3.3.4 Modo output feedback
3.3.5 Modo counter

3
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.1.1 Introdução. Advanced Encryption Standard, AES.

4
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.1.1 Introdução. Advanced Encryption Standard, AES.

5
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.1.1 Introdução. Advanced Encryption Standard, AES.

6
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.1.1 Introdução. Advanced Encryption Standard, AES.

• Com a definição apropriada das operações aritméticas, cada conjunto S e um corpo


finito. A determinação consiste dos seguintes elementos:
1. A aritmética segue as regras comuns da aritmética polinomial usando as
directrizes básicas da álgebra com os dois refinamentos a seguir.
2. A aritmética nos coeficientes e calculada usando modulo 2. Isso e o mesmo que
realizar a operação XOR.
3. Se a multiplicação resulta em um polinómio de grau maior que n – 1, então ele
é reduzido ao modulo de algum polinómio irredutível m(x) de grau n.
a. Isso significa que dividimos por m(x) e mantemos o resto.
b. Para o polinómio f(x), o resto é expresso como r(x) = f(x) mod m(x).
c. Um polinómio m(x) e chamado de irredutível se, e somente se, m(x) não
puder ser expresso como um produto de dois polinómios, ambos de grau
menor que o de m(x).

7
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.1.1 Introdução. Advanced Encryption Standard, AES.

• Com a definição apropriada das operações aritméticas, cada conjunto S é um


corpo finito. A determinação consiste dos seguintes elementos:
1. A aritmética segue as regras comuns da aritmética polinomial usando as
directrizes básicas da álgebra com os dois refinamentos a seguir.
• A aritmética nos coeficientes e calculada usando modulo 2. Isso e o mesmo que
realizar a operação XOR.
• Se a multiplicação resulta em um polinómio de grau maior que n – 1, então ele
é reduzido ao modulo de algum polinómio irredutível m(x) de grau n.
a. Isso significa que dividimos por m(x) e mantemos o resto.
b. Para o polinómio f(x), o resto é expresso como r(x) = f(x) mod m(x).
c. Um polinómio m(x) é chamado de irredutível se, e somente se, m(x) não
puder ser expresso como um produto de dois polinómios, ambos de grau
menor que o de m(x).

8
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.1.1 Introdução. Advanced Encryption Standard, AES.

9
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.1.1 Introdução. Advanced Encryption Standard, AES.

10
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.1.2 Estrutura do AES
.
• A Figura 3.1 mostra a estrutura geral do processo de encriptação do AES.
1. Entrada do texto claro
• A cifra recebe como entrada um bloco de texto sem formatação de tamanho 128
bits, ou 16 bytes. O comprimento da chave pode ser 16, 24 ou 32 bytes (128, 192
ou 256 bits). O algoritmo é denominado AES-128, AES-192 ou AES-256,
dependendo do tamanho da chave.
• A entrada para os algoritmos de encriptação e decriptação é um único bloco de
128 bits. Esse bloco é indicado como uma matriz quadrada de bytes 4 × 4. Esse
bloco é copiado para um array Estado, que é modificado a cada etapa de
encriptação ou decriptação. Após a etapa final, Estado é copiado para uma matriz
de saída. Essas operações são descritas na Figura 3.2a.
2. Chave
• De modo semelhante, a chave é apresentada como uma matriz quadrada de bytes.
Essa chave é , então, expandida para um conjunto de palavras de chave. A Figura
3.2b mostra a expansão para a chave de 128 bits.
• Cada palavra tem quatro bytes, e o conjunto total é de 44 palavras, para a chave de
128 bits.
• Observe que a ordenação de bytes dentro de uma matriz de chaves é por coluna.
11
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.1.2 Estrutura do AES
.
• Assim, por exemplo, os primeiros quatro bytes de entrada de texto claro de 128
bits para a cifra de encriptação ocupam a primeira coluna da matriz in, os
próximos quatro bytes ocupam a segunda coluna, e assim por diante.
• Da mesma forma, os primeiros quatro bytes da chave expandida, que forma uma
palavra, ficam na primeira coluna da matriz w.
3. Rodadas
• A cifra consiste em N rodadas, e o numero delas depende do comprimento da
chave (Tabela 3.2):
1. 10 rodadas para uma chave de 16 bytes;
2. 12 rodadas para uma chave de 24 bytes ;
3. 14 rodadas para uma chave de 32 bytes
• As primeiras N – 1 rodadas consistem em quatro funções de transformação
distintas:
1. SubBytes,
2. ShiftRows,
3. MixColumns e
4. AddRoundKey,.

12
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.1.2 Estrutura do AES
.
• A rodada final contém apenas três transformações, e há uma transformação inicial
única (AddRoundKey) antes da primeira rodada, o que pode ser considerado
Rodada 0.
• Cada transformação usa uma ou mais matrizes de 4 × 4 como entrada e produz
uma de 4 × 4 como saída.
• A saída de cada rodada é uma matriz de 4 × 4, com a saída da rodada final sendo o
texto cifrado.
• A função de expansão de chave gera N + 1 chaves de rodada, cada uma das quais e
uma matriz distinta de 4 × 4.
• Cada chave de rodada serve como uma das entradas para a transformação
AddRoundKey em cada rodada.

13
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.1.2 Estrutura do AES
.

Figura 3.1. Processo de encriptação do AES. 14


Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.1.2 Estrutura do AES
.

Tabela 3.1. parâmetros do AES. 15


Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.1.2 Estrutura do AES
.

Figura 3.2. Estrutura de dados do AES.


16
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.1.2 Estrutura do AES
.

Figura 3.3. Encriptação e decriptação no AES.. 17


Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.1.3 Funcionamento do AES . Etapas de encriptação e decriptação
.
• A estructura de AES não é uma estrutura Feistel. Lembre-se de que, na estrutura
Feistel clássica, metade do bloco de dados é usada para modificar a outra metade,
e depois elas são invertidas.
• Em vez disso, AES processa o bloco de dados inteiro como uma única matriz
durante cada rodada usando substituições e permutação.
• A chave que é fornecida como entrada é expandida para um array de quarenta e
quatro words de 32 bits cada um, w[i]. Quatro words distintas (128 bits) servem
como uma chave para cada rodada; estas estão indicadas na Figura 3.4.
• Quatro estágios diferentes são usados, um de permutação e três de substituição:
1. SubBytes: utiliza uma S-box para realizar uma substituição byte a byte do
bloco
2. ShiftRows: uma permutação simples
3. MixColumns: uma substituição que utiliza aritmética sobre GF(2^8)
4. AddRoundKey: um XOR bit a bit simples do bloco actual com uma parte da
chave expandida

18
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.1.3 Funcionamento do AES . Etapas de encriptação e decriptação
.
1. A estrutura é muito simples. Para a encriptação e decriptação, a cifra começa
com um estágio AddRoundKey, seguido por nove rodadas, e cada uma inclui
todos os quatro estágios, seguidas por uma décima rodada de tres estágios. A
Figura 3.5 representa a estrutura de uma rodada de encriptação completa.
2. Somente o estagio AddRoundKey utiliza a chave. Por esse motivo, a cifra
começa e termina com ele. Qualquer outro estagio, aplicado no inicio ou no fim,
é reversível sem conhecimento da chave e, portanto, não impacta na segurança.
3. O estagio AddRoundKey, com efeito, é uma forma de cifra de Vernam, e por si
só não seria formidável.
4. Os outros tres estágios oferecem confusão, difusão e não linearidade, mas
isolados não ofereceriam segurança, pois não usam a chave.
5. Podemos ver a cifra como operações alternadas de encriptação XOR,
(AddRoundKey) de um bloco, seguidas por embaralhamento deste (os outros
tres estágios), acompanhado por encriptação XOR, e assim por diante. Esse
esquema e tanto eficiente quanto altamente seguro.
6. Cada estagio e facilmente reversível. Para os estágios SubByte, ShiftRows e
MixColumns, uma função inversa é usada no algoritmo de decriptação. Para o
AddRoundKey, o inverso é obtido pelo XOR da mesma chave da rodada com o
bloco, usando o resultado de que A XOR B XOR B = A. 19
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.1.3 Funcionamento do AES . Etapas de encriptação e decriptação
.
7. Assim como na maioria das cifras em bloco, o algoritmo de decriptação utiliza a
chave expandida em ordem reversa. Porém, o algoritmo de decriptação não é
idêntico ao de encriptação. Isso é uma consequência da estrutura do AES em
particular.
8. Uma vez estabelecido que todos os quatro estágios são reversíveis, é fácil
verificar que a decriptação recupera o texto claro. A Figura 3.4 descreve a
encriptação e a decriptação indo em direcções verticais opostas. Em cada ponto
horizontal (por exemplo, a linha tracejada na figura), o Estado e o mesmo para
encriptação e decriptação.
9. A rodada final da encriptação e da decriptação consiste em apenas três
estágios. Novamente, isso é uma consequência da estrutura do AES em
particular, sendo necessário para tornar a cifra reversível.

20
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.1.3 Funcionamento do AES . Etapas de encriptação e decriptação
.

Figura 3.4. Rodada de encriptação do do AES.


21
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.2.1 Encriptação Múltipla. Double DES e Triple DES
.
• Dada a potencial vulnerabilidade do DES a um ataque por forca bruta, tem havido
um grande interesse na descoberta de uma alternativa. Uma técnica e projectar
um algoritmo completamente novo, e o AES é o exemplo principal.
• Outra alternativa, que preservaria o investimento existente em software e
equipamento, é usar encriptação múltipla com DES e múltiplas chaves.
1. Double DES
• A forma mais simples de encriptação múltipla tem dois estágios de encriptação e
duas chaves (Figura 3.5a).
• Dado o texto claro P e duas chaves de encriptação K1 e K2, o texto cifrado C é
gerado como:

• A decriptação exige que as chaves sejam aplicadas em ordem reversa:

• Para o DES, esse esquema aparentemente envolve um tamanho de chave de 56 × 2


= 112 bits, o que resultaria em um aumento incrível na forca criptográfica. Mas
precisamos avaliar o algoritmo mais de perto.

22
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.2.1 Encriptação Múltipla. Double DES e Triple DES
.

Figura 3.5. Encriptação múltipla..


23
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.2.1 Encriptação Múltipla. Double DES e Triple DES
.
Redução a um único estágio
• Suponha que fosse verdade para o DES, para todos os valores de chave de 56 bits,
que, dadas duas chaves quaisquer K1 e K2, fosse possível encontrar uma chave K3,
tal que:

Eq.3.1
• Se fosse esse o caso, então a encriptação dupla, e na verdade qualquer número de
estágios da encriptação múltipla com DES, seria inútil, pois o resultado equivaleria
a uma encriptação única com uma única chave de 56 bits.
• Diante disso, não parece que a Equação 3.1 seja válida. Considere que a
encriptação com DES seja um mapeamento de blocos de 64 bits para blocos de 64
bits.
• De facto, esse mapeamento pode ser visto como uma permutação. Ou seja, se
considerarmos todos os 2^64 blocos de entrada possíveis, a encriptação DES com
uma chave especial mapeará cada um para um único de 64 bits.
• Caso contrario, se, digamos, dois blocos de entrada forem mapeados para o
mesmo de saída, então a decriptação a fim de recuperar o texto claro original seria
impossível.
24
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.2.1 Encriptação Múltipla. Double DES e Triple DES
.
• Com 2^64 entradas possíveis, quantos mapeamentos diferentes geram uma
permutação dos blocos de entrada? O valor facilmente pode ser visto como:

• Por outro lado, o DES define um mapeamento para cada chave diferente, com um
número total de mapeamentos igual a:

• Portanto, é razoável considerar que, se o DES for usado duas vezes com chaves
diferentes, ele produzira um dos muitos mapeamentos que não estão definidos
por uma única aplicação dele.
• Embora exista muita evidência que sustente essa suposição, não foi antes de 1992
que ela foi provada

25
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.2.1 Encriptação Múltipla. Double DES e Triple DES
.
Ataque meet-in-the-middle
• Assim, o uso do DES duplo resulta em um mapeamento que não é equivalente a
uma encriptação DES única.
• Existe um modo de atacar esse esquema, que não depende de qualquer
propriedade em particular do DES, mas que funcionará contra qualquer cifra de
encriptação em bloco.
• O algoritmo, conhecido como Ataque meet-in-the-middle (encontro no meio), foi
descrito inicialmente em [DIFF77]. Ele é baseado na observação de que, se temos:

então (ver Figura 3.5a):

• Dado um par conhecido, (P, C), o ataque prossegue da forma a seguir:

26
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.2.1 Encriptação Múltipla. Double DES e Triple DES
.
• Primeiro, encripte P para todos os 2^56 valores possíveis de K1. Armazene esses
resultados em uma tabela e depois ordene-a pelos valores de X.
• Em seguida, decriptar C usando todos os 2^56 valores possíveis de K2.
• A medida que cada decriptação é produzida, compare o resultado com a tabela,
em busca de uma ocorrência.
• Se houver uma correspondência, então confronte as duas chaves resultantes com
um novo par de texto claro/texto cifrado conhecido.
• Se as duas chaves produzirem o texto cifrado esperado, aceite-as como as
correctas.
• Para qualquer texto claro P, existem 2^64 valores de texto cifrado possíveis a ser
produzidos pelo DES duplo.
• Por conseguinte, o DES duplo utiliza uma chave de 112 bits, de modo que existem
2^112 chaves possíveis.
• Portanto, na média, para determinado texto claro P, o número de chaves
diferentes de 112 bits que criarão certo texto cifrado C é (2^112)/(2^64) = 2^48.
• Assim, o procedimento anterior produzira cerca de 2^48 alarmes falsos no
primeiro par (P, C).
27
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.2.1 Encriptação Múltipla. Double DES e Triple DES
.
• Um argumento semelhante indica que, com 64 bits adicionais de texto claro e
texto cifrado conhecidos, a taxa de alarme falso e reduzida para 2^(48 – 64) = 2^(–
16).
• Em outras palavras, se o ataque meet-in-the-middle for realizado sobre dois blocos
de texto claro/texto cifrado conhecidos, a probabilidade de que as chaves
correctas sejam estabelecidas é 1 – (2^–16) .
• O resultado é que um ataque de texto claro conhecido terá sucesso contra o DES
duplo, que tem um tamanho de chave de 112 bits, com um esforço na ordem de
2^56, não muito mais do que os 2^55 exigidos para o DES único.
2. Triple DES com duas chaves
• Uma contramedida óbvia para o ataque meet-in-the-middle é usar três estágios de
encriptação com três chaves diferentes.
• Isso aumenta o custo do ataque de texto claro conhecido para 2^112, que esta
além do que é prático agora e também para um futuro distante. Porém, isso tem a
desvantagem de exigir um tamanho de chave de 56 × 3 = 168 bits, que pode ser
muito pesado.
• Como uma alternativa, Tuchman propôs um método de encriptação triplo que
utiliza apenas duas chaves[TUCH79]. A função segue uma sequência encriptar-
decriptar-encriptar (Figura 3.5b). 28
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.2.1 Encriptação Múltipla. Double DES e Triple DES
.

• Não existe significado criptográfico no uso da decriptação para o segundo estágio.


Sua única vantagem é que permite que os usuários do 3DES decriptografem
dados criptografados pelos usuários do DES único mais antigo:

• 3DES com duas chaves é uma alternativa relativamente popular ao DES, é tem sido
adoptada para uso nos padrões de gerenciamento de chave ANSI X9.17 e ISO
8732.1
• Actualmente, não existem ataques criptoanalíticos práticos sobre 3DES.
• Coppersmith [COPP94] observa que o custo de uma busca de chave por força bruta
no 3DES está na ordem de 2^112 =(5 × 10^33), e estima que o custo da
criptoanalise diferencial sofre um crescimento exponencial, em comparação ao
DES único, ultrapassam 10^52.
29
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.2.2 Encriptação Múltipla. Double DES e Triple DES. Ataques criptoanalíticos práticos
.
• Vale a pena examinar diversos ataques propostos sobre o 3DES que, embora não
sejam práticos, dão uma ideia dos tipos de ataque que foram considerados e que
poderiam formar a base para ataques futuros mais bem-sucedidos.
• A primeira proposta séria veio de Merkel e Hellman [MERK81]. Seu plano envolve
encontrar os valores de texto claro que produzem um primeiro valor intermediário
de A = 0 (Figura 3.6a) e depois usar o ataque meet-in-the-middle para determinar
as duas chaves. O nível de esforço é 2^56, mas a técnica exige 2^56 pares de texto
claro/texto cifrado escolhidos, um número que provavelmente não será fornecido
pelo armazenador das chaves.
• Um ataque de texto claro conhecido é esboçado em [VANO90]. Esse método é
uma melhoria em relação a técnica de texto claro escolhido, mas exige mais
esforço. O ataque é baseado na observação de que, se conhecemos A e C (Figura
3.5b), então o problema se reduz ao de um ataque sobre o DES duplo.
• Naturalmente, o atacante não conhece A, mesmo que P e C o sejam conhecidos
desde que as duas chaves sejam desconhecidas.
• Porém, o atacante pode escolher um valor em potencial de A, e depois tentar
encontrar um par (P, C) conhecido que produza conhecido que produza A. O
ataque prossegue da seguinte forma:
30
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.2.2 Encriptação Múltipla. Double DES e Triple DES. Ataques criptoanalíticos práticos
.
• O ataque prossegue da seguinte forma:
1. Obtenha n pares (P, C). Esse e o texto claro conhecido. Coloque-os em uma
tabela ordenada sobre os valores de P (Figura 3.6b).
2. Escolha um valor qualquer a para A, e crie uma segunda tabela (Figura 3.6c)
com entradas definidas no padrão a seguir. Para cada uma das 256 chaves
possíveis K1 = i, calcule o valor de texto claro Pi que produz a:
Pi = D(i, a)
• Para cada Pi que coincide com uma entrada na tabela da Figura 3.6b, crie uma
entrada na tabela da Figura 3.6c, consistindo no valor K1 e no de B que é
produzido para o par (P, C) da Figura 3.6b, considerando esse valor de K1:
B = D(i, C)
• Ao final desta etapa, classifique a segunda tabela sobre os valores de B.
3. Agora, temos uma série de valores candidatos de K1 na segunda tabela e
estamos em posição de procurar um valor de K2. Para cada uma das 2^56
chaves possíveis K2 = j, calcule o segundo valor intermediário para nosso valor
escolhido de a:
Bj = D(j, a)
31
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.2.2 Encriptação Múltipla. Double DES e Triple DES. Ataques criptoanalíticos práticos
.
• A cada passo, pesquise Bj na segunda tabela. Se houver uma ocorrência, então a
chave correspondente i da segunda tabela mais esse valor de j são os valores
candidatos para as chaves desconhecidas (K1, K2). Por que?
• Porque descobrimos um par de chaves (i, j) que produzem um conhecido (P, C)
(Figura 3.6a).
4. Teste cada par de chaves candidatas (i, j) em alguns outros de texto claro/texto
cifrado. Se um par de chaves produzir o texto cifrado desejado, a tarefa esta
terminada. Se nenhum par tiver sucesso, repita o processo a partir da etapa 1
com um novo valor de a.
• Para determinado par (P, C) conhecido, a probabilidade de seleccionar o valor
exclusivo de a que leva ao sucesso e de ½^64. Assim, dados n pares (P, C), a
probabilidade de sucesso para um único valor seleccionado de a e n/2^64.
• Um resultado básico da teoria da probabilidade e que o numero esperado de
tentativas exigidas para retirar uma bola vermelha de uma gaveta contendo n
bolas vermelhas e N – n bolas verdes e (N + 1)/(n + 1) se elas não forem
recolocadas.

32
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.2.2 Encriptação Múltipla. Double DES e Triple DES. Ataques criptoanalíticos práticos
.
• Assim, o número esperado de valores de a que precisam ser experimentados e,
para um n grande,
(2^64 + 1) /(n + 1)= 2^64/n
• O tempo de execução esperado do ataque esta na ordem de :
( 2^56) * ( 2^64/n)= 2^(120 – log(2^n))

33
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.2.2 Encriptação Múltipla. Double DES e Triple DES. Ataques criptoanalíticos práticos
.

Figura 3.6. Ataque de texto claro conhecido sobre 3DES.


34
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.2.3 Encriptação Múltipla. Triple DES com 3 chaves

.• Embora os ataques descritos pareçam ser impraticáveis, qualquer um usando o


3DES com duas chaves poderá sentir certa preocupação.
• Assim, muitos pesquisadores agora consideram o 3DES com três chaves a
alternativa preferida (por exemplo, [KALI96a]). O 3DES com três chaves possui um
tamanho de chave efectivo de 168 bits e é definido da seguinte maneira:

• A compatibilidade com o DES é fornecida colocando-se K3 = K2 ou K1 = K2.


• Diversas aplicações baseadas na Internet adoptaram o 3DES com três chaves,
incluindo PGP e S/MIME.
• Pretty Good Privacy, PGP
• Secure/Multipurpose Internet Mail Extensions, S/MIME

35
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.3 Modos de operação das cifras de bloco

.• Uma cifra de bloco usa um bloco de texto de tamanho fixo com comprimento de b
bits e uma chave como entrada, e produz um bloco de b bits de texto cifrado.
• Se a quantidade de texto claro a ser encriptado tiver mais de b bits, então a cifra
de bloco ainda pode ser usada quebrando o texto claro em blocos de b bits.
• Quando vários blocos de texto claro são encriptados com a mesma chave, surgem
diversas preocupações com a segurança.
• Para empregar uma cifra de bloco em diversas aplicações, cinco modos de
operação foram definidos pelo NIST (SP 800-38A).
• Basicamente, um modo de operação é uma técnica para melhorar o efeito de um
algoritmo criptográfico ou adaptar o algoritmo para uma aplicação, como a de uma
cifra de bloco a uma sequência de blocos de dados ou fluxo de dados.
• Os cinco modos abrangem praticamente todas as aplicações possíveis da
encriptação para as quais uma cifra de bloco poderia ser usada.
• Esses modos são utilizados com qualquer cifra de bloco simétrica, incluindo triple
DES e AES. Os modos são resumidos na Quadro 3.1 .

36
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.3 Modos de operação das cifras de bloco

Quadro 3.1. Modos de operação de cifra de bloco..


37
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.3.1 Modo Electronic Codebook (ECB)...

Figura 3.7. Modo Electronic Codebook (ECB)...


38
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.3.2 Modo cipher block chaining (CBC).

Figura 3.8. Modo cipher block chaining (CBC).


39
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.3.3 Modo cipher feedback (CFB) com s bits.

Figura 3.9. Modo cipher feedback (CFB) com s bits.


40
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.3.4 Modo output feedback (OFB).

Figura 3.10. Modo output feedback (OFB)..


41
Capítulo III-AES, encriptação múltipla e operações de cifra simétricas de blocos
3.3.5 Modo counter (CTR)

Figura 3.11. Modo counter (CTR).


42
Capítulo I- Introdução a Segurança de Redes e Sistemas
3.4 Resumo
.
• AES • Modos de Operação de cifras de
– Estructura bloco simétricas
– Funcionamento – Modo electronic codebook
– Modo cipher block chaining
– Modo cipher feedback
– Modo output feedback
• Encriptação Múltipla – Modo counter
– Double DES
– Triple DES

43
Capítulo I- Introdução a Segurança de Redes e Sistemas
3.5 Perguntas
.
Ver questionário Capitulo III

10 Questões…..

44
Capítulo I- Introdução a Segurança de Redes e Sistemas
3.6 Bibliografia
.
15. WAYN09 WAYNER, P. Disappearing Cryptography. Boston: AP Professional Books, 2009.
16. BARK91 Barker, W. Introduction to the Analysis of the Data Encryption Standard (DES). Laguna
Hills, CA:
17. Aegean Park Press, 1991.
18. COPP94 Coppersmith, D. “The Data Encryption Standard (DES) and Its Strength Against Attacks”.
IBM
19. Journal of Research and Development, maio 1994.
20. EFF98 Electronic Frontier Foundation. Cracking DES: Secrets of Encryption Research, Wiretap
Politics, and
21. Chip Design. Sebastopol, CA: O’Reilly, 1998.
22. MENE97 Menezes, A.; van Oorschot, P.; e Vanstone, S. Handbook of Applied Cryptography. Boca
Raton, FL:
23. CRC Press, 1997.
24. SCHN96 Schneier, B. Applied Cryptography. Nova York: Wiley, 1996.
25. SIMO95 Simovits, M. The DES: An Extensive Documentation and Evaluation. Laguna Hills, CA:
Aegean Park
26. Press, 1995.
27. STIN06 Stinson, D. Cryptography: Theory and Practice. Boca Raton, FL: Chapman & Hall, 2006.

45

Você também pode gostar