Il 0% ha trovato utile questo documento (0 voti)
14 visualizzazioni63 pagine

02 Criptografia Simetrica

artigo

Caricato da

Silvia Oliveira
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
14 visualizzazioni63 pagine

02 Criptografia Simetrica

artigo

Caricato da

Silvia Oliveira
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd

Introdução

Modelo de Segurança
 Modelo de segurança em Comunicação de Dados

Tópicos Especiais em Segurança da Informação 29


Prof. Flávio de Oliveira Silva
Introdução
Criptografia - Conceitos
 Criptologia
 Consiste no estudo das comunicações seguras
 Disciplina que reúne os conhecimentos e técnicas necessários à
criptoanálise e à criptografia
 Criptografia
 Conjunto de princípios e técnicas empregada para cifrar uma
mensagem a fim de torná-la secreta para os que não tenham acesso
às convenções combinadas
 Trata do desenvolvimento de algoritmos para cifrar e decifrar uma
mensagem
 Criptoanálise
 Conjunto de técnicas e métodos para a decifragem de uma
mensagem escrita de sistema desconhecido

Tópicos Especiais em Segurança da Informação 30


Prof. Flávio de Oliveira Silva
Introdução
Criptografia - Conceitos
 Elementos de um sistema criptográfico
 Texto Puro (Plaintext)
 A mensagem original que pode ser entendida pelas partes envolvidas. Utilizado como entrada
no algoritmo de cifragem
 Algoritmo de Cifragem (Encryption Algorithm)
 Algoritmo que realiza transformações sobre o texto puro
 Chave Secreta (Secret Key)
 Também utilizada pelo algoritmo de cifragem.
 Valor independente do texto plano e do algoritmo
 A cada chave utilizada um novo resultado será produzido pelo algoritmo de cifragem
 Texto Cifrado (Ciphertext)
 A mensagem produzida como saída do algoritmo de cifragem. Esta mensagem não pode ser
compreendida
 Depende do texto puro e da chave utilizada
 Para uma dada mensagem duas diferentes chaves produzirão diferentes textos cifrados
 Algoritmo de Decifragem (Decryption Algorithm)
 Realiza o processo inverso daquele executado pelo algoritmo de cifragem
 Utiliza como texto cifrado como saída e juntamente com a chave, produz a mensagem original
(texto puro)
Tópicos Especiais em Segurança da Informação 31
Prof. Flávio de Oliveira Silva
Introdução
Criptografia Simétrica
 Modelo Convencional de Criptografia
 No modelo de criptografia simétrica a mesma chave é utilizada
tanto no receptor quanto no transmissor

Tópicos Especiais em Segurança da Informação 32


Prof. Flávio de Oliveira Silva
Introdução
Sistema Criptográfico

Tópicos Especiais em Segurança da Informação 33


Prof. Flávio de Oliveira Silva
Introdução
Sistema Criptográfico
 Criptoanálise
 Força Bruta – Exemplos de esforço necessário para descoberta da
chave secreta

Tópicos Especiais em Segurança da Informação 34


Prof. Flávio de Oliveira Silva
Introdução
Sistema Criptográfico
 Texto Puro
 X = [X1, X2, ..., XM], possui m elementos
 A mensagem é escrita em um alfabeto que pode ser as 26 letras maiúsculas ou alfabeto
binário {0,1}
 Chave
 K = [K1, K2, ..., KJ], possui j elementos
 A chave pode ser gerada por um terceiro e distribuída através de um canal seguro
 Texto Cifrado
 Y = [Y1, Y2, ..., YN] , possui n elementos
 Y = E(X,K)
 Processo de Decifragem
 X = D(Y,K)
 Um oponente que observa Y, mas não tem acesso a K ou X, porém conhece os
algoritmos E e D, pode estimar a mensagem X assim como estimar a chave K,
permitindo desta forma o acesso a futuras mensagens

Tópicos Especiais em Segurança da Informação 35


Prof. Flávio de Oliveira Silva
Introdução
Sistema Criptográfico - Tipos
 Um sistema criptográfico pode ser caracterizado de 3 diferentes formas:
 Quanto ao tipo de operações
 Substituição – Um elemento da mensagem é mapeado em um outro elemento
 Transposição – Os elementos são reorganizados na mensagem a fim de gerar o texto
cifrado
 Produto – Neste caso o sistema utiliza vários estágios de transposição e substituição
 Quanto a número de chaves utilizadas
 Simétrico – Utiliza uma única chave tanto para o transmissor quanto para o receptor
 Assimétrico – Neste caso transmissor e receptor utiliza diferentes chaves. Também
