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
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 ...