Skip to content

Repository files navigation

🔒 QuietBox (CryptVault)

Cifrador de Volúmenes Ocultos con Denegación Plausible

Desktop application for hidden-volume container encryption with plausible deniability.

License: MIT Built with Tauri v2 Svelte v5 Rust Crypto UI: Brutalist


🇪🇸 Español

1. Visión y Propósito

QuietBox es una herramienta de escritorio de grado defensivo diseñada para activistas, periodistas, investigadores y personas bajo riesgo de coacción física, legal o fronteriza.

Permite cifrar un archivo o conjunto de carpetas dentro de dos volúmenes independientes en un único contenedor binario (.qbv):

  • Volumen Señuelo (Decoy): Contenido inofensivo que se revela al introducir la contraseña señuelo.
  • Volumen Oculto (Hidden): Contenido sensible que se revela únicamente con la contraseña oculta.

El archivo contenedor es matemáticamente indistinguible de ruido aleatorio puro (entropía > 7.999 bits/byte). Ningún análisis forense de bajo nivel puede demostrar si existe o no un segundo volumen oculto en su interior.


2. Arquitectura Criptográfica y Formato de Contenedor

[ Contenedor de Tamaño Fijo (ej. 500 MB) ]
Offset 0                                                                  Offset FINAL
┌────────────────────────────────────────────────────────────────────────────────────┐
│ Cabecera Cifrada Señuelo (512 B) [Salt | Nonce | Longitud | AES-GCM(Header)]      │
│ Datos Cifrados Señuelo (ZIP uncompressed + AES-256-GCM)                            │
│ ... Relleno Aleatorio CSPRNG (OsRng) ...                                           │
│      Cabecera + Datos Cifrados del Volumen OCULTO (Posición no determinista)       │
│ Relleno Aleatorio hasta el tamaño total exacto                                     │
└────────────────────────────────────────────────────────────────────────────────────┘

Reglas de Seguridad No Negociables

  1. Sin Bytes Mágicos: No existen cabeceras en texto claro, firmas de archivo ni identificadores de versión expuestos.
  2. Posicionamiento No Determinista: La posición del volumen oculto se deriva mediante hash keyed determinista (BLAKE3) a partir de la contraseña oculta y el tamaño del contenedor, ubicándose en la mitad superior del archivo.
  3. Tiempo de Respuesta Constante (Constant-Time Response): Al abrir un contenedor, la aplicación ejecuta siempre las derivaciones de clave para evitar ataques de canal lateral (timing attacks).
  4. Cero Retención en Memoria: Todas las claves y estructuras sensibles implementan ZeroizeOnDrop.
  5. Cifrado Autenticado (AES-256-GCM): Cualquier manipulación de bytes se detecta automáticamente sin filtrar metadatos.
  6. KDF Resistente a GPU/ASIC: Utiliza Argon2id con parámetros mínimos seguros (por defecto: 256 MB RAM, 3 iteraciones, 4 hilos).

3. Modo de Uso

Crear un Contenedor

  1. Haz clic en NEW ARCHIVE o arrastra los archivos iniciales a la ventana.
  2. Introduce un nombre para el contenedor.
  3. Define la PRIMARY PASSWORD (abrirá el volumen señuelo).
  4. (Opcional) Marca ENABLE ALTERNATIVE (HIDDEN) PASSWORD:
    • Define la contraseña oculta (debe ser distinta a la principal).
    • Añade los archivos ultra confidenciales que pertenecerán a ese volumen.
  5. Haz clic en CREATE → y elige la ruta de guardado (.qbv).

Desbloquear un Contenedor

  1. Abre QuietBox y arrastra tu archivo .qbv o pulsa OPEN ARCHIVE.
  2. Escribe tu contraseña:
    • Si introduces la contraseña señuelo, verás únicamente los archivos señuelo.
    • Si introduces la contraseña oculta, accederás a los archivos confidenciales.
  3. Extrae o añade nuevos archivos en tiempo real.

🛠️ Desarrollo y Compilación

Requisitos

  • Node.js v18+
  • Rust con soporte de toolchain MSVC / C++

Ejecutar en desarrollo

npm install
npm run tauri dev

Compilar ejecutable de producción (.exe)

npm run tauri build

El binario final se generará en: src-tauri/target/release/bundle/


🇬🇧 English

1. Overview & Purpose

QuietBox is a defensive-grade desktop application for activists, investigative journalists, and privacy-conscious users operating in coercive environments.

It encrypts files within two independent volumes inside a single binary container (.qbv):

  • Decoy Volume: Harmless decoy content unlocked via the primary password.
  • Hidden Volume: Sensitive content unlocked exclusively with the hidden password.

The resulting container is mathematically indistinguishable from pure random noise (entropy > 7.999 bits/byte). No forensic tooling can prove or disprove the existence of a secondary hidden volume.


2. Cryptographic Highlights

  • AES-256-GCM authenticated payload encryption.
  • Argon2id memory-hard key derivation function.
  • Zero-knowledge memory management (ZeroizeOnDrop).
  • No magic bytes, no plaintext headers, no identifiable signatures.

3. Build & Run

npm install
npm run tauri dev      # Development
npm run tauri build    # Standalone release (.exe)

📜 License

Distributed under the MIT License. See LICENSE for details.

About

Encrypt files free with a decoy and a hidden volume. Give up the wrong password under pressure and no one's the wiser.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages