Chaves, assinaturas e endereços · Aula 2 de 5
Criptografia de chave pública em termos simples
7 min de leitura
Duas chaves relacionadas com funções diferentes
A criptografia de chave pública é uma família de técnicas baseada em uma relação matemática entre duas chaves. Uma chave privada é uma informação secreta mantida por um signatário autorizado. Uma chave pública correspondente pode ser compartilhada para que outras partes verifiquem afirmações criptográficas feitas com a chave privada. Em redes de ativos digitais, a aplicação mais visível costuma ser uma assinatura digital, e não a criptografia. Um participante autoriza uma mensagem definida com uma chave privada, e qualquer pessoa que siga o protocolo pode verificar a assinatura resultante com a chave pública. A verificação não exige que o verificador possua, solicite ou reconstrua a chave privada. Essa separação permite a verificação aberta em sistemas nos quais muitas partes não se conhecem nem confiam umas nas outras.
Uma chave não é uma chave física, senha de conta, identidade legal ou saldo de tokens. É um valor usado por um algoritmo criptográfico. A chave privada deve ser escolhida dentro de um intervalo permitido e protegida contra divulgação. A chave pública é obtida por meio do cálculo definido pelo algoritmo. Uma implementação correta torna prático esse cálculo direto, mas torna computacionalmente inviável recuperar a chave privada a partir da chave pública, considerando as capacidades de ataque atualmente presumidas. As chaves públicas podem ser visíveis em transações ou armazenadas como parte das informações da conta, mas o momento e a forma da divulgação dependem da rede e do tipo de saída.
A intuição por trás da matemática assimétrica
A criptografia simétrica usa o mesmo segredo compartilhado para operações como criptografia e descriptografia. A criptografia de chave pública, ou assimétrica, usa informações públicas e privadas matematicamente vinculadas. Uma analogia simples usada em sala de aula é uma catraca unidirecional: é fácil passar no sentido permitido, mas muito difícil fazer o caminho inverso. A analogia é incompleta porque os esquemas reais são algoritmos precisos, com pressupostos, parâmetros e modos de falha. O que importa é que a verificação possa ser pública sem dar a cada verificador o poder de produzir assinaturas. Nunca use a analogia como prova de que a matemática subjacente é literalmente irreversível.
Curvas elípticas, brevemente
Muitas redes usam criptografia de curva elíptica, que realiza operações aritméticas em conjuntos de pontos escolhidos especialmente. Uma chave privada costuma ser representada como um número; a aplicação de uma operação definida com um ponto-base padrão produz uma chave pública. Os detalhes exigem conhecimentos de matemática que vão além deste módulo introdutório. Os alunos não precisam calcular pontos manualmente, mas devem saber que o nome de uma curva identifica parâmetros específicos, e não uma categoria genérica de marketing. Duas redes podem usar curvas ou métodos de assinatura diferentes, mesmo que ambas descrevam seus sistemas como “criptografia de chave pública”.
As assinaturas digitais tradicionais de curva elíptica do Bitcoin usam ECDSA com a curva secp256k1; seu design Taproot também oferece suporte a assinaturas Schnorr especificadas pela Bitcoin Improvement Proposal (BIP) 340. As contas controladas externamente do Ethereum normalmente usam ECDSA baseado em secp256k1 para autorizar transações. Os pares de chaves da Solana geralmente usam Ed25519, um sistema de assinatura de curva de Edwards. Esses são exemplos de escolhas técnicas distintas, não uma classificação de redes. O nome de um algoritmo, o nome de uma curva, a representação de uma chave pública e o formato de um endereço são fatos distintos que os analistas devem evitar combinar em um único rótulo.
O que a verificação pública estabelece
Se uma assinatura for validada para uma determinada mensagem e chave pública, o verificador terá evidências de que a assinatura foi produzida usando a capacidade de assinatura associada à chave privada correspondente, segundo os pressupostos do esquema. Isso não revela automaticamente o nome da pessoa, seu empregador, sua autoridade legal, sua intenção ou o motivo da assinatura. Uma chave pode ser operada por uma pessoa, um dispositivo, um serviço ou um grupo coordenado, e o acesso pode mudar com o tempo. Portanto, a autenticação de uma chave criptográfica não é o mesmo que a prova da identidade de uma pessoa ou da aprovação de uma organização. Uma alegação jurídica de atribuição exige fatos separados e a aplicação da lei pertinente.
Essa distinção é especialmente importante para gestores, investigadores e funcionários do setor público. Suponha que uma organização publique um endereço em um site público e, posteriormente, observe uma transação válida assinada com a chave associada a esse endereço. Isso prova algo específico sobre o controle da capacidade de assinatura no momento em que a mensagem foi autorizada; a declaração no site ainda pode estar equivocada, desatualizada ou não autorizada. Por outro lado, um funcionário pode ter tido acesso técnico legítimo, mas não ter autoridade para aprovar uma determinada transação. A capacidade técnica, a autorização organizacional e a responsabilidade legal devem ser avaliadas separadamente.
Geração de chaves e pressupostos de segurança
A robustez criptográfica não é determinada apenas pelo comprimento de uma chave em caracteres. O algoritmo, os parâmetros matemáticos, o processo de geração, a implementação e o manuseio são todos importantes. Uma representação hexadecimal de uma chave privada pode parecer mais curta do que uma longa sequência de caracteres que representa uma chave pública e, ainda assim, basear-se em um parâmetro de segurança escolhido pelo esquema. Nem um identificador que pareça longo nem um formato complicado garantem segurança adequada. A aleatoriedade é especialmente importante na geração de chaves secretas: se o processo de seleção for previsível, um invasor poderá reproduzir a chave privada apesar do uso de uma matemática que, de outra forma, seria sólida.
A NIST FIPS 186-5, Digital Signature Standard, especifica técnicas de assinatura, incluindo RSA, ECDSA e EdDSA. Isso não significa que a implementação ou curva específica de qualquer rede tenha aprovação da NIST apenas por pertencer a uma dessas famílias amplas. Os padrões se aplicam a algoritmos e configurações definidos. Da mesma forma, verificar a validade matemática de uma chave pública pode ser apenas uma parte da interpretação segura de uma mensagem recebida. O software do protocolo também precisa verificar a codificação da assinatura, a mensagem autorizada e as regras pertinentes da transação.
Chaves públicas, identidades e certificados
Na internet aberta, a infraestrutura de chave pública costuma usar certificados digitais para vincular uma chave pública a um sujeito identificado por nome, por meio de uma autoridade certificadora e de um processo de validação definido. Em muitas transações de blockchain, por outro lado, a verificação pública funciona sem um certificado que identifique uma pessoa. O protocolo talvez precise apenas saber se uma chave permitida ou uma condição de gasto autorizou uma mensagem. Portanto, um endereço que parece um pseudônimo não é um certificado digital. Uma conta identificada nominalmente em uma corretora pode incluir verificação de identidade por meio de um processo comercial totalmente separado, mas essas informações não aparecem automaticamente na assinatura criptográfica.
| Objeto | Geralmente público? | O que estabelece |
|---|---|---|
| Chave privada | Não | Capacidade usada para criar assinaturas |
| Chave pública | Sim, quando divulgada | Um valor com o qual as assinaturas podem ser verificadas |
| Assinatura | Geralmente, para transações on-chain | Evidência de autorização para uma mensagem especificada |
| Registro de identidade | Depende do contexto | Uma alegação separada que vincula um agente a um nome ou função |
Verificações cotidianas para revisores sem conhecimentos técnicos
- Pergunte qual esquema de assinatura e qual rede o sistema usa; “criptografia de blockchain” não é uma resposta suficiente.
- Diferencie uma chave pública de um endereço público, um identificador de transação e um identificador de conta.
- Trate uma assinatura verificada como uma afirmação sobre uma mensagem e uma chave, não como prova independente de identidade legal.
- Exija evidências independentes quando uma política depender da autoridade ou da função organizacional do signatário.
Na prática, as implementações podem exibir apenas um endereço e um identificador de transação, com a chave pública ou a assinatura ocultas em outras abas da interface. Essa é uma escolha de apresentação, não uma evidência de que as assinaturas não existam. Alguns arranjos de contratos inteligentes autorizam ações sob condições programáveis, em vez de uma única assinatura comum de chave. O fundamento importante é identificar quem ou o que pode verificar a autorização e quais condições o protocolo subjacente realmente verifica. Os detalhes sobre armazenamento de chaves privadas, frases-semente, recuperação e acordos de custódia pertencem ao próximo módulo.
Foco da prova: Defina chaves privadas e públicas e explique por que a verificação pública não revela a chave privada. Reconheça ECDSA, Schnorr e Ed25519 como abordagens técnicas nomeadas e diferencie o controle criptográfico de uma chave da prova de identidade pessoal ou de autoridade legal.