conhecido como de chave pública
 Sem Chaves – Não utiliza chaves
 Quanto à maneira que o texto puro é processado (Chaves Simétricas)
 Cifradores de Bloco (Block chiphers) – Processa um bloco de elementos de cada vez
 Cifradores Contínuos (Stream Chiphers) – Produz uma saída continua e a medida que
um elemento entra no sistema, outro elemento é produzido na saída

Tópicos Especiais em Segurança da Informação 36


Prof. Flávio de Oliveira Silva
Taxonomia de Técnicas
Criptográficas

Tópicos Especiais em Segurança da Informação 37


Prof. Flávio de Oliveira Silva
Conceitos Básicos
Substituição de César
 Alfabeto
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
A B C D E F G H I J K L M N 0 P Q R S T U V W X Y Z

 Operação de Cifragem
 O caractere cifrado da posição i, será calculado da seguinte forma:
 Ci = (i+K) mod 26
 Sendo i a posição no caractere na mensagem 0 ≤ i ≤ 25
 Decifrar
 O caractere original da posição i, será calculado da seguinte forma:
 Ci = (i-K) mod 26
 Sendo i a posição no caractere no texto cifrado 0 ≤ i ≤ 25
 O valor K é a chave utilizada 0 ≤ K ≤ 25
 Neste algoritmo existe a possibilidade de uso de 26 diferentes
chaves

Tópicos Especiais em Segurança da Informação 38


Prof. Flávio de Oliveira Silva
Conceitos Básicos
Substituição de César - Exemplo
 Alfabeto
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
A B C D E F G H I J K L M N 0 P Q R S T U V W X Y Z

 Seja M a mensagem “ATACAR” e K = 3


 Desta forma teremos:
 M = ATACAR, será cifrada da seguinte forma:
 C = DWDFDU
 Para i = 0 tem-se: C0 = (0+3) mod 26 = 3 mod 26 = 3, logo o novo
caracter encontra-se na posição 3, ou seja, “D”

Tópicos Especiais em Segurança da Informação 39


Prof. Flávio de Oliveira Silva
Algoritmo DES
Funcionamento
 O algoritmo DES possui duas etapas principais:
 Expansão da Chave
 A partir da chave inicial de 56 bits, 16 novas chaves de 48 bits são
obtidas
 Cada chave será utilizada em uma etapa o algoritmo
 Processo de Cifragem
 Substituição e Permutas da mensagem com as chaves obtidas no passo
anterior
 Especificação
 [Link]
 A especificação do DES foi perdeu sua validade em Maio de 2005

Tópicos Especiais em Segurança da Informação 40


Prof. Flávio de Oliveira Silva
Algoritmo DES
Funcionamento
 Mensagem = 0123456789ABCDEFH

 Chave(K) = 133457799BBCDFF1 H

 Os bits da chave serão agrupados em grupos de 8 bits e o oitavo


bit será removido (bit de paridade), desta forma a chave terá
apenas 56 bits
 Na figuras cada caractere está sendo representado por 4 bits
Tópicos Especiais em Segurança da Informação 41
Prof. Flávio de Oliveira Silva
Algoritmo DES - Funcionamento
Expansão da Chave
 A chave K de 64 bits é permutada de acordo com a tabela (PC1) a fim de obter a
chave X, conforme mostrado a seguir

 Pela tabela acima o bit de número 57 na chave K, torna-se o bit de numero 1 na


chave X
 O bit 49 torna-se o segundo da chave X ; o bit 41 o terceiro; e assim
sucessivamente, sendo que o último bit da chave X será o bit 4 da chave K
 Desta forma a chave X ficará, após este processo, da seguinte forma:

Tópicos Especiais em Segurança da Informação 42


Prof. Flávio de Oliveira Silva
Algoritmo DES - Funcionamento
Expansão da Chave
 A chave X será divida ao meio e cada uma terá 28 bits. A chave da esquerda
será chamada C0 e a chave da direita D0

 Após a divisão teremos:

Tópicos Especiais em Segurança da Informação 43


Prof. Flávio de Oliveira Silva
Algoritmo DES - Funcionamento
Expansão da Chave
 A partir dos valores da chave da esquerda C0 e da chave da direita D0
serão criadas 16 chaves Cn; 1 ≤ n ≤ 16
 Para i = 1 até 16 tem-se que:
 Ci = Ci-1 << σ (i) // << = rotação circular à esquerda de 1 ou 2 bits
 Di = Di-1 << σ (i) // << = rotação circular à esquerda de 1 ou 2 bits
 Ki = (Ci,Di) // conjunto de bits à esquerda e à direita concatenados
 CHi = PC2(Ki)
 A função σ (i) receber um número de 1 a 16 e retorna 1 ou 2, da
seguinte forma

Tópicos Especiais em Segurança da Informação 44


