Uma chave pública pode ser usada para descriptografar uma mensagem criptografada pela chave privada correspondente?

21

Pelo que vi sobre o uso de um par de chaves públicas e privadas, a chave pública é usada para criptografar uma mensagem e a chave privada é usada para descriptografar a mensagem criptografada.

Se uma mensagem é criptografada pela chave privada, ela pode ser descriptografada pela chave pública correspondente?

Se sim, você pode dar alguns exemplos de quando esse caso é usado?

Obrigado.

Tim
fonte
Por que você o criptografaria se a chave de descriptografia fosse pública?
Bergi
5
@Bergi Digital signature?
user11153
6
@ Bergi: A resposta longa: Ao criptografar uma mensagem com sua chave privada de uma maneira que possa ser descriptografada com sua chave pública, você pode enviar uma mensagem que pode ser lida por qualquer pessoa, mas só pode ter sido escrita por você. Ao criptografar com sua chave privada primeiro e depois com a chave privada do destinatário, você cria uma mensagem que só pode ser descriptografada pelo destinatário e só pode ter sido gravada por você.
precisa saber é o seguinte
2
@ gnasher729 Acho que você quis dizer criptografar com sua chave privada primeiro e depois com a chave pública do destinatário . Você não deveria ter a chave privada de outra pessoa
kiamlaluno

Respostas:

49

P: Se você pedalar para trás em um peixe, ele recua?
UMA: ???

Um peixe não é uma bicicleta. Da mesma forma, você não pode usar uma chave privada para criptografar uma mensagem ou uma chave pública para descriptografar uma mensagem. Eles não têm o equipamento certo.

Com o RSA , que é um sistema de criptografia de chave pública popular, mas não o único, a chave privada e a chave pública têm as mesmas propriedades matemáticas, portanto, é possível usá-las de forma intercambiável nos algoritmos. (Porém, eles não têm as mesmas propriedades de segurança - a chave pública geralmente é fácil de ser adivinhada a partir da chave privada.) Você pode usar um algoritmo de criptografia RSA e alimentá-lo com uma chave privada ou um algoritmo de descriptografia RSA e alimentá-lo com um público chave. No entanto, os resultados não são significativos de acordo com os algoritmos padrão.

Essa simetria entre chaves públicas e chaves privadas não se estende à maioria dos outros sistemas de criptografia de chave pública. Em geral, a chave pública não é o tipo certo de objeto matemático a ser usado no algoritmo de descriptografia e a chave privada não é o tipo certo de objeto matemático a ser usado no algoritmo de criptografia.

Dito isto, os sistemas de criptografia de chave pública são baseados no conceito de funções de alçapão . Uma função unidirecional é uma função fácil de calcular, mas cujo inverso é difícil de calcular. Uma função de alçapão é como uma função unidirecional, mas existe um valor "mágico" que facilita a computação do inverso.

Se você tem uma função de alçapão, pode usá-la para criar um algoritmo de criptografia de chave pública: daqui para frente (na direção mais fácil), a função criptografa; retrocedendo (na direção difícil), a função descriptografa. O valor mágico necessário para descriptografar é a chave privada.

Se você tem uma função de alçapão, também pode usá-la para criar um algoritmo de assinatura digital : retrocedendo (na direção mais difícil), a função assina ; daqui para frente (na direção fácil), a função verifica uma assinatura. Mais uma vez, o valor mágico necessário para assinar é a chave privada.

As funções de alçapão geralmente vêm em famílias; os dados necessários para especificar um elemento específico da família é a chave pública.

Embora a criptografia de chave pública e as assinaturas digitais sejam baseadas nos mesmos conceitos, elas não são estritamente idênticas. Por exemplo, a função trapdoor RSA baseia-se na dificuldade de desfazer uma multiplicação, a menos que você já conheça um dos fatores. Existem duas famílias comuns de esquemas de criptografia de chave pública baseados no RSA , conhecidas como PKCS # 1 v1.5 e OAEP. Também existem duas famílias comuns de esquemas de assinatura digital baseados no RSA, conhecidas como PKCS # 1 v1.5 e PSS. Os dois "PKCS # 1 v1.5" são de modelos semelhantes, mas não são idênticos. Esta resposta de Thomas Pornin e de Maarten Bodewes entra em alguns detalhes da diferença entre assinatura / verificação e descriptografia / criptografia no caso da RSA.

Observe que algumas apresentações leigas de criptografia de chave pública mascaram a assinatura digital e a verificação como descriptografia e criptografia, por razões históricas: o RSA foi popularizado primeiro e a operação principal do RSA é simétrica. (A operação principal do RSA, conhecida como "livro de texto RSA", é uma das etapas do algoritmo de assinatura / verificação / criptografia / descriptografia da RSA, mas não constitui em si um algoritmo de assinatura, verificação, criptografia ou descriptografia.) são simétricos da exibição de 10.000 pés, mas não são simétricos quando você entra nos detalhes.

Veja também Redução de assinaturas para criptografia? , o que explica que você pode criar um esquema de criptografia a partir de um esquema de assinatura, mas apenas sob certas condições.

