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.