Prof. Flávio de Oliveira Silva
Algoritmo DES - Funcionamento
Expansão da Chave
 No exemplo anterior teremos

 Cálculo de C1 e D1

Tópicos Especiais em Segurança da Informação 45


Prof. Flávio de Oliveira Silva
Algoritmo DES - Funcionamento
Expansão da Chave
 Cálculo de C1 e D1

 Cálculo K1 = (C1,D1)

Tópicos Especiais em Segurança da Informação 46


Prof. Flávio de Oliveira Silva
Algoritmo DES - Funcionamento
Expansão da Chave

 A partir da chave K1 será feita a permuta PC2, para o cálculo da Chave CH1
Pela tabela ao lado o bit de número 14 na
chave K1, torna-se o bit de numero 1 na
chave CH1
O bit 17 torna-se o segundo da chave CH1;
o bit 11 o terceiro; e assim sucessivamente,
sendo que o último bit da chave CH1 será o
bit 32 da chave K1
A chave CH1 terá 48 bits

Tópicos Especiais em Segurança da Informação 47


Prof. Flávio de Oliveira Silva
Algoritmo DES - Funcionamento
Expansão da Chave
 Utilizando-se o mesmo método a partir de C1 e D1, pode-se calcular C2 e
D2 e então é feito o cálculo da CH2
 Neste exemplo teremos os seguintes valores para Ci e Di

Tópicos Especiais em Segurança da Informação 48


Prof. Flávio de Oliveira Silva
Algoritmo DES - Funcionamento
Expansão da Chave
 Continuação dos valores de Ci e Di

Tópicos Especiais em Segurança da Informação 49


Prof. Flávio de Oliveira Silva
Algoritmo DES - Funcionamento
Expansão da Chave
 A partir dos valores de Ci e Di será possível calcular as chaves Ki e
também as chaves que serão utilizadas em cada uma das etapas do
DES
 Neste exemplo teremos os seguintes valores para as chaves CHi
 As chaves CHi possuem 48 bits

Tópicos Especiais em Segurança da Informação 50


Prof. Flávio de Oliveira Silva
Algoritmo DES - Funcionamento
Expansão da Chave
 Continuação dos valores para das chaves CHi

Tópicos Especiais em Segurança da Informação 51


Prof. Flávio de Oliveira Silva
Algoritmo DES – Funcionamento
Processo de Cifragem
 Esta etapa utilizará o seguinte algoritmo
 MP = IP(M) //permuta da mensagem utilizando o vetor IP
 (L0,R0) = MP //Divisão de MP na parte esquerda e Direita
 Para i de 1 até 16 tem-se que:
1. Li = Ri-1 //Inicialmente Li e Ri-1 possuem 32 bits
2. Ri = ET(Ri-1) //Permuta usando vetor ET (Expansion Table); saída 48 bits
3. Ri = CHi XOR Ri //Operação de OU-EXCLUSIVO entre CHi e Ri obtido no passo 2
4. Ri = SB[Ri] //Permuta utilizando as Caixas-S (S-BOX), saída 32 bits
5. Ri = P(Ri) //Permuta utilizando P(Permutation Function), saída 32 bits
6. Ri = Li-1 XOR Ri //Operação de OU-EXCLUSIVO entre Li-1 e Ri obtido em 5
 C = (R16,L16) //O texto cifrado é a seqüência de bits invertida
 C = IP-1(C) //Finalmente é feita a permuta inversa IP-1 do texto cifrado

Tópicos Especiais em Segurança da Informação 52


Prof. Flávio de Oliveira Silva
Algoritmo DES
Processo de Cifragem - Exemplo
 Neste exemplo abaixo é novamente mostrado a mensagem(M) que será
criptografada utilizando o DES
 M = 0123456789ABCDEFH

 A partir da chave inicial (K) foram obtidas as 16 chaves que serão agora
utilizadas
 K = 133457799BBCDFF1H

Tópicos Especiais em Segurança da Informação 53


Prof. Flávio de Oliveira Silva
Algoritmo DES - Funcionamento
Processo de Cifragem - Exemplo
 Inicialmente será feita a permuta na mensagem IP(M) - M = 0123456789ABCDEFH

 A partir mensagem M será feita a permuta IP, para o cálculo da Chave MP

Pela tabela ao lado o bit de número 58 na


mensagem M, torna-se o bit de numero 1 na
mensagem MP
O bit 50 torna-se o segundo em MP; o bit 42 o
terceiro; e assim sucessivamente, sendo que o
último bit da mensagem MP será o bit 07 da
mensagem M
A saída terá 64 bits

Tópicos Especiais em Segurança da Informação 54


Prof. Flávio de Oliveira Silva
Algoritmo DES - Funcionamento
Processo de Cifragem - Exemplo
 A mensagem então será dividida em duas partes de 32 bits cada. Sendo L0 os
