Você está na página 1de 17

Nilo Menezes

@lskbr
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
▪ Função não inversível
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
▪ 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)
▪ 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
▪ 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
▪ 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
▪ 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
CRIPTOGRAFIA
▪ 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.
▪ Algoritmos simétricos: AES (Rijndael), DES, 3DES
▪ Algoritmos assímétricos: RSA, PGP, GPG, TLS (Híbrido)
https://www.nilo.pro.br
@lskbr

Você também pode gostar