Gilles 'SO- parar de ser mau'
fonte
2
+1 por explicar claramente um equívoco que eu nem sabia que tinha ao clicar nesta pergunta.
Ixrec
1
Obrigado. "a chave pública não é o tipo certo de objeto matemático a ser usado no algoritmo de descriptografia, e a chave privada não é o tipo certo de objeto matemático a ser usado no algoritmo de criptografia". Você quer dizer que eles ainda podem ser usados ​​para esses fins, mas não são boas opções ou não podem ser? Quais propriedades matemáticas que decidem que não são do tipo "certo", além das propriedades de segurança (por exemplo, assimetria na dureza para adivinhar uma chave da outra)?
Tim
2
Cortaria os dois primeiros parágrafos, mas, caso contrário, essa é uma resposta muito perspicaz. Eu vim aqui da explicação de um leigo sobre criptografia / descriptografia e assinatura / verificação e como a chave privada poderia ser usada para "criptografar", e sua resposta esclareceu exatamente o que eu estava pensando.
precisa
Portanto, este artigo está incorreto: globalsign.com/en/blog/how-do-digital-signatures-work ? Menciona que uma chave pública é usada para descriptografia e a chave privada é usada para criptografia
Kenneth Worden
@KennethWorden É principalmente correto, mas alguns dos detalhes estão errados. Em "Aplicando a assinatura", "o hash é criptografado" deve ser "o hash é assinado " e somente isso faz a assinatura digital. E em “Verificando a Assinatura”, não existe um hash descriptografado: para a maioria dos esquemas de assinaturas, não é possível recuperar o hash da assinatura. O que acontece é que há uma operação matemática diferente (chamada verificação) que considera o hash e a assinatura como entradas e saídas "ok" ou "ruins".
Gilles 'SO- stop be evil'
6

Quando o esquema PKE usa uma permutação de alçapão como uma caixa preta , "criptografar" com a chave privada seguida de "descriptografar" com a chave pública produzirá a mensagem original. Para outros esquemas de PKE, não se pode necessariamente fazer sentido disso. (Por exemplo, tentar "criptografar" com a chave privada pode ser um erro de tipo .)

[Criptografar uma mensagem "pela chave privada" seguida de descriptografia "pela chave pública correspondente"] é usada quando as pessoas pensam que o caso é de assinaturas digitais e não é corrigido a tempo. Veja esta resposta e esta pergunta .

Comunidade
fonte
4
Não. Você está perpetuando os mitos de que o livro-texto RSA é o único sistema de criptografia de chave pública e que a assinatura é a mesma coisa que descriptografia.
Gilles 'SO- stop being evil'
O primeiro é um ponto excelente, que vou consertar. A última parte do seu comentário deve-se ao fato de minha sentença longa não estar suficientemente clara?
4
Não entendo o que você quer dizer com "quando as pessoas pensam que é para assinaturas digitais". Parece que você está dizendo que as pessoas acreditam erroneamente que as assinaturas digitais são diferentes da criptografia de chave pública. Vindo de você, tenho certeza de que não foi isso que você quis dizer, mas sua resposta é realmente confusa, mesmo depois de adicionar o primeiro parágrafo.
Gilles 'SO- stop be evil'
2

Sim, uma mensagem criptografada usando chave privada pode ser descriptografada usando a chave pública.

De fato, isso é implementado para verificar a autenticidade dos dados. Na assinatura digital, uma pessoa criptografa o hash dos dados com sua chave privada. Qualquer pessoa pode descriptografar o mesmo com a chave pública disponível da pessoa e verificar a autenticidade dos dados.

Kevin Amipara
fonte
2
Você pode fazer isso com o sistema de criptografia RSA, mas não com todos os sistemas de criptografia de chave pública. O sistema criptográfico El-Gamal é diferente do esquema de assinatura El-Gamal, por exemplo. Veja também a resposta de Gilles
Lagarto discreto
Verdade isso. Eu estava tentando dar uma resposta direta, independentemente de algoritmos específicos @Discretelizard
Kevin Amipara
Obrigado por dar uma resposta direta.
jrahhali 5/12
0

Pense na chave pública em uma criptografia assimétrica como um bloqueio em vez de uma chave. O hacker que tem uma trava e uma caixa trancada com essa trava desbloqueia a caixa trancada? Claro que não, e para desbloquear essa caixa, você precisa da chave de bloqueio. Que nunca foi enviado em público, e somente o remetente o possui.

No entanto, a resposta é Sim : D é realmente possível para um hacker descriptografar a mensagem usando apenas a chave pública (trava e uma caixa trancada). Mas isso é extremamente difícil para qualquer computador hoje. Porque reverter essa mensagem criptografada usando essa chave pública é uma operação matemática muito difícil, especialmente quando essa chave é tão grande quanto o número de 2048 bits. A força da operação matemática depende da dureza da fatoração primária de um grande número.

Aqui está um bom vídeo explicando como o algoritmo RSA funciona https://www.youtube.com/watch?v=wXB-V_Keiu8

Mahmoud Zalt
fonte
0

A pergunta é válida em termos de eMRTD, em que a chave pública AA é usada para descriptografar a resposta de autenticação interna criptografada pela chave privada eMRTD. Faz parte da norma ICAO 9303.

MJR2022
fonte