Slide 1

Slide 1 text

Nilo Menezes @lskbr

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

x f(x) f-1(f(x)) 5 8 5 9 12 9 10 13 10 1 4 1 • Facilmente inversível, não serve para hash ou criptografia • Exemplo: cifra de César, BASE64, BASE85

Slide 4

Slide 4 text

▪ Função não inversível

Slide 5

Slide 5 text

x f(x) f-1(f(x)) 5 1 4 9 2 8 10 2 8 1 0 0 • Dificilmente ou não inversível • Não serve para criptografia, pois perde dados • Usada para assinaturas, confirmação, detecção de erros, criação de identifadores • Exemplos: MD5, SHA-512

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

▪ Tem por objetivo representar dados em um outro formato ▪ Não tem qualquer propósito criptográfico, uma vez que são sistematicamente inversíveis ▪ Usadas para representar dados em meios onde estes seriam confundidos com caracteres de controle ▪ Exemplos: BASE64, BASE85, ASCII (HEX)

Slide 8

Slide 8 text

▪ Usado para representar dados binários em protocolos que só suportam texto ▪ Representa números em base 64 (26) em vez de 256(28) ▪ Muito usado em emails e páginas web ▪ Não deve ser usado nunca para esconder nada ▪ Mensagem 1: O rato roeu a roupa do rei de Roma ▪ BASE64: TyByYXRvIHJvZXUgYSByb3VwYSBkbyByZWkgZGUgUm9tYQ== ▪ ASCII(HEX): 4f207261746f20726f6575206120726f75706120646f2072656920646520526f6d61 ▪ Mensagem 2: O rato roeu a roupa do rei de roma ▪ BASE64: TyByYXRvIHJvZXUgYSByb3VwYSBkbyByZWkgZGUgcm9tYQ== ▪ ASCII(HEX): 4f207261746f20726f6575206120726f75706120646f2072656920646520726f6d61

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

▪ Message-Digest 5 (1992) ▪ Quebrado em 2009 ▪ Não deve ser usado para registro de senhas ou garantir que uma mensagem não foi adulterada ▪ Ainda útil como função de espalhamento e partição em banco de dados ▪ Exemplo: ▪ Mensagem 1: O rato roeu a roupa do rei de Roma ▪ MD5: 656bc8efc8bd7193de2004b97d610e60 ▪ Mensagem 2: O rato roeu a roupa do rei de roma ▪ MD5: 7b6542531eb821c5dee80374ce2f5a72

Slide 11

Slide 11 text

▪ Secure Hash Algorithm 2 (2001) ▪ Quebrado/Comprometido em 2011 ▪ Não deve ser usado para registro de senhas ▪ Exemplo: ▪ Mensagem 1: O rato roeu a roupa do rei de Roma ▪ SHA512: 1f7459474aca8d70afcc456f031fe5426a6daca1be9b1bee4a6b6aa47b76be688cca 8a05b7767aff0c13ef691f4e3a61bfa3d18b37f857cb96ed13f74a096dcd ▪ Mensagem 2: O rato roeu a roupa do rei de roma ▪ SHA512: b91c0158eacc8a99850af1febce7283f95ad1c88e9ae15f5b312812276a540d8563f 6fb211cd06ac6bae71061168e963d81dd24455a4cb5141adba2dc1200a32

Slide 12

Slide 12 text

▪ Deve usar uma função muito difícil de inverter (ou impossível) ▪ Deve resistir a ataques de força bruta ▪ Deve exigir alto custo computacional ▪ A senha nunca deve ser guardada em um banco de dados ou no próprio programa ▪ A verificação é feita comparando-se o hash da senha entrada com a armazenada ▪ Usam parâmetros extra “salt” para evitar ataques por Tabela Arco-íris (Rainbow) e um número de ciclos variável para aumentar o custo de ataque por força bruta. ▪ Exemplos: ▪ Bcrypt ▪ Scrypt ▪ PBKDF2 ▪ Argon2

Slide 13

Slide 13 text

CRIPTOGRAFIA

Slide 14

Slide 14 text

▪ Função com dois parâmetros (ou mais como vetores de inicialização) ▪ O segredo é a chave usada para criar uma função única ▪ É simétrica se o mesmo segredo é usado para criptografar e descriptografar ▪ É assimétrica se segredos diferentes são usados ▪ Algoritmos simétricos exigem o compartilhamento de uma senha ▪ Algoritmos assimétricos permitem a utilização de chaves públicas e privadas ▪ Permitem recuperar o conteúdo encriptado, mas exigem o conhecimento da chave. Segurança consiste na dificuldade de se encontrar a chave.

Slide 15

Slide 15 text

▪ Algoritmos simétricos: AES (Rijndael), DES, 3DES ▪ Algoritmos assímétricos: RSA, PGP, GPG, TLS (Híbrido)

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

https://www.nilo.pro.br @lskbr