Como é a chave pública usada para descriptografar em .NET montagens?

StackOverflow https://stackoverflow.com/questions/670615

  •  21-08-2019
  •  | 
  •  

Pergunta

NET assembléias assinados contêm a chave pública, mas a chave pública é usada para criptografia de RSA, então como é que .NET usa a chave pública para a descodificação de conjuntos assinados?

Ok, os conjuntos assinados contêm o hash, mas o hash é criptografada usando a chave privada e não a chave pública. Então, por que e como em chaves privadas .NET são usadas para criptografia e chaves públicas para descriptografia. Quero dizer, que todos os softwares como RSACryptoPad usa a chave pública para criptografia e não para a descodificação.

Foi útil?

Solução

O par de chaves pública-privada não é usada para criptografar toda a assembléia. Em vez disso, é usado para sinal do conjunto.

Simplificando um pouco, para assinar um arquivo - como um conjunto - você tomar um hash do arquivo e, em seguida, ECRYPT que hash com sua chave privada. Alguém usando o arquivo verifica sua assinatura, fazendo um hash do arquivo de si e, em seguida, descriptografar o hash criptografado usando sua chave pública e confirmando esses dois hashes são os mesmos. Isto prova duas coisas:

  1. A montagem é de que é reivindicações a ser de - ou seja você -. Como ele foi produzido com a sua chave privada
  2. A montagem não foi alterado por outra pessoa como o hash que fez quando lançou a montagem é o mesmo que o atual. Ninguém pode alterar a assinatura de montagem, uma vez que também teria que fazer alterações para o hash criptografado que requer a sua chave privada correspondente.

Há muito mais detalhes sobre assinaturas digitais em este artigo Wikipedia .

A grande coisa sobre pares de chaves públicas e privadas é que eles funcionam de qualquer maneira ao redor. Então, alguma coisa criptografada com sua chave privada só pode ser decifrada com a chave pública, mas também algo criptografado com sua chave pública pode ser decifrada com sua chave privada. Este último significa uso que se alguém quiser enviar algo para você e somente você, em seguida, em seguida, pode criptografá-lo com sua chave pública disponível gratuitamente, mas eles sabem só você com sua chave privada pode decifrá-lo.

Como as chaves único trabalho como um par - tornando a criptografia assimétrica - alguém pode 't simplesmente reverter a criptografia que eles fizeram com a chave pública para obter a mensagem para você.

Outras dicas

A idéia é que uma assinatura só pode ser criado utilizando o chave, mas depois que qualquer pessoa com uma cópia do público chave privada pode validate a assinatura. Não descriptografia é necessário para uma assinatura -. A assinatura é simplesmente adicionada ao texto simples montagem

O objetivo da assinatura montagens é para verificar a sua fonte. Se eu assinar meu assembly, em seguida, enviá-lo para você, você deve estar razoavelmente certo de que do seu veio de mim e não foi adulterado ao longo do caminho.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top