filter

Cryptography Compendium — Filter & Quality Criteria

Filtro "Para o Kode" + critérios de qualidade do topic *ryptography* Consumido por /k-compendium cryptography durante Passos 3 e 2.


Estrutura do compendium cryptography

compendium/cryptography/
├── INDEX.md
├── 01-timeline.md                ← linha do tempo ~1900 a.C. → hoje
├── 02-fundamentos.md             ← Kerckhoffs, Shannon, OWF, IND-CPA/CCA, modelos de adversário
├── 03-classica.md                ← substituição, transposição, Enigma, Lorenz, Purple
├── 04-simetrica.md               ← AES, ChaCha20, modos (GCM, XTS, SIV, OCB), AEAD
├── 05-assimetrica.md             ← DH, RSA, ECC (P-256, secp256k1, Curve25519), EdDSA, Schnorr, BLS
├── 06-hash-e-mac.md              ← SHA-2/3, BLAKE3, HMAC, KDFs (Argon2, scrypt, HKDF)
├── 07-protocolos.md              ← TLS, SSH, IPsec, OAuth/OIDC, Signal, MLS, Noise, WireGuard
├── 08-pos-quantica.md            ← ML-KEM, ML-DSA, SLH-DSA, FALCON, HQC; lattice/code/hash/isogeny
├── 09-confidential-computing.md  ← TPM, SGX, TDX, SEV, ARM CCA, FHE, MPC, ZKP
├── 10-criptomoeda.md             ← primitivas usadas em Bitcoin/crypto (cross-ref blockchain compendium)
├── 11-ataques.md                 ← criptanálise, side-channel, protocolo, implementação, físicos, quantum
├── 12-pessoas.md                 ← criptógrafos canônicos
├── 13-incidentes.md              ← Crypto AG, Heartbleed, ROCA, KRACK, etc.
└── 14-koder-aplicada.md          ← escolhas cripto da Koder Stack

Critérios de qualidade por seção

Para novos primitivos (04simetrica, 05assimetrica, 06hashe-mac)

Um primitivo merece entrada se atender ≥ 2 critérios:

  • Padronizado em FIPSSPRFC/ISO OU
  • Adotado em pelo menos 1 protocolo major (TLS, SSH, signal, IPSec) OU
  • Quebrou ou se aproximou de quebrar primitivo existente OU
  • Atinge propriedade nova (PQresistant, leakageresilient, threshold-friendly)

Para protocolos (07-protocolos)

Um protocolo merece entrada se:

  • Tem RFC publicada ou draft IETF maduro (≥ -10 ou WGLC) OU
  • É deployment-ready em vendor major (Apple, Google, Mozilla, Microsoft) OU
  • Tem implementação open-source revisada (Cloudflare, Mozilla NSS, BoringSSL)

Para pesquisa PQC (08posquantica)

Pesquisa merece entrada se:

  • Avança roadmap NIST (PQC competition, additional signatures, round 4) OU
  • Adiciona security level ou variante usável OU
  • Demonstra ataque sub-exponencial em scheme submetido

Para confidential computing (09confidentialcomputing)

Conteúdo merece entrada se:

  • Adiciona TEE (hardware) novo OU
  • Atinge milestone em FHE (CKKS, BFV, TFHE, BGV) ou MPC (SPDZ, SHE) OU
  • ZKP scheme com proving time < segundos em problema prático

Para ataques (11-ataques)

Ataque merece entrada se:

  • Reduz security level efetivo de primitivo padronizado OU
  • Custo prático (< $1M, < 1 ano) OU
  • Side-channel novo em hardware atual OU
  • Novo tipo de attack model (fault, transient, microarch)

Para incidentes (13-incidentes)

Incidente merece entrada se:

  • Afetou > 1M usuários OU > 1 vendor major OU
  • Exposed weakness arquitetural (não só implementation bug) OU
  • Mudou recomendação canônica (algoritmo deprecated, RFC obsoleta, FIPS revisado)

Para timeline (01-timeline)

Evento merece entrada se:

  • É publicação canônica (papers, standards, ataques notáveis) OU
  • Quebra de cipher / migração obrigatória OU
  • Marco regulatório (FIPS adoption, GDPR Art. 32, ICP-Brasil DOC, EU eIDAS)

Filtro para o Kode

Priorizar informações que respondem a:

  1. *ual primitivo usar no Koder Signer (assinatura ICPBrasil)?*→ RSAPKCS1 v1.5 (legado A1), RSAPSS / ECDSA (preferido), futuro MLDSA pra hybrid
  2. *ual KEM/KDF pro Koder ID?*→ X25519 + HKDFSHA256 atual; hybrid X25519 + MLKEM-768 no roadmap
  3. *LS config canônica nos serviços Koder Jet?*→ TLS 1.3 only; cipher suites AEAD; ALPN h2/h3
  4. *omo armazenar senhas no Koder ID?*→ Argon2id; parameters revisitados a cada release
  5. *ash pra integrity check (kpkg, ISO, releases)?*→ BLAKE3 (perf) ou SHA-256 (compat); migration via metadata
  6. *onfidential compute em VMs (s.khost1)?*→ SEV-SNP quando disponível; TDX pra Intel; ARM CCA pra Apple Silicon futuro
  7. *2E encryption em Koder Talk?*→ Signal Protocol (X3DH + Double Ratchet); MLS pra grupos > 50
  8. *ert chain validation (ICPBrasil)?*→ cadeia AC Raiz V11/V12; OCSP stapling + CRL fallback; conforme DOCICP-04
  9. *QC migration timeline pra Stack?*→ começar hybrid em endpoints clientfacing 2026H2; full PQ 2028+
  10. *omo auditar implementações cripto na Stack?*→ testar contra knownanswer vectors (Wycheproof, NIST CAVP); fuzz com libFuzzer; constanttime check com ctgrind

Regras de escrita por arquivo

* que SEMPRE incluir:*

  • *aper acadêmico:*título + autores + ano + venue + DOIeprint (`eprint.iacr.orgYYYY/NNN`)
  • *FC:*RFC NNNN — Título + link datatracker.ietf.org/doc/html/rfcNNNN
  • *IST:*FIPS PUB N ou SP 800-NN + link csrc.nist.gov
  • *VE:*formato CVE-YYYY-NNNNN + NVD link ou breve descrição
  • *adrão IECISO:*`ISOIEC NNNNN`
  • *amanhos:*chaveblocosaída em bits, sempre
  • *tatus:*ativo, deprecated, broken, embargado
  • *ecomendação prática:*"use", "evite", "proibido em FIPS após 2030"

* que NUNCA fazer:*

  • Inventar atribuição histórica — se data não for sabida, "década de NN" ou "circa AAAA"
  • Atribuir algoritmo a um único autor quando há equipe ou disputa de prioridade
  • Confundir cipher (algoritmo) com mode (modo de operação) com construction (esquema completo)
  • Misturar key length com block length com security level

*otação consistente (já em INDEX.md):*

Símbolo Significado
\(E_k(P)\) encryption: chave \(k\), plaintext \(P\)
\(D_k(C)\) decryption: chave \(k\), ciphertext \(C\)
\(H(m)\) hash de \(m\)
\(text{MAC}_k(m)\) tag MAC de \(m\) com chave \(k\)
\(oplus\) XOR
\(lambda\) parâmetro de segurança
\(text{negl}(lambda)\) função negligível em \(lambda\)

Source: ../home/koder/dev/koder/meta/docs/cryptography/compendium/_filter.md