Ferramenta gratuita

Assinar uma mensagem

A criptografia responde à pergunta de quem pode ler. A assinatura responde a outra: se foi mesmo ele quem escreveu. Assine o texto com a sua chave, e qualquer pessoa que tenha a sua chave pública vai confirmar que a mensagem é sua e que não foi alterada. As chaves não saem da aba.

A chave pública pode ser dada a qualquer pessoa; a secreta, a ninguém, nunca.

Sem chave? Crie um par na aba “Chaves”: ela também sabe derivar uma chave a partir de uma frase.

As chaves, o texto e a assinatura não são enviados a lugar nenhum: tudo é calculado nesta aba.

Como isso aparece numa conversa

Uma mensagem assinada é o seu texto com uma linha adicionada embaixo, no formato --404SIG1 chave.assinatura. O texto continua legível: a assinatura não esconde nada, ela só comprova a autoria. O destinatário copia o bloco inteiro, abre esta página na aba “Verificar” e cola.

O que você precisa copiar é o bloco, não o texto separado. A assinatura é calculada byte a byte: um espaço a mais, uma quebra de linha diferente ou uma troca automática de aspas, e a verificação não bate, mesmo que pareça tudo igual.

O que a assinatura não comprova

Ela comprova que o texto foi escrito pelo dono de uma chave específica e que não mudou desde então. Ela não comprova que essa chave pertence à pessoa que ela diz ser: isso você descobre de outro jeito, pelo site, por uma mensagem fixada no canal, por um cartão de visita. Se a chave chegou na mesma mensagem que a assinatura, a verificação não significa nada: dá para falsificar as duas coisas de uma vez.

Veja também: criptografar um texto com senha, criptografar um arquivo e dividir um segredo em partes.

Não guardamos nem chaves nem textos

Assim como não há registros de acesso na própria VPN: não há nada para entregar mediante solicitação.

Como funciona →

Perguntas frequentes

guest@404vpn:~$ cat sign-faq.md
[01] $ Qual é a diferença entre uma assinatura e a criptografia? ▸
> A criptografia esconde o conteúdo: só consegue ler quem tem a chave. A assinatura não esconde nada, o texto continua visível, mas ela comprova duas coisas ao mesmo tempo: que foi o dono da chave quem escreveu e que, depois de assinado, o texto não mudou nem um caractere. São tarefas diferentes, e muitas vezes é a segunda que você precisa.
[02] $ Onde consigo a chave pública de quem enviou? ▸
> De onde ela já tenha sido confirmada por outro caminho: do site da empresa, de uma mensagem fixada no canal, de um cartão de visita. A assinatura comprova que o texto foi escrito pelo dono de uma chave específica, mas você não descobre pela assinatura se essa chave pertence à pessoa certa. Se a chave chegou na mesma mensagem que a assinatura, a verificação não significa nada.
[03] $ Por que a assinatura não bate, se o texto é o mesmo? ▸
> Então o texto não é o mesmo, afinal. A assinatura é calculada byte a byte: um espaço a mais no final, uma quebra de linha diferente, aspas trocadas automaticamente pelo mensageiro, e a verificação simplesmente não bate. Por isso copie o bloco inteiro, junto com a linha da assinatura, e não o texto separado.
[04] $ Dá para não guardar a chave secreta? ▸
> Dá para derivá-la de uma frase: aí não há nada para guardar, basta lembrar da frase. Mas o sal, nesse caso, é o mesmo para todo mundo, senão a chave não seria reproduzível: ou seja, uma frase fraca significa diretamente uma assinatura falsificável. Use uma frase longa de palavras sem relação entre si, ou guarde uma chave aleatória e não confie na memória.
[05] $ Vocês guardam as chaves? ▸
> Não. Nem chaves, nem textos, nem assinaturas: a página não faz nenhuma requisição de rede enquanto funciona. Não vamos conseguir recuperar uma chave secreta perdida, porque nunca a tivemos.