diff options
| author | murilo ijanc | 2026-03-24 21:45:05 -0300 |
|---|---|---|
| committer | murilo ijanc | 2026-03-24 21:45:05 -0300 |
| commit | 01c17c68277ff88fab812920732d9bbe9e6bb571 (patch) | |
| tree | 035398ae34263b981b621c6275835d2cc6847d57 /pt-br/news/phase4-shamir-heir-recovery | |
| parent | f186b71ca51e83837db60de13322394bb5e6d348 (diff) | |
| download | website-01c17c68277ff88fab812920732d9bbe9e6bb571.tar.gz | |
Remove old Zola-generated content, keep only the essential
landing page with about, contact, and license sections.
Diffstat (limited to 'pt-br/news/phase4-shamir-heir-recovery')
| -rw-r--r-- | pt-br/news/phase4-shamir-heir-recovery/index.html | 209 | ||||
| -rw-r--r-- | pt-br/news/phase4-shamir-heir-recovery/index.html.gz | bin | 4927 -> 0 bytes |
2 files changed, 0 insertions, 209 deletions
diff --git a/pt-br/news/phase4-shamir-heir-recovery/index.html b/pt-br/news/phase4-shamir-heir-recovery/index.html deleted file mode 100644 index d2df99f..0000000 --- a/pt-br/news/phase4-shamir-heir-recovery/index.html +++ /dev/null @@ -1,209 +0,0 @@ -<!DOCTYPE html> -<html lang="pt-br"> -<head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <title>Fase 4: Recuperação de Chaves por Herdeiros com Shamir's Secret Sharing — Tesseras</title> - <meta name="description" content="Tesseras agora permite dividir sua identidade criptográfica em fragmentos distribuídos a herdeiros de confiança — qualquer limiar deles pode reconstruir suas chaves, mas menos que isso não revela nada."> - <!-- Open Graph --> - <meta property="og:type" content="article"> - <meta property="og:title" content="Fase 4: Recuperação de Chaves por Herdeiros com Shamir's Secret Sharing"> - <meta property="og:description" content="Tesseras agora permite dividir sua identidade criptográfica em fragmentos distribuídos a herdeiros de confiança — qualquer limiar deles pode reconstruir suas chaves, mas menos que isso não revela nada."> - <meta property="og:image" content="https://tesseras.net/images/social.jpg"> - <meta property="og:image:width" content="1200"> - <meta property="og:image:height" content="630"> - <meta property="og:site_name" content="Tesseras"> - <!-- Twitter Card --> - <meta name="twitter:card" content="summary_large_image"> - <meta name="twitter:title" content="Fase 4: Recuperação de Chaves por Herdeiros com Shamir's Secret Sharing"> - <meta name="twitter:description" content="Tesseras agora permite dividir sua identidade criptográfica em fragmentos distribuídos a herdeiros de confiança — qualquer limiar deles pode reconstruir suas chaves, mas menos que isso não revela nada."> - <meta name="twitter:image" content="https://tesseras.net/images/social.jpg"> - <link rel="stylesheet" href="https://tesseras.net/style.css?h=21f0f32121928ee5c690"> - - - <link rel="alternate" type="application/atom+xml" title="Tesseras" href="https://tesseras.net/atom.xml"> - - - <link rel="icon" type="image/png" sizes="32x32" href="https://tesseras.net/images/favicon.png?h=be4e123a23393b1a027d"> - -</head> -<body> - <header> - <h1> - <a href="https://tesseras.net/pt-br/"> - <img src="https://tesseras.net/images/logo-64.png?h=c1b8d0c4c5f93b49d40b" alt="Tesseras" width="40" height="40" class="logo"> - Tesseras - </a> - </h1> - <nav> - - <a href="https://tesseras.net/pt-br/about/">Sobre</a> - <a href="https://tesseras.net/pt-br/news/">Notícias</a> - <a href="https://tesseras.net/pt-br/releases/">Lançamentos</a> - <a href="https://tesseras.net/pt-br/faq/">FAQ</a> - <a href="https://tesseras.net/pt-br/subscriptions/">Inscrições</a> - <a href="https://tesseras.net/pt-br/contact/">Contato</a> - - </nav> - <nav class="lang-switch"> - - <a href="https://tesseras.net/news/phase4-shamir-heir-recovery/">English</a> | <strong>Português</strong> - - </nav> - </header> - - <main> - -<article> - <h2>Fase 4: Recuperação de Chaves por Herdeiros com Shamir's Secret Sharing</h2> - <p class="news-date">2026-02-15</p> - <p>O que acontece com suas memórias quando você morre? Até agora, Tesseras -conseguia preservar conteúdo ao longo de milênios — mas as chaves privadas e -seladas morriam com o dono. A Fase 4 continua com uma solução: Shamir's Secret -Sharing, um esquema criptográfico que permite dividir sua identidade em -fragmentos e distribuí-los para as pessoas em quem você mais confia.</p> -<p>A matemática é elegante: você escolhe um limiar T e um total N. Qualquer T -fragmentos reconstroem o segredo completo; T-1 fragmentos não revelam -absolutamente nada. Isso não é "quase nada" — é informação-teoricamente seguro. -Um atacante com um fragmento a menos que o limiar tem exatamente zero bits de -informação sobre o segredo, independentemente do poder computacional que tenha.</p> -<h2 id="o-que-foi-construido">O que foi construído</h2> -<p><strong>Aritmética de corpo finito GF(256)</strong> (<code>tesseras-crypto/src/shamir/gf256.rs</code>) — -Shamir's Secret Sharing requer aritmética em um corpo finito. Implementamos -GF(256) usando o mesmo polinômio irredutível do AES (x^8 + x^4 + x^3 + x + 1), -com tabelas de lookup para logaritmo e exponenciação computadas em tempo de -compilação. Todas as operações são em tempo constante via consulta a tabelas — -sem ramificações baseadas em dados secretos. O módulo inclui o método de Horner -para avaliação de polinômios e interpolação de Lagrange em x=0 para recuperação -do segredo. 233 linhas, exaustivamente testado: todos os 256 elementos para -propriedades de identidade/inverso, comutatividade e associatividade.</p> -<p><strong>ShamirSplitter</strong> (<code>tesseras-crypto/src/shamir/mod.rs</code>) — A API principal de -split/reconstruct. <code>split()</code> recebe uma fatia de bytes do segredo, uma -configuração (limiar T, total N) e a chave pública Ed25519 do dono. Para cada -byte do segredo, constrói um polinômio aleatório de grau T-1 sobre GF(256) com o -byte do segredo como termo constante, e então o avalia em N pontos distintos. -<code>reconstruct()</code> recebe T ou mais fragmentos e recupera o segredo via -interpolação de Lagrange. Ambas as operações incluem validação extensiva: -limites do limiar, consistência de sessão, correspondência de impressão digital -do dono e verificação de checksum BLAKE3.</p> -<p><strong>Formato HeirShare</strong> — Cada fragmento é um artefato autocontido e serializável -com:</p> -<ul> -<li>Versão do formato (v1) para compatibilidade futura</li> -<li>Índice do fragmento (1..N) e metadados de limiar/total</li> -<li>ID de sessão (8 bytes aleatórios) — impede mistura de fragmentos de sessões -diferentes</li> -<li>Impressão digital do dono (primeiros 8 bytes do hash BLAKE3 da chave pública -Ed25519)</li> -<li>Dados do fragmento (os y-values de Shamir, mesmo comprimento do segredo)</li> -<li>Checksum BLAKE3 sobre todos os campos anteriores</li> -</ul> -<p>Os fragmentos são serializados em dois formatos: <strong>MessagePack</strong> (binário -compacto, para uso programático) e <strong>texto base64</strong> (legível por humanos, para -impressão e armazenamento físico). O formato texto inclui um cabeçalho com -metadados e delimitadores:</p> -<pre><code>--- TESSERAS HEIR SHARE --- -Format: v1 -Owner: a1b2c3d4e5f6a7b8 (fingerprint) -Share: 1 of 3 (threshold: 2) -Session: 9f8e7d6c5b4a3210 -Created: 2026-02-15 - -<dados MessagePack codificados em base64> ---- END HEIR SHARE --- -</code></pre> -<p>Este formato é projetado para ser impresso em papel, armazenado em um cofre -bancário ou gravado em metal. O cabeçalho é informacional — apenas o payload -base64 é analisado durante a reconstrução.</p> -<p><strong>Integração com CLI</strong> (<code>tesseras-cli/src/commands/heir.rs</code>) — Três novos -subcomandos:</p> -<ul> -<li><code>tes heir create</code> — divide sua identidade Ed25519 em fragmentos de herdeiros. -Solicita confirmação (sua identidade completa está em jogo), gera arquivos -<code>.bin</code> e <code>.txt</code> para cada fragmento e escreve <code>heir_meta.json</code> no diretório de -identidade.</li> -<li><code>tes heir reconstruct</code> — carrega arquivos de fragmentos (detecta -automaticamente formato binário vs texto), valida consistência, reconstrói o -segredo, deriva o par de chaves Ed25519 e opcionalmente o instala em -<code>~/.tesseras/identity/</code> (com backup automático da identidade existente).</li> -<li><code>tes heir info</code> — exibe metadados do fragmento e verifica o checksum sem expor -nenhum material secreto.</li> -</ul> -<p><strong>Formato do blob secreto</strong> — As chaves de identidade são serializadas em um -blob versionado antes da divisão: um byte de versão (0x01), um byte de flags -(0x00 para somente Ed25519), seguido da chave secreta Ed25519 de 32 bytes. Isso -deixa espaço para expansão futura quando as chaves privadas X25519 e ML-KEM-768 -forem integradas ao sistema de fragmentos de herdeiros.</p> -<p><strong>Testes</strong> — 20 testes unitários para ShamirSplitter (roundtrip, todas as -combinações de fragmentos, fragmentos insuficientes, dono errado, sessão errada, -limite threshold-1, segredos grandes até o tamanho de chave ML-KEM-768). 7 -testes unitários para aritmética GF(256) (propriedades de campo exaustivas). 3 -testes baseados em propriedades com proptest (segredos arbitrários até 5000 -bytes, configurações T-de-N arbitrárias, verificação de segurança -informação-teórica). Testes de roundtrip de serialização para ambos os formatos -MessagePack e texto base64. 2 testes de integração cobrindo o ciclo de vida -completo de herdeiros: gerar identidade, dividir em fragmentos, serializar, -desserializar, reconstruir, verificar par de chaves e assinar/verificar com -chaves reconstruídas.</p> -<h2 id="decisoes-de-arquitetura">Decisões de arquitetura</h2> -<ul> -<li><strong>GF(256) ao invés de GF(primo)</strong>: usamos GF(256) ao invés de um corpo primo -porque ele mapeia naturalmente para bytes — cada elemento é um único byte, -cada fragmento tem o mesmo comprimento do segredo. Sem aritmética de inteiros -grandes, sem redução modular, sem padding. Esta é a mesma abordagem usada pela -maioria das implementações reais de Shamir, incluindo SSSS e Hashicorp Vault.</li> -<li><strong>Tabelas de lookup em tempo de compilação</strong>: as tabelas LOG e EXP para -GF(256) são computadas em tempo de compilação usando <code>const fn</code>. Isso -significa zero custo de inicialização em tempo de execução e operações em -tempo constante via consulta a tabelas ao invés de loops.</li> -<li><strong>ID de sessão previne mistura entre sessões</strong>: cada chamada a <code>split()</code> gera -um novo ID de sessão aleatório. Se um herdeiro acidentalmente usar fragmentos -de duas sessões diferentes de divisão (por exemplo, antes e depois de uma -rotação de chaves), a reconstrução falha de forma limpa com um erro de -validação ao invés de produzir dados corrompidos.</li> -<li><strong>Checksums BLAKE3 detectam corrupção</strong>: cada fragmento inclui um checksum -BLAKE3 sobre seu conteúdo. Isso captura degradação de bits, erros de -transmissão e truncamento acidental antes de qualquer tentativa de -reconstrução. Um fragmento impresso em papel e escaneado via OCR vai falhar no -checksum se um único caractere estiver errado.</li> -<li><strong>Impressão digital do dono para identificação</strong>: os fragmentos incluem os -primeiros 8 bytes de BLAKE3(chave pública Ed25519) como impressão digital. -Isso permite aos herdeiros verificar a qual identidade um fragmento pertence -sem revelar a chave pública completa. Durante a reconstrução, a impressão -digital é verificada contra a chave recuperada.</li> -<li><strong>Formato duplo para resiliência</strong>: ambos os formatos binário (MessagePack) e -texto (base64) são gerados porque mídias físicas têm modos de falha diferentes -de armazenamento digital. Um pendrive pode falhar; papel sobrevive. Um QR code -pode ficar ilegível; texto base64 pode ser digitado manualmente.</li> -<li><strong>Versionamento do blob</strong>: o segredo é envolvido em um blob versionado -(versão + flags + material de chave) para que versões futuras possam incluir -chaves adicionais (X25519, ML-KEM-768) sem quebrar compatibilidade com -fragmentos existentes.</li> -</ul> -<h2 id="o-que-vem-a-seguir">O que vem a seguir</h2> -<ul> -<li><strong>Fase 4 continuada: Resiliência e Escala</strong> — NAT traversal avançado -(STUN/TURN), ajuste de performance (pool de conexões, cache de fragmentos, -SQLite WAL), auditorias de segurança, integração de nós institucionais, -empacotamento para sistemas operacionais</li> -<li><strong>Fase 5: Exploração e Cultura</strong> — navegador público de tesseras por -era/localização/tema/idioma, curadoria institucional, integração com -genealogia, exportação para mídia física (M-DISC, microfilme, papel livre de -ácido com QR)</li> -</ul> -<p>Com Shamir's Secret Sharing, Tesseras fecha a última lacuna crítica na -preservação a longo prazo. Suas memórias sobrevivem a falhas de infraestrutura -através de erasure coding. Sua privacidade sobrevive a computadores quânticos -através de criptografia híbrida. E agora, sua identidade sobrevive a você — -passada adiante para as pessoas que você escolheu, exigindo a cooperação delas -para desbloquear o que você deixou para trás.</p> - -</article> - - </main> - - <footer> - <p>© 2026 Tesseras Project. <a href="/atom.xml">News Feed</a> · <a href="https://git.sr.ht/~ijanc/tesseras">Source</a></p> - </footer> -</body> -</html> diff --git a/pt-br/news/phase4-shamir-heir-recovery/index.html.gz b/pt-br/news/phase4-shamir-heir-recovery/index.html.gz Binary files differdeleted file mode 100644 index cebcabc..0000000 --- a/pt-br/news/phase4-shamir-heir-recovery/index.html.gz +++ /dev/null |