Chaves assimétricas
de chaves assimétricas, também conhecidas como pares de chaves públicas/privadas, são usadas para criptografia assimétrica. A criptografia assimétrica é usada principalmente para criptografar e descriptografar chaves de sessão e assinaturas digitais. A criptografia assimétrica usa algoritmos de criptografia de chave pública.
Algoritmos de chave pública usam duas chaves diferentes: uma chave pública e uma chave privada . O membro da chave privada do par deve ser mantido privado e seguro. A chave pública, no entanto, pode ser distribuída para qualquer pessoa que a solicite. A chave pública de um par de chaves geralmente é distribuída por meio de umde certificado digital. Quando uma chave de um par de chaves é usada para criptografar uma mensagem, a outra chave desse par é necessária para descriptografar a mensagem. Portanto, se a chave pública do usuário A for usada para criptografar dados, somente o usuário A (ou alguém que tenha acesso à chave privada do usuário A) poderá descriptografar os dados. Se a chave privada do usuário A for usada para criptografar um pedaço de dados, somente a chave pública do usuário A descriptografará os dados, indicando que o usuário A (ou alguém com acesso à chave privada do usuário A) fez a criptografia.
Se a chave privada for usada para assinar uma mensagem, a chave pública desse par deverá ser usada para validar a assinatura. Por exemplo, se Alice quiser enviar uma mensagem assinada digitalmente, ela assinaria a mensagem com sua chave privada, e a outra pessoa poderia verificar sua assinatura usando sua chave pública. Como, presumivelmente, apenas Alice tem acesso à sua chave privada, o fato de que a assinatura pode ser verificada com a chave pública de Alice indica que Alice criou a assinatura.
Infelizmente, os algoritmos de chave pública são muito lentos, aproximadamente 1.000 vezes mais lentos que algoritmos simétricos. É impraticável usá-los para criptografar grandes quantidades de dados. Na prática, algoritmos de chave pública são usados para criptografar chaves de sessão. algoritmos simétricos são usados para criptografia/descriptografia da maioria dos dados.
Da mesma forma, como assinar uma mensagem, na verdade, criptografa a mensagem, não é prático usar algoritmos de assinatura de chave pública para assinar mensagens grandes. Em vez disso, um de hash de comprimento fixo é feito da mensagem e o valor de hash é assinado. Para obter mais informações, consulte hashes e assinaturas digitais.
Cada usuário geralmente tem dois pares de chaves públicas/privadas. Um par de chaves é usado para criptografar chaves de sessão e a outra para criar assinaturas digitais. Eles são conhecidos como o par de chaves de troca de chaves e o par de chaves de assinatura , respectivamente.
Observe que, embora os principais contêineres criados pela maioria dos provedores de serviços criptográficos (CSPs) contenham dois pares de chaves, isso não é necessário. Alguns CSPs não armazenam nenhum pares de chaves enquanto outros CSPs armazenam mais de dois pares.
Todas as chaves no CryptoAPI são armazenadas em CSPs. Os CSPs também são responsáveis por criar as chaves, destruí-las e usá-las para executar uma variedade de operações criptográficas. A exportação de chaves para fora do CSP para que possam ser enviadas a outros usuários é discutida em Armazenamento de Chaves Criptográficas e exchange.