Curso de Especialização
em Segurança Cibernética
UNIDADE 4
Noções de Hashing e
OBJETIVOS:
assinaturas digitais
Mostrar ao estudante o que está por trás de uma
[Link]ções de Hashing e assinatura digital assinatura digital e sua relação com o conceito de
Hashing.
Unidade 4 - Noções de Hashing e assinaturas digitais
4.1. Noções de Hashing e assinatura digital
Um dos pontos importantes na criptografia é manter a integridade • É uma operação eficiente, no que diz respeito a complexidade;
do conteúdo da mensagem, chamada também de autenticação • Os valores dos dados de entrada serão sempre equivalente
da mensagem. Outro ponto importante são as assinaturas aos dados de saída, em termos de tamanho;
digitais, as quais servem para validar a envio da menagem por um
determinado emissor (no nosso caso, estamos utilizando Alice Propriedades da função Hash
como exemplo de emissor). Mas para isso, é necessário conhecer
um pouco sobre o conceito de hash. • É uma função unidirecionada, ou seja, a função hash recebe
uma entrada (m) e calculada uma cadeia de tamanho fixo (aqui
Funções de hash criptográficas denotada por H(m)). Logo, se (m, H(m)) é a mensagem e o hash
da mensagem criados pelo emissor, um determinado invasor
A função Hash é um algoritmo na criptografia. Ela tem por finalidade não pode forjar os conteúdos de uma outra mensagem y, que
transformar algum dado (texto, senha, etc.) em um conjunto possua o mesmo hash da mensagem original. Resumindo,
alfanumérico, de tamanho (comprimento) fixo de caracteres. é improvável que, dadas duas mensagens diferentes (aqui
denominadas de x e y) tenham um H(x)=H(y);
Em resumo: A função Hash é utilizada para manter a integridade • Não podem existir dois valores de entrada coma a mesma
de arquivos, garantir que senhas sejam seguras e manter a saída, mesmo se os dados forem semelhantes;
integridade de arquivos armazenados em um determinado local.
Como em geral, esse conjunto alfanumérico é bastante complexo, Exemplo:
pode se dizer que o hash é quase indecifrável, sendo utilizado
como meio para garantir a segurança no ramo das criptomoedas, • Voitto: 494009d6ad36e1caa1b05e7cc98ab48f
por exemplo. Seria um sistema anti-hacker, embora alguns poucos • Voitto: 9c316fd682936ef2b7a7a8716e44eecf
(SHA-0, MD5, RIPMED) tenham sido quebrados e já não são mais
utilizados pelos principais sistemas de segurança cibernéticos. Perceba que são entradas “iguais”, mas com hashes totalmente
diferentes.
Carcaterísticas da função Hash
• Ele também é resistente à colisão, que é uma forma diferente
A função Hash possui três características principais: de expressar o mesmo que fora dito na propriedade acima, ou
seja, não podem haver duas entradas diferentes com o mesmo
• Saídas de tamanho fixo, independente do tamanho do arquivo hash.
de entrada;
Unidade 4 - Noções de Hashing e assinaturas digitais
Exemplos de algoritmos criptográficos de hash • Geradores pseudoaleatórios e geração de chaves.
Alguns exemplos de algoritmos da função hash são:
[SAIBA MAIS]
• Message Digest (MD);
• Secure Hash Algoritm (SHA); Leia o capítulo 5 do livro "Segurança de Dados: criptografia
• RIPMED; em rede de computador
• Whirlpool.
Atualmente, o RIPMED fora substituído por sua versão mais forte
Assinatura Digital
e o SHA possui algmas variantes bastante usadas atualmente
que são o SHA-0, SHA-1, SHA-2 e SHA-3.
No decorrer do dia assinamos muito documentos à mão. Tais
assinaturas servem para dar veracidade e dizer que se concorda
Vulnerabilidade e Problemas
com aquilo que está escrito ou que é verdade o que está escrito
em determinado local. Nesse sentido, a assinatura digital é um
Alguns dos algoritmos apresentados acima apresentaram
algoritmo criptográfico que desempenha esse papel no mundo
vulnerabilidade em sua função e foram substituídos para versões
digital.
mais fortes.
Assim, no mundo digital deve ser possível verificar que o
documento assinado por alguém foi de fato assinado por esse
• MD5 e SHA-1 apresentaram problemas de colisão, o que os levou
alguém e que somente ele pode ter assinado aquele documento
a serem substituídos, já que eram utilizados principalmente
(assinatura não é falseável).
em sistemas de armazenamento de senhas;
Como a assinatura é criada e sua verificação é feita pode ser visto
• Há sites que permitem encontrar o hash de funções mais
no livro abaixo
simples, que são calculados de forma padrão e armazenado em
sites de buscas. Daí a necessidade de uma escolha criteriosa
para a função;
[SAIBA MAIS]
Aplicações
Leia o capítulo 6 do livro "Segurança de Dados: criptografia
Os algoritmos de criptografia baseados na função na função hash em rede de computador
possui várias aplicações importantes, dentre elas:
• Assinaturas digitais;
• Verificação de armazenamento de arquivos ou mensagens;
• Verificação de Senha;
• Prova de Trabalho;