Modos de Operação de um Cifrador de Bloco

Transcrição

Modos de Operação de um Cifrador de Bloco
Modos de Operação de um Cifrador de Bloco
Instituto de Computação - UNICAMP
Julio López
Disciplina MC889
Introdução
Como utilizar um cifrador de bloco para encriptar mensagens
de tamanho arbitrário?
Julio López
Disciplina MC889
Introdução
Como utilizar um cifrador de bloco para encriptar mensagens
de tamanho arbitrário?
Modos básicos: ECB, CBC, CFB, OFB, CTR
Julio López
Disciplina MC889
Introdução
Como utilizar um cifrador de bloco para encriptar mensagens
de tamanho arbitrário?
Modos básicos: ECB, CBC, CFB, OFB, CTR
Cifrador de fluxo: CFB, OFB, CTR
Julio López
Disciplina MC889
Introdução
Como utilizar um cifrador de bloco para encriptar mensagens
de tamanho arbitrário?
Modos básicos: ECB, CBC, CFB, OFB, CTR
Cifrador de fluxo: CFB, OFB, CTR
Propostas NIST: CCM, GCM, XTS-AES
Julio López
Disciplina MC889
Introdução
Como utilizar um cifrador de bloco para encriptar mensagens
de tamanho arbitrário?
Modos básicos: ECB, CBC, CFB, OFB, CTR
Cifrador de fluxo: CFB, OFB, CTR
Propostas NIST: CCM, GCM, XTS-AES
Padrões: ISO, IEC, IEEE, IETF
Julio López
Disciplina MC889
Electronic Code Book Mode (ECB)
Entrada: m1 , m2 , ..., mn , chave K .
Saı́da: c1 , c2 , ..., cn .
for j = 1 to n do
cj ← EK (mj )
Julio López
Disciplina MC889
Electronic Code Book Mode (ECB)
Entrada: m1 , m2 , ..., mn , chave K .
Saı́da: c1 , c2 , ..., cn .
for j = 1 to n do
cj ← EK (mj )
A mensagem é dividida em blocos e cada bloco é encriptado
separadamente.
Julio López
Disciplina MC889
Electronic Code Book Mode (ECB)
Julio López
Disciplina MC889
Electronic Code Book Mode (ECB)-Exemplo
Julio López
Disciplina MC889
Electronic Code Book Mode (ECB)-Exemplo
Uma desvantagem deste método é que blocos idênticos de
texto plano são encriptados em blocos de texto cifrado
idênticos; assim, ele também não oculta padrões de dados.
Não é recomendado para uso em protocolos criptográficos.
Julio López
Disciplina MC889
Modo de operação Ideal
Julio López
Disciplina MC889
O modo CBC
Cipher Block Chaining
Para encriptar:
Entrada: IV, m1 , m2 , ..., mn , chave K .
Saı́da: IV, c1 , c2 , ..., cn .
1. c0 ← IV
2. for j = 1 to n do
cj ← EK (mj ⊕ cj−1 )
Julio López
Disciplina MC889
O modo CBC-encriptação
Julio López
Disciplina MC889
O modo CBC-desencriptação
Julio López
Disciplina MC889
O modo CBC
Cipher Block Chaining
Para desencriptar:
Entrada: IV, c1 , c2 , ..., cn , chave K .
Saı́da: IV, m1 , m2 , ..., mn .
1. c0 ← IV
2. for j = 1 to n do
mj ← DK (cj ) ⊕ cj−1
Julio López
Disciplina MC889
Cifrador de Fluxo
Julio López
Disciplina MC889
O modo CFB
Cipher Feedback
Para encriptar:
Entrada: IV, m1 , m2 , ..., mn , chave K .
Saı́da: IV, c1 , c2 , ..., cn .
1. X1 ← IV
2. for j = 1 to n do
cj ← mj ⊕ MSBt (EK (Xj ))
Xj+1 ← LSB128−t (Xj )||cj
Julio López
Disciplina MC889
O modo CFB
Julio López
Disciplina MC889
O modo OFB
Output Feedback
Para encriptar:
Entrada: IV,m1 , m2 , ..., mn , chave K .
Saı́da: IV, c1 , c2 , ..., cn .
1. X1 ← IV
2. for j = 1 to n do
cj ← mj ⊕ MSBt (EK (Xj ))
Xj+1 ← EK (Xj )
Nota: Modo de cifrador de fluxo: X1 , X2 , ..., Xn não depende da
mensagem.
Julio López
Disciplina MC889
O modo OFB
Julio López
Disciplina MC889
O modo CTR
Counter
Para encriptar:
Entrada: crt, m1 , m2 , ..., mn , chave K
Saı́da: ctr , c1 , c2 , ..., cn .
1. X1 ← ctr
2. for j = 1 to n do
cj ← mj ⊕ MSBt (EK (Xj ))
Xj+1 ← Xj + j mod 2128
Contador:
crt → ctr + 1 → ctr + 2 → · · · ctr + m−1
Julio López
Disciplina MC889
O modo CTR
Julio López
Disciplina MC889

Documentos relacionados

Fundamentos Matemáticos

Fundamentos Matemáticos aditivo de a módulo n é o inteiro b = −a mod n.; ou seja a + b ≡ 0 (mod n). Definição 7: Para a, n números inteiros com n > 0, o inverso multiplicativo de a módulo n, se existir, é o único ...

Leia mais