Partilhar via


Assinaturas Digitais

As assinaturas digitais podem ser usadas para distribuir uma mensagem em 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 string de assinatura digital que você pode empacotar com a mensagem ou transmitir separadamente. Uma assinatura digital é um pequeno pedaço de dados que é criptografado com a chave privada do remetente. Descriptografar os dados da 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. Uma 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.

gerar 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 comoresumo de mensagens) a partir da mensagem. Esse valor de hash é então assinado, usando a chave privada do signatário. Segue-se uma ilustração dos passos envolvidos na criação de uma assinatura digital.

criar uma assinatura digital a partir de uma mensagem

Para verificar uma assinatura, tanto a mensagem quanto 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 é então verificado em relação à assinatura usando a chave pública do signatário. Se o valor de hash e a assinatura corresponderem, você pode ter certeza de que a mensagem é realmente a que o signatário assinou originalmente e que não foi adulterada. O diagrama a seguir ilustra o processo envolvido na verificação de uma assinatura digital.

verificar 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 . Vários desses algoritmos são listados mais adiante 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 difiram apenas por um único bit. Usando a tecnologia atual, não é viável descobrir um par de mensagens que se traduzem para o mesmo valor de hash sem quebrar o algoritmo de hash.
  • Cada vez que uma determinada mensagem é colocada em 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.