Compartilhar via


Assinaturas Digitais

Assinaturas digitais podem ser usadas para distribuir uma mensagem em formulário de texto sem formatação quando os destinatários devem identificar e verificar o remetente da mensagem. Assinar uma mensagem não altera a mensagem; ele simplesmente gera uma cadeia de caracteres de assinatura digital que você pode agrupar com a mensagem ou transmitir separadamente. Uma assinatura digital é um pequeno pedaço de dados criptografado com a chave privada do remetente. Descriptografar os dados de assinatura usando a chave pública do remetente prova que os dados foram criptografados pelo remetente ou por alguém que teve acesso à chave privada do remetente.

As assinaturas digitais são geradas usando chave pública algoritmos de assinatura. Um chave privada gera a assinatura e a chave pública correspondente deve ser usada para validar a assinatura. Esse processo é mostrado na ilustração a seguir.

gerando uma assinatura digital

Há duas etapas envolvidas na criação de uma assinatura digital a partir de uma mensagem. A primeira etapa envolve a criação de um valor dede hash(também conhecido como de resumo de mensagens) da mensagem. Esse valor de hash é assinado usando a chave privada do signatário. Veja a seguir uma ilustração das etapas envolvidas na criação de uma assinatura digital.

criar uma assinatura digital de uma mensagem

Para verificar uma assinatura, a mensagem e a assinatura são necessárias. Primeiro, um valor de hash deve ser criado a partir da mensagem da mesma forma que a assinatura foi criada. Esse valor de hash é verificado na assinatura usando a chave pública do signatário. Se o valor de hash e a assinatura corresponderem, você poderá ter certeza de que a mensagem é, de fato, a que o signatário assinou originalmente e que ela não foi adulterada. O diagrama a seguir ilustra o processo envolvido na verificação de uma assinatura digital.

verificando uma assinatura digital

Um valor de hash consiste em uma pequena quantidade de dados binários, normalmente em torno de 160 bits. Isso é produzido usando um algoritmo de hash . Alguns desses algoritmos são listados posteriormente nesta seção.

Todos os valores de hash compartilham as seguintes propriedades, independentemente do algoritmo usado:

  • O comprimento do valor de hash é determinado pelo tipo de algoritmo usado e seu comprimento não varia com o tamanho da mensagem. Os comprimentos de valor de hash mais comuns são de 128 ou 160 bits.
  • Cada par de mensagens não idênticas se traduz em um valor de hash completamente diferente, mesmo que as duas mensagens diferem apenas por um único bit. Usando a tecnologia atual, não é viável descobrir um par de mensagens que se traduzem no mesmo valor de hash sem quebrar o algoritmo de hash.
  • Sempre que uma mensagem específica é hash usando o mesmo algoritmo, o mesmo valor de hash é produzido.
  • Todos os algoritmos de hash são unidirecionais. Dado um valor de hash, não é possível recuperar a mensagem original. Na verdade, nenhuma das propriedades da mensagem original pode ser determinada apenas pelo valor de hash.