Algoritmos de hash e assinatura

Os algoritmos a seguir calculam hashes e assinaturas digitais. Cada um desses algoritmos tem suporte nos Provedores Criptográficos Da Base da Microsoft, Fortes e Avançados. 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
MAC de Encadeamento de Blocos de Criptografia (CBC)
Um dos algoritmos (CALG_MAC) implementados pelos provedores da Microsoft é um MAC (Código de Autenticação de Mensagem de Criptografia de Bloco). Esse método criptografa os dados base com uma criptografia de bloco e usa o último bloco criptografado como o valor de hash . O algoritmo de criptografia usado para compilar o MAC é aquele que foi especificado quando a chave de sessão foi criada.
HMAC
Um algoritmo (CALG_HMAC) implementado pelos provedores da Microsoft. Esse algoritmo também usa uma chave simétrica para criar o hash, mas é mais complexo do que o algoritmo MAC CBC ( Encadeamento de Blocos de Criptografia ) simples. Ele pode ser usado com qualquer algoritmo de hash criptográfico iterado, como MD5 ou SHA-1. Para obter 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 fraquezas e só devem ser usados quando necessário para fins de compatibilidade. Para um novo código, recomendamos a família SHA-2 de hashes.
Esses algoritmos são bem conhecidos e podem ser revisados detalhadamente 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 recompor o valor de hash. O valor de hash recomputado é usado para verificar se os dados base não foram alterados. Esses algoritmos às vezes são chamados de algoritmos keyed-hash. Para ver quais provedores da Microsoft dão suporte ao MAC, consulte Provedores de Serviços Criptográficos da Microsoft.
Algoritmo de hash seguro (SHA-1)
Esse algoritmo de hash foi desenvolvido pelo Instituto Nacional de Padrões e Tecnologia (NIST) e pela Agência Nacional de Segurança (NSA). Esse algoritmo foi desenvolvido para uso com DSA (Algoritmo de Assinatura Digital) ou DSS (Digital Signature Standard). Esse algoritmo gera um valor de hash de 160 bits. O SHA-1 é conhecido por ter fraquezas e só deve ser usado quando necessário para fins de compatibilidade. Para um novo código, recomendamos a família SHA-2 de hashes.
Algoritmo de hash seguro – 2 (SHA-2)
Esse algoritmo de hash foi desenvolvido como sucessor do SHA-1 pelo Instituto Nacional de Padrões e Tecnologia (NIST) e pela Agência Nacional de Segurança (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 Provedor Criptográfico do Microsoft AES.
Algoritmo de autorização de 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 avançados e base 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.