Compartilhar via


Algoritmos de hash e assinatura

Os algoritmos a seguir calculam hashes e assinaturas digitais. Cada um desses algoritmos tem suporte nos provedores criptográficos Microsoft, Base, Strong e Enhanced. Os detalhes internos desses algoritmos estão além do escopo desta documentação. Para obter uma lista de fontes adicionais, consulte Documentação adicional sobre criptografia.

Algoritmos Descrição
Cipher Block Chaining (CBC) MAC
Um dos algoritmos (CALG_MAC) implementados pelos provedores da Microsoft é um MAC (Código de Autenticação de Mensagem) de cifra de bloco. Esse método criptografa os dados base com uma cifra de bloco e, em seguida, usa o último bloco criptografado como o valor de hash. O algoritmo de criptografia usado para criar o MAC é aquele que foi especificado quando a chave de sessão foi criada.
HMAC
Um algoritmo (CALG_HMAC) implementado por provedores da Microsoft. Esse algoritmo também usa uma chave simétrica para criar o hash, mas é mais complexo do que o algoritmo MAC simples de encadeamento de blocos de cifra (CBC). Ele pode ser usado com qualquer algoritmo de hash criptográfico iterado, como MD5 ou SHA-1. Para mais detalhes, consulte Criando um HMAC.
MD2, MD4 e MD5
Esses algoritmos de hash foram todos desenvolvidos pela RSA Data Security, Inc. Esses algoritmos foram desenvolvidos em ordem sequencial. Todos os três geram valores de hash de 128 bits. Todos os três são conhecidos por terem pontos fracos e só devem ser usados quando necessário para fins de compatibilidade. Para o novo código, recomendamos a família de hashes SHA-2.
Esses algoritmos são bem conhecidos e podem ser revisados em detalhes em qualquer referência sobre criptografia.
Código de autenticação de mensagem (MAC)
Os algoritmos MAC são semelhantes aos algoritmos de hash, mas são calculados usando uma chave simétrica (sessão). A chave de sessão original é necessária para recalcular o valor de hash. O valor de hash recalculado é usado para verificar se os dados base não foram alterados. Esses algoritmos às vezes são chamados de algoritmos de hash com chave. Para ver quais provedores da Microsoft dão suporte ao MAC, consulte Provedores de Serviços Criptográficos da Microsoft.
Algoritmo de Hash de Assinatura (SHA-1)
Este algoritmo de hashing foi desenvolvido pelo Instituto Nacional de Padrões e Tecnologia (NIST) e pela Agencia de Segurança Nacional (NSA). Este algoritmo foi desenvolvido para uso com DSA (Digital Signature Algorithm) ou DSS (Digital Signature Standard). Esse algoritmo gera um valor de hash de 160 bits. O SHA-1 é conhecido por ter pontos fracos e só deve ser usado quando necessário para fins de compatibilidade. Para o novo código, recomendamos a família de hashes SHA-2.
Secure Hash Algorithm - 2 (SHA-2)
Este algoritmo de hash foi desenvolvido como sucessor do SHA-1 pelo Instituto Nacional de Padrões e Tecnologia (NIST) e pela Agência de Segurança Nacional (NSA). Ele tem quatro variantes - SHA-224, SHA-256, SHA-384 e SHA-512 - que são nomeadas de acordo com o número de bits em suas saídas. Destes, SHA-256, SHA-384 e SHA-512 são implementados no Microsoft AES Cryptographic Provider.
Algoritmo de autorização do cliente SSL3
Esse algoritmo é usado para autenticação de cliente SSL3. No protocolo SSL3, uma concatenação de um hash MD5 e um hash SHA é assinada com uma chave privada RSA. O CryptoAPI 2.0 e os provedores criptográficos base e aprimorados da Microsoft dão suporte a isso com o tipo de hash CALG_SSL3_SHAMD5. Para obter mais informações, consulte Criando um hash CALG_SSL3_SHAMD5.