sexta-feira, 19 de dezembro de 2008

HASH e Assinatura Digital

Pela teoria, HASH é a transformação de uma grande quantidade de informações em uma pequena quantidade de informações, essa transformação é realizada através de um algoritmo de dispersão e representada na forma hexadecimal. O hash é utilizado para identificar alguma informação digital, pode ser ela um arquivo, uma mensagem, uma chave ou até mesmo um arquivo, ou seja, qualquer informação digital de forma única. É um método para transformar dados algo (quase) exclusivo, outra característica do hash é determinada pelas funções criptográficas utilizadas, através do hash não é possível obter a informação original.

Baseado nesses conceitos uma função hash deve ter as seguintes características: o valor de entrada pode ter qualquer tamanho, porém a saída tem tamanho fixo que pode ter 16 bytes, no caso dos algoritmos MD­2, MD­4 e MD­5 e 20 bytes no caso do algoritmo SHA­1, mas pode ter até 512 bytes; o algoritmo deve ser fácil de ser computado para qualquer informação; ser impossível de retornar a informação original a partir do hash; e ser livre de colisão, ou seja, deve garantir uma probabilidade mínima de que o hash criado a partir de informações diferentes, sejam iguais, assim, qualquer modificação na informação de entrada, mesmo de um único bit, deve afetar de forma significativa o valor de saída.

O conceito de assinatura digital é bem simples, consiste em criar uma hash da informação que se deseja assinar, em seguida com uma chave privada cifrar o hash e enviar a chave pública junto com a informação assinada. Quem recebe a informação assinada deve, com a chave pública do emissor, decifrar o hash, calcular novamente o hash da mensagem, e, se o hash enviado e o calculado forem iguais, significa que a assinatura é válida e que a mensagem não sofreu nenhuma alteração.

Divirtam-se
Allan

Um comentário:

  1. Boa tarde, otimas explicação mas surgiu uma dúvida, quando vc fala de Hash enviado vc fala os Dados do Cliente?? RG,CPF,NOME blabla ou os dados da empresa como no meu caso o BB. E como eu faria essa validação...nunca bate os valores.. :(

    Qualquer coisa estou nesse email: eliasbarrosl@gmail.com


    Obrigado

    ResponderExcluir