Trechos de mensagens e assinaturas digitais

O trecho da mensagem é uma representação numérica de tamanho fixo do conteúdo de uma mensagem. O trecho da mensagem é calculado por uma função hash e pode ser criptografado, formando uma assinatura digital.

A função hash usada para calcular uma trecho da mensagem deve atender a dois critérios:
  • Ela deve ser de uma maneira. Não deve ser possível reverter a função para encontrar a mensagem correspondente a um trecho de mensagem específico, a não ser testando todas as mensagens possíveis.
  • Deve ser computacionalmente impossível encontrar duas mensagens que executem hash para a mesma compilação.

A compilação de mensagens é enviada junto com a própria mensagem. O destinatário pode gerar uma compilação para a mensagem e compará-la com a compilação do emissor. A integridade da mensagem é verificada quando os dois trechos da mensagem são os mesmos. Qualquer violação da mensagem durante a transmissão quase certamente resultará em uma compilação de mensagem diferente.

Um trecho da mensagem criado usando uma chave simétrica secreta é conhecido como um código de autenticação de mensagem (MAC), pois ele pode fornecer garantia de que a mensagem não foi modificada.

O emissor pode também gerar um trecho da mensagem e, em seguida, criptografar a compilação usando a chave privada de um par de chaves assimétricas, formando uma assinatura digital. A assinatura deve, então, ser decriptografada pelo receptor, antes de compará-la com uma compilação gerada localmente.