A Confiança que se Calcula.
Cinco hospitais comparam tempo de internação para AVC sem nenhum deles expor seus números absolutos. Cada um descobre apenas sua posição relativa.
O Cenário
Cinco hospitais de referência querem benchmark de qualidade. Métrica: tempo médio de internação para AVC isquêmico.
O Problema
Nenhum hospital quer expor seus números absolutos — risco de PR negativo. Sob arquitetura tradicional, benchmarking honesto entre concorrentes é impossível.
A Garantia
O agregador computa média, variância e desvio padrão sobre cifras. Cada hospital decifra apenas sua posição relativa. Garantia matemática RLWE.
Definir os parâmetros.
Antes de cifrar os tempos de internação, escolhemos os parâmetros CKKS. Cada parâmetro é um trade-off entre segurança, velocidade e capacidade de cálculo.
Parâmetros · CKKS
O que cada termo significa
CKKS (esquema "aproximado") — Família de criptografia homomórfica que opera sobre números reais. Tem ruído de aproximação controlado (erro ~10⁻⁹). É o esquema padrão para machine learning, estatística descritiva e processamento de sinais — exatamente o que o benchmarking inter-hospitalar precisa.
8 192 slots — Cada ciphertext FHE não é um único valor: é um vetor de 8 192 valores empacotados. Você opera sobre os 8 192 ao mesmo tempo. Em produção real do benchmarking, milhares de hospitais cabem em poucos ciphertexts.
Profundidade multiplicativa — Quantas multiplicações encadeadas o ciphertext suporta. CKKS permite ajustar via LogQ. Para média + variância (que precisa de quadrados), 4-5 níveis bastam.
~128 bits de segurança — Padrão da indústria. Quebrar a chave por força bruta exigiria ~2128 operações — número astronômico, inviável até em hardware quântico previsível.
Base RLWE — Ring Learning With Errors. O problema matemático que sustenta a segurança. É o mesmo problema sobre o qual NIST padronizou criptografia pós-quântica (ML-KEM, ML-DSA).
Gerar chaves colaborativas.
Em produção, threshold cryptography divide a chave entre os 5 hospitais. Aqui simplificamos com chave única para clareza didática.
Chaves Geradas
Galois Keys
Adicionalmente geramos Galois keys para suportar operações de rotação (necessárias para InnerSum em vetores de muitos slots). Estas chaves são as mais pesadas — vários MB no total.
Cifrar dados ajustados.
Cada hospital tem o seu tempo médio ajustado por case-mix calculado sobre sua coorte interna. Cifra esse valor e envia. O agregador NUNCA vê o valor em claro.
Dados locais (ajustados por case-mix)
Nota clínica · case-mix adjustment
Comparar médias cruas é inválido — Albert Einstein recebe casos de AVC mais graves que HCor, não por qualidade pior, mas por case-mix (idade, comorbidades, gravidade). Comparar tempo cru distorce avaliação.
Ajuste padrão da indústria — Benchmarking hospitalar sério usa Elixhauser Comorbidity Index ou Charlson Index para ajustar o tempo médio por gravidade da coorte, antes de comparar. O ajuste é feito localmente em cada hospital.
Nesta demo — Os valores já representam tempos ajustados calculados localmente. O FHE entra depois: agrega os valores ajustados sem expor os números absolutos.
O agregador recebe.
Os 5 ciphertexts viajam para um agregador neutro (sociedade médica, IBGE, consórcio acadêmico). O agregador não tem chave secreta — não consegue ver nenhum valor.
Amostra Real do Ciphertext (32 primeiros bytes)
74 65 78 74 4d 65 74 61
44 61 74 61 22 3a 7b 22
53 63 61 6c 65 22 3a 7b
...
Cada ciphertext tem ~1.25 MB de bytes pseudoaleatórios. Sem a chave, recuperar 72.4h exigiria resolver Ring-LWE em N=16384 → ~2128 operações.
Total Trafegado
Estatísticas sob cifra.
O agregador soma os ciphertexts, multiplica por 1/N para média, e calcula segundo momento para variância. Tudo sob cifra. O agregador jamais vê valores individuais.
O Algoritmo
Performance Real
Estatísticas reveladas.
O resultado cifrado é decifrado coletivamente. Apenas as estatísticas agregadas saem — média, variância, desvio padrão. Nenhum valor individual.
Resultado Agregado
Posição Relativa
Cada hospital descobre apenas SEU z-score:
Einstein: -0.73 ↓ abaixo da média
Sírio: +1.42 ↑ acima da média
HCor: -1.37 ↓ melhor do grupo
Oswaldo: +0.76 ↑ levemente acima
Moinhos: -0.07 ≈ média
Validação matemática.
Comparação direta entre o cálculo FHE e o cálculo plaintext. Erro de aproximação CKKS é controlado e desprezível para análise clínica.
FHE vs Plaintext
| Métrica | FHE | Claro | Erro |
|---|---|---|---|
| Média | 75.400000 | 75.400000 | 7.0e-11 |
| Variância | 16.740000 | 16.740000 | 2.0e-08 |
| Desvio | 4.091455 | 4.091455 | 2.5e-09 |
Resultado
Para análise estatística clínica, precisão de 9 casas decimais é dramaticamente mais que suficiente.
O agregador desonesto.
O que um agregador desonesto consegue extrair?
Tentativas de Ataque
- 1 — Ler ciphertext de um hospitalBytes pseudoaleatórios. Nada recuperável.
- 2 — Inverter a média para obter individuais5 incógnitas, 1 equação. Sistema sub-determinado. Os valores individuais permanecem matematicamente protegidos.
- 3 — Recuperar sk a partir de pkRing-LWE em N=16384, ~2128 operações. Inviável.
O que sai
APENAS as estatísticas agregadas (média, variância, desvio). Cada hospital descobre apenas sua posição relativa. Os números absolutos dos outros permanecem matematicamente impossíveis de recuperar.
O que aconteceu.
Em menos de 1 segundo, cinco hospitais descobriram suas posições relativas em uma métrica de qualidade — sem nenhum deles expor seus números absolutos.
O Fluxo
- Cinco hospitais cifraram localmente seus tempos médios
- Enviaram apenas os ciphertexts ao agregador neutro
- O agregador computou média e variância sob cifra (85 ms)
- Resultado decifrado revelou estatísticas agregadas
- Cada hospital descobriu apenas sua posição relativa