1001Ferramentas
🧩 Segurança

Divisão de Segredo Shamir (Split & Combine)

Divide um segredo em várias partes com Shamir e reconstrói o original a partir do número mínimo de partes. Tudo no navegador.

Tudo acontece dentro desta página. O segredo e as partes não saem do seu navegador: sem upload, sem requisição, sem registro.

0 bytes

Como a divisão funciona

Adi Shamir publicou o esquema em 1979. Cada byte do segredo vira o termo independente de um polinômio aleatório de grau mínimo menos um, avaliado em GF(256), o mesmo corpo de 256 elementos usado pelo AES. Cada parte é um ponto dessa curva, escrito como índice de dois dígitos mais o conteúdo em hexadecimal.

Com menos partes que o mínimo não há informação parcial nenhuma: todo segredo possível daquele tamanho continua igualmente provável. Atingido o mínimo, a interpolação de Lagrange em x = 0 devolve os bytes originais exatos. Repare que o tamanho do segredo fica visível no tamanho da parte, então complete segredos curtos se isso importar.

Como dividir um segredo em partes

Anotar a seed de uma carteira num papel só cria um ponto único de falha: se o papel some, o dinheiro some junto; se alguém acha, leva tudo. A divisão de Shamir ataca os dois lados de uma vez. Você escolhe cinco partes com mínimo de três, guarda cada uma num lugar diferente e qualquer trio devolve o segredo original. Duas partes sozinhas não valem absolutamente nada.

O esquema é de 1979 e a matemática cabe num parágrafo. Cada byte do segredo vira o termo independente de um polinômio de grau mínimo menos um, com os outros coeficientes sorteados na hora. As partes são pontos dessa curva calculados em GF(256), o corpo finito de 256 elementos que o AES também usa. Reconstruir é interpolar por Lagrange no ponto zero e ler o coeficiente que estava escondido lá.

O detalhe que quase ninguém comenta: o tamanho da parte entrega o tamanho do segredo. Uma parte com 44 dígitos hexadecimais denuncia 21 bytes de conteúdo, e isso já reduz o espaço de busca de quem encontrar uma delas. Se o comprimento for sensível, complete o texto até um tamanho fixo antes de dividir. Vale também testar a reconstrução antes de espalhar as partes, porque parte anotada errada só aparece na hora do aperto.

Perguntas frequentes

Duas partes de um esquema 5 de 3 revelam metade do segredo?
Não revelam nada. Com menos partes que o mínimo, todo segredo daquele tamanho continua igualmente provável: não existe reconstrução parcial, nem primeiro byte, nem pista. É essa propriedade que separa Shamir de dividir um texto em pedaços, onde cada pedaço já entrega um trecho legível.
Posso guardar uma parte no celular e outra na nuvem?
Pode, desde que o mínimo seja maior do que o número de lugares que uma mesma pessoa consegue acessar. Um esquema 3 de 2 com duas partes na mesma conta de nuvem tem a segurança da senha dessa conta, não a de Shamir. Distribua entre pessoas e locais que não caem juntos.
As partes geradas aqui funcionam em outro programa de Shamir?
Nem sempre. O algoritmo é padronizado, mas o formato de armazenamento não: cada implementação escolhe como marcar o índice, se usa GF(256) ou um primo grande e se acrescenta soma de verificação. Guarde junto das partes a anotação de onde foram geradas, ou teste a leitura na ferramenta de destino antes de confiar nelas.

Ferramentas Relacionadas