32 primeiros bits, ou seja os bits à esquerda e R0 os bits à direita

 A seguir são realizadas as 16 iterações do algoritmo


 Neste caso, será mostrada a apenas primeira iteração

Tópicos Especiais em Segurança da Informação 55


Prof. Flávio de Oliveira Silva
Algoritmo DES - Funcionamento
Processo de Cifragem - Exemplo
 L1 será igual à seqüência R0

 Será realizada e expansão de R0 usando a permuta ET (Expansion Table)

Pela tabela ao lado o bit de número 32


em R0, tornar-se-á o bit de numero 1 em
R1
O bit 01 tornar-se-á o segundo em R1; o
bit 02 o terceiro; e assim
sucessivamente, sendo que o último bit
em R1 será o bit 01
Neste caso o R1 resultante terá 48 bits

Tópicos Especiais em Segurança da Informação 56


Prof. Flávio de Oliveira Silva
Algoritmo DES - Funcionamento
Processo de Cifragem - Exemplo
 Para I = 1; sendo esta a primeira iteração. Neste caso será realizada um operação de OU-
EXCLUSIVO (XOR) entre CHi, neste caso será entre CH1 e R1

 A próximo passo fará uso das caixas S


 Estas caixas farão redução de 48 bits para 32 bits, em Ri

Tópicos Especiais em Segurança da Informação 57


Prof. Flávio de Oliveira Silva
Algoritmo DES - Funcionamento
Processo de Cifragem – S-Boxes
 As Caixas-S (S-Boxes) são definidas da seguinte forma:

Tópicos Especiais em Segurança da Informação 58


Prof. Flávio de Oliveira Silva
Algoritmo DES - Funcionamento
Processo de Cifragem – S-Boxes
 As Caixas-S (S-Boxes) são definidas da seguinte forma:

Tópicos Especiais em Segurança da Informação 59


Prof. Flávio de Oliveira Silva
Algoritmo DES - Funcionamento
Processo de Cifragem – S-Boxes
 Todas as S-Boxes são utilizadas uma iteração da seguinte forma:

 Cada grupo de seis bits em Ri nos dará um endereço numa caixa S diferente.
 S1(B1)S2(B2)S3(B3)S4(B4)S5(B5)S6(B6)S7(B7)S8(B8)
 Um número de 4 bits estará localizado neste endereço. Este número de 4 bits irá
substituir os 6 bits originais.
 Desta forma cada oito grupos de 6 bits são transformados em oito grupos de 4
bits (as saídas de 4 bits das caixas S) num total de 32 bits.
 Para cada conjunto SK (BK) teremos:
 O primeiro e o último bit de BK serão obtidos.
 A partir destes dois bits será obtido um número (i).
 Este número será a i-ésima linha da S-BOX SK
 Os quatro bits centrais de BK serão obtidos. Estes bits representa um número entre 0
e 15 e será o número j
 Este numero será a j-ésima coluna da S-BOX SK

Tópicos Especiais em Segurança da Informação 60


Prof. Flávio de Oliveira Silva
Algoritmo DES - Funcionamento
Processo de Cifragem – S-Boxes
 Voltando ao exemplo, na primeira iteração teremos:

 Como temos:
 S1(B1)S2(B2)S3(B3)S4(B4)S5(B5)S6(B6)S7(B7)S8(B8)
 B1 = 011000 , logo i = 00 e j = 1100; ou seja i = 0 e j = 12
 Na caixa S1 temos na linha 0 e coluna 12 o valor 5
 logo a saída S1(B1) será igual a 5 ou seja: 0101
 Repete-se este processo para cada S-BOX
 Ao final teremos o seguinte resultado para R1

Tópicos Especiais em Segurança da Informação 61


Prof. Flávio de Oliveira Silva
Algoritmo DES
Processo de Cifragem - Exemplo
 Será feita a permuta P sobre o valor R1

 Será realizada permuta P sobre o valor R1


Pela tabela ao lado o bit de número 16
em R1, tornar-se-á o bit de numero 1
em
R1 O bit 07 tornar-se-á o segundo em
R1; o
bit 20 o terceiro; e assim
sucessivamente, sendo que o último bit
em R1 será o bit 25
Neste caso o R1 terá 32 bits

Tópicos Especiais em Segurança da Informação 62


Prof. Flávio de Oliveira Silva
Algoritmo DES - Funcionamento
Processo de Cifragem - Exemplo
 Para o cálculo final de R1 será feito um XOR entre R1 e L0, conforme mostrado
abaixo:

 Ao final deste processo temos o cálculo de R1 e L1 para a primeira iteração

Tópicos Especiais em Segurança da Informação 63


