Funções Hash.

Slides:



Advertisements
Apresentações semelhantes
André Oliveira Castro Marcelo Siqueira Pereira Filho
Advertisements

Transmissão de pacotes
Aplicações Criptográficas
Rodrigo Aldegheri Thais Rachel Thiago Felix Thomas Holland Engenharia de Computação - PUC-CAMPINAS 1.
1 Segurança em Redes de Computadores Referência: Slides extraídos do material dos professores Jim Kurose e Keith Ross relativos ao livro Redes de Computadores.
Exercícios de Revisão Redes de Computadores Edgard Jamhour
Exercícios de Revisão Redes de Computadores Edgard Jamhour
Criptografia e Segurança de Rede Capítulo 6
Criptografia e Segurança em Redes Capítulo 13
Criptografia e Segurança em Redes Capítulo 13
Criptografia e Segurança em redes capitulo 11.
Criptografia e segurança de Redes Capítulo 12
Criptografia e Segurança em redes capítulo 11
Criptográfia e segurança na rede Capitulo 12
Funções de hash unidirecionais
Segurança de Sistemas e Redes
Criptografia II.
PERÍCIA EM INFORMÁTICA
Advanced Encryption Standard
Segurança em Comércio Eletrônico
Segurança na Web SSL - Secure Socket Level TLS - Transport Layer Security SET – Secure Electronic Transaction.
Funções Criptográficas de Hash
Autenticação de Mensagens
Criptografia Simétrica
Função Hash Integridade ?
Técnicas Modernas de Criptografia
Função Hash e Autenticação em Redes de Computadores
Criptografia & Hashing no PHP
Padrão de Segurança de Rede Sem Fio
Hash HTTPS SSL Certificados.
Secure Sockets Layer (SSL) e Transport Layer Security (TLS)
Company LOGO Criptografia de dados em PHP.
Seminário de Informática Teórica Henrique Borges Alencar Siqueira.
Criptanálise de MD4 Mads Rasmussen
Confidencialidade usando Criptografia Simétrica
Funções Hash.
7: Segurança de Redes1 Capítulo 7: Segurança de Redes Fundamentos: r o que é segurança? r criptografia r autenticação r integridade de mensagens r distribuição.
Segurança Ênfase em Comércio Eletrônico. Objetivo Apresentar os principais conceitos envolvendo criptografia,Assinatura digital e Certificação digital.
Assinaturas digitais.
Criptografia e segurança de Redes Capítulo 12 Fourth Edition by William Stallings Tradução feita por Raul Piccoli Madeira e Marcelo Carneiro.
LUCAS DE ANDRADE VINICIUS BERNARDINO DA SILVA
Segurança & Auditoria de Sistemas AULA 07 Eduardo Silvestri
Introdução a Criptologia (cont.)
Documentos Digitais Aula 8.
Exercício 3 Função de hash Assinatura digital
Sistemas Seguros Criptografia Simétrica e Assimétrica
© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 1 Capítulo 8 Segurança em rede © 2010 Pearson Prentice Hall. Todos os direitos reservados.slide.
Assinatura Digital kryptós + gráphein Thiago Castelló Fonseca Verônica Taquette Vaz Redes de Computadores I Prof. Otto Carlos Muniz Bandeira Duarte.
Paulo Roberto Lopes de Souza Robson Cechini Santos
Seminário de Criptografia Análise do Algoritmo HIEROCRYPT Roberto Rodrigues Dias.
PGP – Pretty Good Privacy Privacidade Bastante Boa
Tópicos Avançados em Redes de Computadores Prof. Fabiano Sabha.
Tópicos Avançados em Redes de Computadores
Exercício 2 Função resumo (hash) Assinatura digital
S EGURANÇA, C ONTROLE E A UDITORIA DE D ADOS 7 - Criptografia.
Algoritmos de Chave Pública
Segurança de redes wireless
Autenticação de Mensagens
Segurança de Redes de Computadores Prof. Paulo Fernando da Silva.
2. Criptografia Simétrica
Protocolo WPA 2 Nome: Rony RGM:51001.
3. Criptografia Assimétrica
Criptografia Assimétrica e Autenticação de Mensagens
Prof. Alessandro Gonçalves
Segurança de Redes de Computadores
Segurança de Redes de Computadores Prof. Paulo Fernando da Silva.
Tópicos Avançados em Redes
Criptografia simétrica
Segurança de Rede Prof. Sales Filho Pretty Good Privace - PGP.
Funções Hash.
Transcrição da apresentação:

