Gabarito E
Existem diversos métodos para assinar digitalmente documentos, e esses métodos estão em constante evolução. Porém, de maneira resumida, uma assinatura típica envolve dois processos criptográficos: o hash (resumo) e a encriptação deste hash.
Em um primeiro momento é gerado um resumo criptográfico da mensagem através de algoritmos complexos (exemplos: MD5, SHA-1, SHA-256), que reduzem mensagem a um resumo, de mesmo tamanho independente da mensagem original. A este resumo criptográfico dá-se o nome de hash.
Uma função de hash deve apresentar necessariamente as seguintes características:
Deve ser impossível encontrar a mensagem original a partir do hash da mensagem;
O hash deve parecer aleatório, mesmo que o algoritmo seja conhecido. Uma função de hash é dita forte se a mudança de qualquer bit na mensagem original resulta em um novo hash totalmente diferente;
Deve ser impossível encontrar duas mensagens diferentes que levam a um mesmo hash.
Neste ponto, o leitor mais atento percebe um problema: se as mensagens possíveis são infinitas, mas o tamanho do hash é fixo, é impossível impedir que mensagens diferentes levem a um mesmo hash. De fato, isto ocorre. Quando se encontram mensagens diferentes com hashs iguais, é dito que foi encontrada uma colisão de hashs e o algoritmo onde isso foi obtido, deve ser abandonado. As funções de hash estão em constante evolução para evitar que ocorram colisões. Cabe destacar porém que a colisão mais simples de encontrar é uma aleatória, ou seja, obter colisões com duas mensagens geradas aleatoriamente, sem significado real. Quando isto ocorre os estudiosos de criptografia já ficam atentos porém, para comprometer de maneira imediata a assinatura digital, seria necessário obter uma mensagem adulterada que tenha o mesmo hash de uma mensagem original fixa, o que é teoricamente impossível de ocorrer com os algoritmos atuais. Desta forma, garante-se a integridade da assinatura.
Após gerar o hash, ele deve ser criptografado através de um sistema de chave pública, para garantir a autenticação e a irretratabilidade. O autor da mensagem deve usar sua chave privadapara assinar a mensagem e armazenar o hash criptografado junto à mensagem original.
Para verificar a autenticidade do documento, deve ser gerado um novo resumo a partir da mensagem que está armazenada, e este novo resumo deve ser comparado com a assinatura digital. Para isso, é necessário descriptografar a assinatura obtendo o hash original. Se ele for igual ao hash recém gerado, a mensagem está íntegra. Além da assinatura existe o selo cronológico que atesta a referência de tempo à assinatura.
"Retroceder Nunca Render-se Jamais !"
Força e Fé !
Fortuna Audaces Sequitur !