Prof. Flávio de Oliveira Silva
Algoritmo DES - Funcionamento
Processo de Cifragem - Exemplo
 A partir de L1 e R1 deve ser realizado todo o processo novamente ( 1 ≤i ≤16)

 Para i igual a 16 teremos

 O texto cifrado C será igual a (R16,L16), logo temos

Tópicos Especiais em Segurança da Informação 64


Prof. Flávio de Oliveira Silva
Algoritmo DES
Processo de Cifragem - Exemplo
 Finalmente será feita a permutação inversa do texto Cifrado

 Permutação Inversa Utilizando IP-1

Tópicos Especiais em Segurança da Informação 65


Prof. Flávio de Oliveira Silva
Algoritmo DES
Processo de Decifragem
 O processo de decifragem utiliza o mesmo algoritmo da cifragem
 Neste caso porém as chaves são utilizadas na ordem reversa
 Esta etapa utilizará o seguinte algoritmo
 MP = IP(C) //permuta do texto cifrado utilizando o vetor IP
 (L0,R0) = MP //Divisão de MP na parte esquerda e Direita
 Para i de 1 até 16 tem-se que:
 Li = Ri-1 //Inicialmente Li e Ri-1 possuem 32 bits
 Ri = ET(Ri-1) //Permuta usando vetor ET (Expansion Table); saída 48 bits
 Ri = CH17-i XOR Ri //Operação de OU-EXCLUSIVO entre CHi e Ri obtido no passo 2
 Ri = SB[Ri] //Permuta utilizando as Caixas-S (S-BOX), saída 32 bits
 Ri = P(Ri) //Permuta utilizando P(Permutation Function), saída 32 bits
 Ri = Li-1 XOR Ri //Operação de OU-EXCLUSIVO entre Li-1 e Ri obtido em 5
 P = (R16,L16) //O texto plano é a seqüência de bits invertida
 P = IP-1(P) //Finalmente é feita a permuta inversa IP-1 do texto plano

Tópicos Especiais em Segurança da Informação 66


Prof. Flávio de Oliveira Silva
Algoritmos de Bloco
DES - Segurança
 Como o algoritmo DES utiliza uma chave com 56 bits é possível existir
256 chaves, o que inicialmente tornava inviável um ataque de força bruta
ao DES
 Porém com o aumento de capacidade dos computadores o algoritmo
tornou-se fraco
 Em 1998 o DES foi quebrado em 56 horas em um computador
especialmente preparado
 Uma solução para este problema é executar o algoritmo DES mais de
uma vez
 Uma proposta é o Triple DES que realiza uma Cifragem-Decifragem-
Cifragem de uma mensagem desta forma é possível utilizar até 3
diferentes chaves para o algoritmo
 Uma outra possibilidade é o uso de um novo algoritmo, o que foi
efetivamente realizado com o AES

Tópicos Especiais em Segurança da Informação 67


Prof. Flávio de Oliveira Silva
Algoritmos de Bloco
Triple DES (3DES)
 Neste caso o algoritmo utilizado é o DES, porém são utilizadas até três
chaves
 Triples DES com duas chaves
 Neste caso as seguintes operações são realizadas da seguinte forma
 C = EK1(DK2(EK1(P)))
 P = DK1(EK2(DK1(c)))
 O custo de um ataque força-bruta no 3DES é da ordem de 2112
 Porem em 1981 foi feita uma proposta para realizar um ataque ao 3DES
 Triples DES com três chaves
 Neste caso as seguintes operações são realizadas da seguinte forma
 C = EK3(DK2(EK1(P)))
 P = DK1(EK2(DK3(C)))
 O 3DES é utilizado em várias aplicações como por exemplo S/MIME
(Secure/Multipurpose Internet Mail Extension)

Tópicos Especiais em Segurança da Informação 68


Prof. Flávio de Oliveira Silva
AES (Advanced Encryption
Standard )
 Em 1999 o NIST (National Institute of Standards and Technology) realizou uma
revisão do padrão DES (FIPS PUB 46-3) e indicou que o DES deve ser utilizado
apenas em sistemas legados e em seu lugar deveria ser utilizado o triple
DES(3DES)
 Considerando o uso de 3 chaves o 3DES é forte o bastante, porém sua
performance é bastante ineficiente para ser executado através de software
 Outro problema relacionado ao DES e ao 3DES é que ambos utilizam um bloco
de 64 bits o que é ineficiente e reduz a segurança
 Em 1997 o NIST realizou uma chamada pública a fim de obter proposta para um
novo padrão de criptografia avançado (Advanced Encryption Standard)
 O processo de avaliação foi finalizado em 2001. O algoritmo selecionado era
