Ferramenta gratuita

Dividir um segredo em partes

A frase semente tem uma contradição: uma única cópia se perde, e várias cópias são, cada uma, um risco a mais. Esta página divide o segredo em várias partes de modo que quaisquer K necessárias o recompõem, enquanto um número menor não revela nada sobre ele. Três partes com três pessoas de confiança, quaisquer duas recuperam, e nenhuma sozinha consegue fazer nada.

Tudo é calculado no navegador: nem o segredo nem as partes são enviados a lugar nenhum.

Nem o segredo nem as partes são enviados a lugar nenhum: toda a matemática é calculada nesta aba.

Como funciona

Esquema de Shamir. Cada byte do segredo é escondido em um polinômio: o termo independente é igual ao próprio byte, os demais coeficientes são aleatórios, e o grau é um a menos que o limiar. A parte número x, é o valor do polinômio no ponto x. Por quaisquer K pontos passa exatamente um polinômio do grau necessário, por isso K partes dão o byte original sem ambiguidade. Já por K−1 pontos passam infinitos polinômios desse tipo, e todos os termos independentes são igualmente prováveis, por isso um número menor de partes não revela absolutamente nada.

Tudo é calculado no corpo GF(256): o mesmo que existe dentro do AES. Os bytes continuam sendo bytes, as partes saem curtas, e é viável anotá-las no papel.

Como usar isso com bom senso

O esquema mais prático para guardar em casa é três partes com limiar dois. Uma com você, uma com um parente, uma em um cofre de banco ou com uma segunda pessoa de confiança. Se perder a sua, recupera com as outras duas. Se roubarem uma, o ladrão não terá nada, nem uma pista.

O que não fazer: guardar duas partes no mesmo lugar (é o mesmo que guardar uma única cópia) e definir um limiar igual ao número de partes (aí perder qualquer parte é perder o segredo).

Veja também: verificação da frase semente, criptografar um arquivo com senha e criptografar um texto.

Não guardamos nada disso

Nem segredos, nem partes, nem senhas, 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 secret-split-faq.md
[01] $ Por que isso é melhor do que simplesmente cortar a frase em três pedaços? ▸
> Porque um pedaço de uma frase comum já é parte da resposta: tendo oito das doze palavras, o resto se descobre por tentativa. Aqui cada parte, isoladamente, não revela nada sobre o segredo: enquanto não se reunir o número necessário de partes, não dá nem para saber com certeza o comprimento do texto original. Essa é uma propriedade matemática do esquema, não uma promessa.
[02] $ Quantas partes fazer e quantas exigir? ▸
> Para guardar em casa, costuma-se usar três partes com limiar dois: se uma se perde, você ainda recupera; se uma é roubada, o ladrão não fica com nada. Um limiar igual ao número de partes (três de três) é perigoso: perder qualquer parte significa perder o segredo para sempre.
[03] $ Onde guardar as partes? ▸
> Separadamente e em lugares diferentes, esse é todo o sentido. Duas partes no mesmo cofre não são melhores do que uma única cópia. As partes podem ser anotadas no papel: são curtas e formadas por letras e números comuns.
[04] $ E se uma parte estiver corrompida ou for de outro segredo? ▸
> Nós percebemos. Antes de dividir, dois bytes do hash do segredo são anexados a ele, e na recomposição eles são verificados. Se as partes não forem do mesmo segredo, ou se uma delas estiver corrompida, a página avisa em vez de devolver um lixo verossímil.
[05] $ Vocês veem meu segredo? ▸
> Não. A página não faz nenhuma requisição de rede ao dividir ou recompor: toda a matemática acontece na sua aba. Dá para ver isso na aba Rede das ferramentas de desenvolvedor.