Usando GPG, criptografe um arquivo com chave privada

Usando GPG, criptografe um arquivo com chave privada

Estou configurando um sistema para atualizar software em um dispositivo e gostaria de criptografar os arquivos de atualização usando uma chave privada que criei e depois descriptografá-los com a chave pública. Todos os exemplos que encontrei criptografados com a chave pública do destinatário, quero criptografar com minha chave privada. Já vi exemplos de Bob e Alice que usam criptografia de um arquivo com sua chave privada e depois com a chave pública do destinatário, mas não consigo descobrir como fazer a criptografia da chave privada.

Responder1

Não é assim que o GPG funciona.

Você criptografa um arquivo com uma chave pública (pode ser sua) e descriptografa-o com uma chave privada.

Portanto, se você compartilhar sua chave pública na Internet, qualquer pessoa poderá criptografar um arquivo com sua chave pública, mas você será o único capaz de descriptografá-lo.

Ver :http://www.dewinter.com/gnupg_howto/english/GPGMiniHowto-1.html

Responder2

Pergunta antiga, mas... me deparei com ela procurando outra coisa.

O que você realmente quer aqui não é criptografar o arquivo, mas criar uma verificação de que você é a origem do arquivo. Este é o propósito das assinaturas de arquivos.

Uma ideia básica rápida de como funciona a criptografia de chave pública: Criptografar algo com sua chave privada só pode ser descriptografado por sua chave pública. Criptografar algo com sua chave pública só pode ser descriptografado por sua chave privada. (Por que isso acontece é algo além do escopo desta resposta.)

Em operação normal, se alguém quiser enviar uma mensagem para você, ele a criptografa com sua chave pública, pois somente sua chave privada pode descriptografá-la.

Uma assinatura gera um hash unidirecional do arquivo/dados e inverte as funções das chaves pública e privada: qualquer pessoa com sua chave pública pode descriptografar o hash e pode ter certeza de que apenas você gerou o criptografado, porque apenas seu privado chave pode ser usada para criptografá-lo em primeiro lugar.

O hash é usado para verificar se o arquivo não foi adulterado desde que você o assinou. Quaisquer alterações no arquivo alterarão seu hash e deixarão claro que ele foi alterado. Como eles não possuem sua chave privada, eles não podem gerar uma nova assinatura do novo hash para descriptografar com sua chave pública.

Muitos sistemas usam esse método para assinar arquivos de soma de verificação/hash de outros arquivos, garantindo que os arquivos com essas somas de verificação/hashes sejam autênticos.

Você também pode combinar criptografia de dados/arquivos e assiná-los, garantindo que os dados criptografados não possam ser descriptografados por ninguém além do destinatário pretendido e que nenhum dos dados criptografados tenha sido adulterado.

"Sob o capô", é assim que o GPG e os programas relacionados funcionam. É muito caro do ponto de vista computacional criptografar os dados usando os dados principais. Em vez disso, eles geram uma "senha de uso único" (OTP) aleatória para criptografar com um método de criptografia muito mais rápido. Em seguida, a senha é criptografada com as chaves dos destinatários pretendidos e enviada junto com os dados criptografados. Como apenas suas chaves privadas podem descriptografar a senha usada para criptografar os dados, você tem uma garantia razoável de que ninguém mais pode.

Nota final: a criptografia está sempre em constante mudança. O que é “razoável” ou “garantido” enquanto escrevo isto pode ser invalidado amanhã se alguém descobrir uma fraqueza em um dos algoritmos usados.

informação relacionada