O TUBE comprime telemetria 7–189× com erro máximo garantido por amostra — |erro| ≤ ε, verificado na decodificação. Para transmitir isso num link hostil (downlink de satélite, rádio de campo, uplink de frota), é preciso cifrar — e cifrar já pensando em pós-quântico. Desenhamos o envelope, medimos o protótipo nos 15 casos do benchmark e encontramos um problema que ninguém tem a 2–5× de compressão: o selo de autenticação de 16 bytes fica maior que o bloco que protege.
O TUBE vende uma garantia (±ε em toda amostra) e duas propriedades operacionais (seek e perda limitada ao bloco). A cifra não pode destruir nenhuma das três — e o ε não pode ser adulterável.
Telemetria comprimida existe para atravessar links caros e hostis. E o adversário desses links já grava hoje para decifrar amanhã (harvest-now-decrypt-later): num satélite que fica anos em órbita, criptografia que só resiste até o primeiro computador quântico relevante não é criptografia — é prazo de validade. A resposta tem que incluir PQC desde o desenho, não como retrofit.
A decisão estrutural veio primeiro: a criptografia mora no container, nunca no codec. O codec continua determinístico, testável e auditável byte a byte; o envelope cifra o que o codec emite. Misturar cifra com compressão é fabricar um formato que ninguém consegue verificar — nem nós.
E há um detalhe que importa mais do que parece: o ε — o número que dá sentido ao contrato de auditoria — precisa ser criptograficamente inviolável. De nada adianta garantir |erro| ≤ ε se alguém no caminho pode reescrever o ε do cabeçalho e transformar uma reconstrução fora do tubo em uma "dentro do tubo".
Criptografia no container, nunca no codec.
Cada camada resolve um problema distinto — e só as peças assimétricas precisam de PQC.
AES-256 já é pós-quântico para o payload: o melhor ataque quântico conhecido (Grover) reduz a segurança efetiva para 2¹²⁸ — suficiente. Onde Shor quebra é no acordo de chave e na assinatura; é exatamente ali, e só ali, que entram ML-KEM e ML-DSA.
A perda continua limitada ao bloco — e o ε vira parte da tag
Cada GOP (bloco com keyframe, que decodifica sozinho) é cifrado e selado individualmente: perda de pacote segue limitada ao bloco e o seek sobrevive à cifra — decifra-se só o GOP procurado. O nonce é derivado deterministicamente e não viaja no stream. E o AAD autentica caso, canal e o bound: adulterar o ε quebra a tag de autenticação. O contrato de auditoria fica criptograficamente íntegro.
FIPS 203 · 2.304 bytes por rotação de chave
A chave de sessão nasce de um encapsulamento híbrido: X25519 (clássico) + ML-KEM-768 (pós-quântico, FIPS 203). Se um dos dois cair, o outro segura — é o padrão de transição recomendado para quem não pode errar. Custo no fio: 2.304 bytes por rotação, pago por sessão, não por bloco.
FIPS 204 · 3.309 bytes por sessão
O manifesto da sessão — casos, canais, bounds — é assinado com ML-DSA-65 (FIPS 204): 3.309 bytes por sessão. Com isso, a resposta certificada do TUBE (o carimbo definite/possible das queries) vira evidência não-repudiável: quem assinou o manifesto não pode negar o bound que declarou.
Verificado — O roundtrip completo do protótipo — decifra → decodifica → bound verificado — passa nos 15 casos do benchmark. A garantia ±ε atravessa o envelope intacta.
O custo recorrente do envelope é a tag GCM de 16 bytes por GOP (os custos assimétricos são por sessão e diluem). Em compressão modesta, 16 bytes somem no bloco. O TUBE não opera em compressão modesta — e aí o selo aparece na medição:
| Caso | Overhead do selo (16 B/GOP) | Leitura |
|---|---|---|
| AMI nativo (medidores) | +4,4% | GOP gordo: o selo desaparece no bloco. |
| ECG real | +10,3% | Bound no LSB do conversor, payload denso: overhead ainda discreto. |
| Robô real (ROS2/MCAP) | +16,5% | Compressão 21×: o selo começa a aparecer. |
| Mocap (CMU) | +17,3% | 22×: mesmo regime. |
| Manipulador ALOHA | +28,8% | 37×, deadband de 67%: blocos magros, selo visível. |
| Drone (PX4) | +97,6% | 123×: o envelope quase dobra o arquivo. |
| Satélite | +126,1% | O GOP médio tem ~12 B de payload — menor que a própria tag de 16 B. |
| Robótica | +172,2% | O caso extremo do benchmark: o selo custa 1,7× o dado que protege. |
Overhead medido do protótipo sobre o stream comprimido, caso a caso, com roundtrip decifra→decodifica→bound verificado nos 15 casos. Quanto melhor a compressão, maior o peso relativo do selo — o sucesso do codec é o que expõe o custo da cifra.
Ninguém tem esse problema a 2–5× de compressão; a 50–190× ele aparece.
A lição de engenharia — A granularidade da cifra tem que casar com a unidade de perda. Se a unidade de perda do link é o pacote de rádio, sele por lote de GOPs — um pacote, um selo — em vez de por bloco: a tag dilui pelo lote e a perda continua limitada ao que o link já perderia de qualquer forma. Selar por GOP era a escolha "óbvia" — e a medição mostrou que ela só é correta quando o GOP é gordo.
A cultura do projeto: limite conhecido vira documentação, não rodapé.
Cifra esconde conteúdo, não tamanho. O deadband do TUBE só transmite quando o sinal sai da banda — então o tamanho dos GOPs vaza atividade mesmo com tudo cifrado: um observador do link vê quando o robô se move ou quando o satélite manobra, sem decifrar um byte. O nosso próprio detector de surpresa é o ataque. Padding mitiga — e custa exatamente a taxa que a compressão ganhou. Não medido; declarado.
Os números vêm de um protótipo com o roundtrip verificado nos 15 casos — não de uma implementação endurecida e auditada. E o selo por lote de GOPs é a resposta de desenho ao achado, ainda não a versão medida: o número honesto dessa variante é o próximo passo, não uma promessa desta página.
Se a sua telemetria atravessa um link hostil e precisa continuar auditável do outro lado, este é exatamente o problema que estamos medindo. O ponto de partida é o TUBE: o degrau 0 é mandar um rosbag ou um dump de telemetria e receber números em uma semana, sem instalar nada.
Como todo o benchmark do TUBE, o envelope roda com verificação de bound no roundtrip — a garantia é conferida depois de decifrar, não assumida.