conhecido como Rijndael e posteriormente ficou conhecido como AES
(Advanced Encryption Standard)
 A tendência é que o 3DES seja substituído pelo AES, porém este processo
deverá levar alguns anos e enquanto isto o 3DES continua como um algoritmo
aprovado

Tópicos Especiais em Segurança da Informação 69


Prof. Flávio de Oliveira Silva
Algoritmos de Bloco
AES Vantagens x Destavangatens
 Vantagens
 Rápido em relação a outros algoritmos de bloco
 Pode ser implementado em SmartCard utilizando pouco código e memória
 Algumas operações são executadas em paralelo otimizando o seu
desempenho
 O uso das S-Box.
 Expansão da chave enquanto são executadas operações que não dependem da
mesma como ByteSub() e ShiftRow()
 Como não utiliza operações aritméticas exige pouco processamento
 Não reutiliza elementos já processados, apenas o estado (State) da rodada
anterior
 Desvantagens
 A operação inversa utiliza mais código e mais processamento, não sendo
indicada para implementação em SmartCard
 Em software a cifragem e a inserva utilizam diferentes códigos e tabelas,
tornando a implementação um pouco mais complexa
Tópicos Especiais em Segurança da Informação 70
Prof. Flávio de Oliveira Silva
Algoritmos de Bloco
AES x DES - Características
 No AES o comprimento do bloco e da chave são independentes
 É possível utilizar blocos e chaves de 128, 192 ou 256 bits conforme a
tabela abaixo

Tópicos Especiais em Segurança da Informação 71


Prof. Flávio de Oliveira Silva
Algoritmos de Bloco
AES - Comparação
 A tabela abaixo mostra a comparação entre alguns algoritmos de
bloco quanto ao seu funcionamento e as operações matemáticas
utilizadas

Tópicos Especiais em Segurança da Informação 72


Prof. Flávio de Oliveira Silva
Algoritmos de Bloco
Modos de Operação
 O algoritmos de bloco possuem diferentes modos de operação
 Basicamente o modo de operação é uma técnica para aumentar a
eficiência do algoritmo
 O NIST (FIPS 800-38A) definiu cinco diferentes modos de
operação que cobrem todas as forma de operação dos algoritmos
de bloco.
 Os modos de operação podem ser utilizados com qualquer
algoritmo de bloco incluindo DES; TRIPLE DES e AES entre
outros.

Tópicos Especiais em Segurança da Informação 73


Prof. Flávio de Oliveira Silva
Algoritmos de Bloco
Modos de Operação
 Modos de Operação

Tópicos Especiais em Segurança da Informação 74


Prof. Flávio de Oliveira Silva
Algoritmos de Bloco
Modos de Operação - ECB
 Electronic Codebook (ECB)
 Os número total de bits a ser cifrado deve ser múltiplo do tamanho do bloco
utilizado. Caso seja necessário deve ser feita a inserção de bits (padding)
 Os blocos cifrados são independentes entre si
 Blocos iguais no texto plano são repetidos na mensagem de forma cifrada e
desta forma é mais fácil descobrir um padrão na criptografia, apresentando
desta forma uma alta vulnerabilidade
 Cifragem
 Ci = EK(Pi) sendo i = 1, 2, …, m
 Decifragem
 Pi = DK(Ci) sendo i = 1, 2, …, m
 Sendo:
 Pi Texto Puro com n bits. O último bloco Pm pode sofrer inserção de bits
 Ci Texto Cifrado com n bits
 EK() Algoritmo de cifragem em bloco, utilizando a chave K
 DK() Algoritmo de decifragem em bloco, utilizando a chave K

Tópicos Especiais em Segurança da Informação 75


Prof. Flávio de Oliveira Silva
Algoritmos de Bloco
Modo de Operação - ECB
 Electronic Codebook (ECB)
 M = P1 || P2 || Pm , sendo || a operação de concatenação de bits
 C = C1 || C2 || Cm , sendo || a operação de concatenação de bits

Tópicos Especiais em Segurança da Informação 76


Prof. Flávio de Oliveira Silva
Algoritmos de Bloco
Modos de Operação - CBC
 Cipher Block Chaining (CBC)
 A entrada do algoritmo é o texto plano associado ao texto cifrado do bloco
anterior através de uma operação XOR
 Desta forma os blocos são encadeados entre si e a saída do algoritmo é função
não apenas do texto plano mas de todos os blocos cifrados anteriormente
 A mesma chave é utilizada em todos os blocos
 Neste caso há maior segurança, visto que o mesmo texto plano quando é cifrado
produz diferentes resultados
 No primeiro passo é necessário um vetor inicial (IV) que é então associado ao
