Chaves GPG - Funcionamento

Iniciado por groove, 08 de Dezembro de 2011, 10:26

tópico anterior - próximo tópico

groove

Bom dia, após ler vários artigos sobre chaves GPG não consegui entender seu funcionamento, sua lógica. A partir deste trecho - obtido em http://www.hardware.com.br/livros/entendendo-linux/chaves-autenticacao.html - explicando o funcionamento do GPG, seguem minhas dúvidas:

Citar
O GPG é um sistema de encriptação composto de duas chaves, uma chave pública, que é distribuída abertamente e uma chave privada, que é secreta. A chave privada pode ser utilizada para encriptar arquivos, que podem ser desencriptados apenas usando a chave pública. Isto é feito através de um truque matemático: a chave privada é uma espécie de equação extremamente complexa, que embaralha o conteúdo dos arquivos. A chave pública é um antídoto para ela, que permite reverter os dados a seu estado original. Porém, é impossível descobrir o conteúdo da chave privada usando a chave pública e é também impossível fazê-lo via força bruta.

Com relação ao texto em negrito, se os arquivos podem ser criptografados utilizando a chave privada e descriptografados utilizando apenas a chave pública, esta afirmação não faz sentido uma vez que a chave pública é publica, qualquer um então poderá descriptografar os dados?

Ubuntu 18.04

zekkerj

Sim, é exatamente isso que quer dizer. Parece estranho, não? Mas é assim mesmo que funciona.

Mas então isso é inútil? Não, muito pelo contrário!!!

Essa operação é usada pra criar assinaturas digitais. Você pega a mensagem que quer assinar (e por mensagem, pode ser qualquer coisa: um arquivo, um programa, uma mensagem de correio eletrônico, uma senha, enfim, qualquer coisa), e passa ela por uma operação chamada "Hashing". O resultado dessa operação é um código chamado "Hash Digest". Depois você pega o Digest e criptografa com a sua chave privada. Daí você envia a mensagem, e envia junto o texto cifrado do Digest.

Quem recebe a mensagem, vai receber também o texto cifrado. Essa pessoa conhece a sua chave pública; ela então pega o texto cifrado, e usa a sua chave pública pra de-criptografá-lo, obtendo de volta o Digest. Ao mesmo tempo, ele pega a mensagem, e calcula o Hash Digest dela. Se os resultados são iguais, ela pode concluir duas coisas:

1. A mensagem que ele recebeu é igual à mensagem que vc enviou, pois os Digests são iguais;
2. A mensagem só pode ter sido enviada pela pessoa que tem a chave privada que é o par da chave pública que ele tem. Como ele sabe que essa chave pública é a sua chave pública, então ele sabe que só você pode ter criado a mensagem.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

zekkerj

Resumindo: tudo que é criptografado com a sua chave pública só pode ser aberto com a sua chave privada. Então se alguém quiser enviar uma coisa que só você pode ler, ele vai criptografar com a sua chave pública.

Ao mesmo tempo, tudo que é criptografado com sua chave privada só pode ser aberto com a sua chave pública. Então se vc tem um texto que pode ser aberto com a chave pública de alguém, é pq foi criado por esse alguém.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Darcamo

Claro que seguindo a mesma lógica nada impede que você encripte um arquivo usando a sua chave pública para que apenas você, que possui a chave privada, possa desencriptar.

groove

Entendido, muito legal este conceito de chaves assímetricas. Resumindo, a chave publica e a chave privada fazem parte de um todo, só é possível abrir algo criptografado se tiver as "duas partes".
Achei um link bastante interessante a quem interessar http://www.infowester.com/criptografia.php
Ubuntu 18.04

zekkerj

Citação de: groove online 02 de Abril de 2012, 18:57
Entendido, muito legal este conceito de chaves assímetricas. Resumindo, a chave publica e a chave privada fazem parte de um todo, só é possível abrir algo criptografado se tiver as "duas partes".
Achei um link bastante interessante a quem interessar http://www.infowester.com/criptografia.php
Não, groove... não é preciso ter as duas partes pra abrir algo criptografado. Vc precisa ter a parte certa.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

groove

É preciso ter uma parte pra criar e outra pra abrir, e ambas se completam, isso?
Ubuntu 18.04

zekkerj

Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D