Wire Protocol

Byte-Identical Interoperability

Trois clients (Android, iOS, Desktop), un seul wire format. Layout des frames, labels HKDF, padding CBR : tout est bit-à-bit identique, validé en CI avec Known-Answer-Tests.

KAT-gated CIAdaptive CBR paddingConstant-label HKDFSpécification ouverte sur demande

Frame layout

Chaque frame audio suit la structure : [Version][Flags][SeqNum BE][Timestamp BE][Nonce][Payload][Tag][DeepfakeScore]. La charge utile (payload) est complétée (padding) jusqu’à une cible constante de 120 octets pour résister à l’analyse de trafic ; le reste du frame a une taille fixe. Identique sur toutes les plateformes client. Vérifiable avec le dissector Wireshark inclus.

  • Version + Flags: 2 byte
  • SeqNum: 4 byte big-endian
  • Payload + Tag + Score : dans le reste de la frame

HKDF labels costanti

Tous les KDF utilisent des chaînes label constantes définies dans la spécification : q-audion-frame-key, q-audion-root-ratchet, q-audion-psk-mix, q-audion-next-chain. Modifier un label casse l'interopérabilité. C'est pourquoi ils sont gated par KAT en CI sur toutes les plateformes.

  • HKDF-SHA-256 sur Android, iOS et Desktop
  • PRK dérivée de la clé maîtresse de la session
  • Le label info string complète la séparation de domaine

KAT-gated CI

Chaque plateforme inclut des tests qui chargent des vecteurs de test produits par BouncyCastle (référence Android) et vérifient les résultats bit à bit. Si Desktop ou iOS divergent, la CI échoue. Garantie continue d'interopérabilité.

  • KAT dumper BouncyCastle comme référence
  • tools/android-kat-dumper produit les vecteurs
  • Les checks Desktop/iOS chargent les vecteurs et comparent
ANTI-DEEPFAKE TOUJOURS ACTIF · APPELS CHIFFRÉS ET NON CHIFFRÉS · ZÉRO DONNÉE TRANSMISE · SOVEREIGN OPERATIONS · POST-QUANTUM ML-KEM-1024 · 3 BREVETS DÉPOSÉS
ANTI-DEEPFAKE TOUJOURS ACTIF · APPELS CHIFFRÉS ET NON CHIFFRÉS · ZÉRO DONNÉE TRANSMISE · SOVEREIGN OPERATIONS · POST-QUANTUM ML-KEM-1024 · 3 BREVETS DÉPOSÉS