primeiro bloco do texto puro (P1)
 Cifragem
 C0 = IV
 Ci = EK(Pi Ci-1) sendo i = 1, 2, …, m
 Decifragem
 C0 = IV
 Pi = DK(Ci) Ci-1 sendo i = 1, 2, …, m
Tópicos Especiais em Segurança da Informação 77
Prof. Flávio de Oliveira Silva
Algoritmos de Bloco
Modos de Operação - CBC
 Cipher Block Chaining (CBC)

Tópicos Especiais em Segurança da Informação 78


Prof. Flávio de Oliveira Silva
Algoritmos de Bloco
Modos de Operação - CFB
 Cipher Feedback Mode (CFB)
 Este modo converte o algoritmo de bloco em um cifrador de fluxo
(Stream)
 Desta forma não é necessário acrescentar bits à mensagem original
a fim de criar um número inteiro de blocos a fim de serem
processados pelo algoritmo
 Além disso é possível operar em tempo real, ou seja, se um fluxo de
caracteres (8 bits) está sendo transmitido é possível cifrar cada
caractere (8 bits)
 Por exemplo, se o algoritmo utilizado for o DES, não é necessário
montar blocos de 64 bits
 No modo CFB as unidades de texto puro são encadeadas e desta
forma o texto cifrado produzido é função de todo o texto precedente
 Neste modo de operação apenas a função EK() é utilizada tanto para
cifrar quanto para decifrar.
Tópicos Especiais em Segurança da Informação 79
Prof. Flávio de Oliveira Silva
Algoritmos de Bloco
Modos de Operação - CFB
 Cipher Feedback Mode (CFB)
 Cifragem
 O tamanho do bloco do cifrador é n
 s bits de uma mensagem que possui no total m bits serão cifrados
 I0 = IV; //entrada do cifrador (I0) é inicializada com o vetor IV com n bits
 Para i = 1 ≤ i ≤ m temos:
 Oi = EK(Ii-1) //esta entrada é então cifrada (EK) obtendo a saída Oi
 Oi = MSBs(Oi) //Somente os s bits mais significativos de Oi serão considerados
 Ci = Pi Oi //Operação XOR entre Oi com os s bits do texto plano (Pi)
 A próxima entrada é calculada a partir dos n-s bits menos significativos
da entrada anterior concatenados com os s bits cifrados
 Ii = LSBn-s(Ii –1) || Ci

Tópicos Especiais em Segurança da Informação 80


Prof. Flávio de Oliveira Silva
Algoritmos de Bloco
Modos de Operação - CFB
 Cipher Feedback Mode (CFB)
 Decifragem
 O tamanho do bloco do cifrador é n
 O texto plano (Pi) será recuperado a partir do texto cifrado (Ci)
 I0 = IV; //entrada do cifrador (I0) é inicializada com o vetor IV com n bits
 Para i = 1 ≤ i ≤ m temos:
 Oi = EK(Ii-1) //esta entrada é então cifrada (EK) obtendo a saída Oi
 Oi = MSBs(Oi) //Somente os s bits mais significativos de Oi serão considerados
 Pi = Ci Oi //Operação XOR entre Oi com os s bits do texto plano (Pi)
 A próxima entrada é calculada a partir dos n-s bits significativos da
entrada anterior concatenados com os s bits cifrados
 Ii = LSBn-s(Ii –1) || Ci

Tópicos Especiais em Segurança da Informação 81


Prof. Flávio de Oliveira Silva
Algoritmos de Bloco
Modos de Operação - CFB
 Cipher Feedback Mode (CFB) - Cifragem

Tópicos Especiais em Segurança da Informação 82


Prof. Flávio de Oliveira Silva
Algoritmos de Bloco
Modos de Operação - CFB
 Cipher Feedback Mode (CFB) - Decifragem

Tópicos Especiais em Segurança da Informação 83


Prof. Flávio de Oliveira Silva
Algoritmos de Bloco
Modos de Operação - OFB
 Output Feedback Mode (OFB)
 Este modo também converte o algoritmo de bloco em um cifrador de fluxo
(Stream)
 Seu funcionamento é similar ao modo CFB
 A diferença básica é que ao invés de inserir na entrada seguinte o texto
cifrado (Ci), os s bits são aqueles obtidos na saída anterior cifrada (Oi-1)
 Uma vantagem deste modo é que os bits incorretos na transmissão não são
propagados, sendo útil em transmissões onde não é possível a
retransmissão, como por exemplo, ondas de rádio
 Se ocorrer um erro na transmissão de Ci, somente Pi será afetado, pois Ci
não interfere no cálculo da entrada Ii+1.
 Uma desvantagem é que este modo é mais vulnerável a um ataque de
modificação quando comparado com o modo CFB.
 O complemento de um bit no texto cifrado causa o complemento do bit