Funções Hash

Funçao Hash Uma função hash é um algoritmo que mapeia dados de comprimento variável para dados de comprimento fixo.

Função Hash O valor retornado por uma função hash são chamados códigos hash, simplesmente hash.

Hash Um hash é uma sequência de bits geradas por um algoritmo de dispersão, em geral representada em base hexadecimal, que permite a visualização em letras e números (0 a 9 e A a F), representando um nibble cada.

Hash O conceito teórico diz que "hash” é a transformação de uma grande quantidade de dados em uma pequena quantidade de informações".

Hash Uma função Hash aceita uma mensagem M de comprimento variável como entrada e produz uma saída de comprimento fixo conhecida por Hash de M, denotado por H(M).

Hash É uma função apenas da mensagem M de entrada. Também chamado de: Resumo de Mensagem, Síntese de Mensagem, Message Digest (MD)

Hash É uma função de todos os bits da mensagem M. Tem a capacidade de detecção erros: uma mudança em qualquer bit ou bits na mensagem, resulta em uma mudança no Hash(M). Garante: Integridade

Estrutura do Código de Hash Seguro

Função Hash O algoritmo de Hah envolve o uso repetido de uma função de compressão, f, que utiliza duas entradas: uma entrada de n bits da etapa anterior, chamada de “variável de encadeamento”, um bloco de b bits, proveniente de um arquivo de dados, partido em blocos.

Função Hash O valor final da “variável de encadeamento” é o valor da função Hash. Como normalmente b > n, daí o termo função de compressão.

Requisitos para uma função Hash H pode ser aplicada a um bloco de dados de qualquer tamanho. H produz uma saída de comprimento fixo. H(x) é relativamente fácil de ser calcular para qualquer x, tornando as implementações de hardware ou software práticas.

Requisitos para uma função Hash Para qualquer valor h dado, é computacionalmente inviável encontrar x tal que H(x)=h. “resistência à primeira inversão” ou “propriedade unidirecional”

Requisitos para uma função Hash Computacionalmente inviável é diferente de matematicamente viável. Ou seja, algo pode ser computacionalmente inviável, mas ser matematicamente viável.

Requisitos para uma função Hash Para qualquer bloco de dados x, é computacionalmente inviável encontrar y diferente de x, tal que H(y) = H(x). Isto é conhecido como “resistência à segunda inversão” ou “resistência fraca à colisões”.

Colisões Uma função hash que mapeia nomes para inteiros de 0 a 15. Existe um colisão entre a chaves "John Smith" e "Sandra Dee".

Requisitos para uma função Hash É computacionalmente inviável encontrar qualquer para (x, y) tal que H(x) = H(y) . Isto é conhecido como “resistência forte à colisões”. Resistência da função Hash a um tipo de ataque conhecido como o “ataque do aniversário”.

Ataque do Aniversário Uma função Hash de 64 bits é usada. Uma mensagem M, não criptografada, é enviada por um remetente A para um destinatário B. Um oponente intercepta M e o H(M). O oponente gera várias variações de M, substituindo várias pequenas partes, assim formando pares de texto sobre M., mas mantendo o mesmo significado de M.

Ataque do Aniversário O oponente precisa encontrar uma mensagem M´, adulterada, tal que: H(M´) = H(M) para substituir M e enganar o receptor B. A probabilidade de sucesso é provado ser maior que 0,5. O oponente gera 2E(n/2) = 2E(64/2) =2E32 variações possíveis. Este é o esforço exigido, provado, para realizar uma ataque de força bruta num código de hash de tamanho n.

Ataque do Aniversário Se nenhuma combinação for encontrada, outras mensagens fraudulentas poderão ser geradas até que seja encontrada uma com o mesmo H(M). O oponente oferece a variação válida encontrada com o mesmo H(M), para o remetente A, para “assinatura”. Essa “assinatura” é anexada à variação fraudulenta para transmissão destinatário B.

Ataque do Aniversário B recebe M´ e H(M´) = H(M) e calcula o H(M´). Como H(M´) calculado é igual ao que B recebeu, B deduz que não houve alteração da mensagem, o que na realidade, é a mensagem M´ adulterada, e não a mensagem verdadeira M.

