Byte-Idéntico Interoperabilidad
Tres clientes (Android, iOS, Desktop), un solo formato de cable. Diseño de trama, etiquetas HKDF, relleno CBR: todo bit a bit idéntico, validado en CI con Known-Answer-Test.
Diseño de trama
Cada trama de audio tiene la siguiente estructura: [Version][Flags][SeqNum BE][Timestamp BE][Nonce][Payload][Tag][DeepfakeScore]. Longitud fija de 256 bytes después del relleno. Idéntica en todas las plataformas cliente. Verificable con el disector de Wireshark incluido.
- Versión + Flags: 2 bytes
- SeqNum: 4 bytes big-endian
- Payload + Tag + Score: en el resto de la trama
Etiquetas HKDF constantes
Todos los KDF utilizan etiquetas de cadena constantes definidas en la especificación: q-audion-frame-key, q-audion-root-ratchet, q-audion-psk-mix, q-audion-next-chain. Cambiar una etiqueta rompe la interoperabilidad. Por esta razón, están protegidas por KAT en CI en todas las plataformas.
- HKDF-SHA-256 (Android/iOS), HKDF-SHA-512 (Desktop híbrido)
- PRK derivado de la clave maestra de la sesión
- La cadena de información de la etiqueta completa la separación de dominio
CI con KAT-gated
Cada plataforma incluye pruebas que cargan vectores de prueba producidos por BouncyCastle (referencia de Android) y verifican los resultados bit a bit. Si Desktop o iOS divergen, la CI falla. Garantía continua de interoperabilidad.
- BouncyCastle KAT dumper como referencia
- tools/android-kat-dumper produce los vectores
- Desktop/iOS check carga los vectores y compara