correspondente no texto puro obtido. Este problema agrava-se quanto menor
for o tamanho s

Tópicos Especiais em Segurança da Informação 84


Prof. Flávio de Oliveira Silva
Algoritmos de Bloco
Modos de Operação - OFB
 Output Feedback Mode (OFB)
 Cifragem
 O tamanho do bloco do cifrador é n
 s bits de uma mensagem que possui no total m bits serão cifrados
 I0 = IV; //entrada do cifrador (I0) é inicializada com o vetor IV com n bits
 Para i = 1 ≤ i ≤ m temos:
 Oi = EK(Ii-1) //esta entrada é então cifrada (EK) obtendo a saída Oi
 Oi = MSBs(Oi) //Somente os s bits mais significativos de Oi serão considerados
 Ci = Pi Oi //Operação XOR entre Oi com os s bits do texto plano (Pi)
 A próxima entrada é calculada a partir dos n-s bits menos significativos
da entrada anterior concatenados com os s bits obtidos na saída do
cifrador
 Ii = LSBn-s(Ii –1) || Oi

Tópicos Especiais em Segurança da Informação 85


Prof. Flávio de Oliveira Silva
Algoritmos de Bloco
Modos de Operação - OFB
 Output Feedback Mode (OFB)
 Decifragem
 O tamanho do bloco do cifrador é n
 O texto plano (Pi) será recuperado a partir do texto cifrado (Ci)
 I0 = IV; //entrada do cifrador (I0) é inicializada com o vetor IV com n bits
 Para i = 1 ≤ i ≤ m temos:
 Oi = EK(Ii-1) //esta entrada é então cifrada (EK) obtendo a saída Oi
 Oi = MSBs(Oi) //Somente os s bits mais significativos de Oi serão considerados
 Pi = Ci Oi //Operação XOR entre Oi com os s bits do texto plano (Pi)
 A próxima entrada é calculada a partir dos n-s bits menos significativos
da entrada anterior concatenados com os s bits obtidos na saída do
cifrador
 Ii = LSBn-s(Ii –1) || Oi

Tópicos Especiais em Segurança da Informação 86


Prof. Flávio de Oliveira Silva
Algoritmos de Bloco
Modos de Operação - OFB
 Output Feedback Mode (OFB) - Cifragem

Tópicos Especiais em Segurança da Informação 87


Prof. Flávio de Oliveira Silva
Algoritmos de Bloco
Modos de Operação - OFB
 Output Feedback Mode (OFB) - Decifragem

Tópicos Especiais em Segurança da Informação 88


Prof. Flávio de Oliveira Silva
Algoritmos de Bloco
Modos de Operação - CTR
 Counter Mode (CTR)
 Neste modo um contador, cujo tamanho em bits, deve ser igual ao tamanho do
bloco é inicializado com um valor
 Este contador é então cifrado e finalmente é realizada uma operação XOR do
contador cifrado com o texto puro
 Um requisito é que os valores do contador devem ser diferentes, neste caso, o
contador é acrescido de 1 nos próximos blocos
 Para decifrar o mesmo contador utilizado inicialmente é cifrado novamente é o
resultado.
 Finalmente é feita uma operação XOR entre o contador inicialmente cifrado e o
último obtido. O resultado é o texto puro
 Como não usa a técnica de encadeamento vários blocos podem ser cifrados e
decifrados em paralelo
 Assim como o CFB e OFB é um modo simples pois utilizada apenas o
algoritmo de cifragem
 Este modo poder ser utilizado por exemplo para cifrar o número de seqüência
de uma transmissão utilizando IPSec
Tópicos Especiais em Segurança da Informação 89
Prof. Flávio de Oliveira Silva
Algoritmos de Bloco
Modos de Operação - CTR
 Counter Mode (CTR)
 Cifragem
 I1 = IV //Contador é inicializado
 Para i = 1 ≤ i ≤ m temos:
 Oi = EK(Ii) //O contador é então cifrado (EK) obtendo a saída Oi
 Ci = Pi Oi //Operação XOR entre Oi com os bits do texto plano (Pi)
 Ii = Ii + 1
 Decifragem
 I1 = IV //Contador é inicializado
 Para i = 1 ≤ i ≤ m temos:
 Oi = EK(Ii) //O contador é então cifrado (EK) obtendo a saída Oi
 Pi = Ci Oi //Operação XOR entre Oi com os bits do texto cfrado (Ci)
 Ii = Ii + 1

Tópicos Especiais em Segurança da Informação 90


Prof. Flávio de Oliveira Silva
Algoritmos de Bloco
Modos de Operação - CTR
 Counter Mode (CTR)

Tópicos Especiais em Segurança da Informação 91


Prof. Flávio de Oliveira Silva

Potrebbero piacerti anche