Ataque do Aniversário Conclusão O tamanho do código de Hash, n bits, deve ser substancial. A força de uma função Hash contra ataque de força bruta deve ser proporcional ao tamanho do código de Hash produzido pelo algoritmo.

Força do Código Hash 64 bits é fraca. MD5 com 128 bits foi encontrada uma colisão em 24 dias. 160 bits levaria-se mais de 4000 anos para se encontrar uma colisão. Mesmo 160 bits é, atualmente considerado fraco.

Força do Código Hash Para um código Hash de tamanho de n bits, o nível de esforço exigido, para força bruta, é dado por: Resistência à primeira inversão: 2E(n) Resistência fraca à colisões: 2E(n) Resistência forte à colisões: 2E(n/2)

Funções Hash bem conhecidas MD2, MD4, MD5 (resumem 128 bits) SHA-1 (Standard Hash Algorithm-1) (resume 128 bits) SHA-2 (Standard Hash Algorithm-2) (resume 256, 384, 512 bits) RIPEMD PANAMA TIGER

RIPEMD-160 RIPEMD-160 é um algoritmo de hash de 160 bits idealizado por Hans Dobbertin, Antoon Bosselaers, e Bart Preneel. É usado como uma substituição segura das chaves de 128 bits MD4, MD5 e RIPEMD. http://pt.wikipedia.org/wiki/RIPEMD-160

Snefru (1990) 128 e 256 bits de saída http://en.wikipedia.org/wiki/Snefru

Haval (1992) 128 bits, 160 bits, 192 bits, 224 bits, and 256 bits. http://en.wikipedia.org/wiki/HAVAL

GOST (1994) Função criptográfica de Hash de 256- bit. http://en.wikipedia.org/wiki/Gost-Hash

Tiger (1995) 192 bits. http://en.wikipedia.org/wiki/Tiger_(hash)

PANAMA (1998) 256 bits Cifra de Fluxo http://en.wikipedia.org/wiki/Panama_(c ryptography)

SHA (1993) Secure Hash Algorithm A família de SHA (Secure Hash Algorithm) está relacionada com as funções criptográficas.

SHA-1 A função mais usada nesta família, a SHA-1, é usada numa grande variedade de aplicações e protocolos de segurança, incluindo TLS, SSL, PGP, SSH, S/MIME e IPSec. SHA-1 foi considerado o sucessor do MD5. Ambos tiveram vulnerabilidades comprovadas.

SHA-2 (2001) - variantes SHA-224, SHA-256, SHA-384, SHA-512, Projetado por U.S. National Security Agency (NSA) and publicado em 2001 pelo the NIST como um U.S. Federal Information Processing Standard (FIPS). SHA significa Secure Hash Algorithm. SHA-2 inclui um número significantes de mudanças a partir de seu predecessor SHA-1. http://en.wikipedia.org/wiki/SHA-256

SHA (256 ou maior) Em algumas correntes, é sugerido que o SHA-256 ou superior seja usado para tecnologia crítica.

Whirlpool (2000 à 2004) Whirlpool (às vezes referenciado como WHIRLPOOL) é uma função criptográfica de hashdesenvolvida pelo prof. Vincent Rijmen (belga) e o Prof. Paulo S. L. M. Barreto (brasileiro). A função foi recomendada pelo projeto New European Schemes for Signatures, Integrity and Encryption (NESSIE) (Europeu).

Whirlpool Foi também adotada pela Organização Internacional para Padronização(ISO) e pela Comissão Eletrotécnica Internacional (IEC) como parte do padrão internacional ISO 10118-3.

Whirlpool (2005) Vicent Rijmen (co-autor do algoritmo Rijndael, também conhecido como AES)1 e Paulo Barreto (pesquisador brasileiro)2 criaram três versões do WHIRLPOOL. Os primeiros programas de criptografia a usarem o Whirlpool foram FreeOTFE e TrueCrypt em 2005.

Whirlpool (2005) Os autores declararam que esse algoritmo "não é, e nunca será, patenteado e deve ser usado livre de custos para qualquer propósito. As referências para implementações estão em domínio público“.

Calculadores Hash HashCalc http://www.slavasoft.com/hashcalc/index.h tm ADLER 32 HASH CALCULATOR http://www.md5calc.com/adler32