Seguridad

Cifrado de Dos Capas: Como Z-Text Protege tus Mensajes

La mayoria de los mensajeros cifrados dependen de una sola capa de cifrado. Z-Text utiliza dos capas de cifrado independientes, cada una protegiendo contra diferentes vectores de amenaza.

Z-Text Team·Engineering
15 de diciembre de 20256 min de lectura

La mayoría de los mensajeros cifrados dependen de una sola capa de cifrado. Z-Text usa dos capas de cifrado independientes, cada una protegiendo contra diferentes vectores de amenaza. Este artículo explica cómo funcionan juntas para proporcionar defensa en profundidad para tus mensajes.

Capa 1: Blindaje de blockchain

La primera capa de cifrado proviene de la propia blockchain de BitcoinZ. Las transacciones blindadas usan zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge) para cifrar todos los datos de la transacción.

Cuando un mensaje de Z-Text se envía como una transacción blindada, lo siguiente queda oculto para todos los observadores de la red:

  • La dirección del remitente
  • La dirección del destinatario
  • El monto de la transacción
  • El campo memo (donde se almacena el mensaje)

Solo el titular de la clave de visualización de la z-address del destinatario puede descifrar el campo memo y leer el contenido del mensaje. Esto protege contra la vigilancia pasiva de la red y el análisis de blockchain.

Capa 2: Cifrado con clave de contacto

La segunda capa añade cifrado de extremo a extremo sobre el blindaje de blockchain. Durante el proceso de handshake, Z-Text establece una clave secreta compartida entre dos contactos usando el intercambio de claves Elliptic Curve Diffie-Hellman (ECDH).

Antes de que cualquier mensaje se coloque en el memo de la transacción, se cifra con esta clave compartida. Esto significa que incluso si alguien obtiene la clave de visualización de la z-address (mediante coerción, robo o una vulnerabilidad futura), aún no puede leer los mensajes sin la clave de contacto derivada por separado.

El intercambio de claves del handshake

La clave de contacto se establece a través de un protocolo de handshake sin necesidad de confianza:

  1. Alice envía una solicitud de handshake a la z-address de Bob, conteniendo su clave pública efímera (cifrada en el memo de una transacción blindada)
  2. Bob acepta enviando su clave pública efímera de vuelta a Alice (también mediante transacción blindada)
  3. Tanto Alice como Bob derivan independientemente el mismo secreto compartido usando ECDH
  4. Este secreto compartido se convierte en la clave de cifrado simétrico para todos los mensajes futuros

La elegancia de este enfoque es que incluso el intercambio de claves está protegido por el blindaje de la Capa 1. Un observador no puede ver las claves públicas siendo intercambiadas ni siquiera que se está realizando un handshake.

Por qué importan dos capas

Cada capa protege contra diferentes escenarios de ataque:

  • Solo la Capa 1 protege contra observadores de la red y analistas de blockchain, pero es vulnerable al compromiso de la clave de visualización
  • Solo la Capa 2 protege contra el compromiso de la clave de visualización, pero sería vulnerable si los mensajes se enviaran en texto plano en la cadena
  • Ambas capas juntas requieren que un atacante comprometa dos sistemas criptográficos independientes simultáneamente

Este es el principio de defensa en profundidad aplicado al cifrado de mensajería. Ningún punto único de fallo puede exponer tus mensajes.

Primitivas criptográficas

La pila de cifrado de Z-Text utiliza primitivas criptográficas bien establecidas:

  • zk-SNARKs (Groth16) para transacciones blindadas de la Capa 1
  • ECDH sobre Curve25519 para el intercambio de claves
  • ChaCha20-Poly1305 para el cifrado simétrico de la Capa 2
  • BLAKE2b para la derivación de claves

Todas las operaciones criptográficas se realizan en el núcleo Rust de la aplicación, aprovechando implementaciones de tiempo constante para prevenir ataques de canal lateral por temporización.

Implicaciones prácticas

Para el usuario, el cifrado de dos capas es completamente transparente. La aplicación maneja todo el intercambio de claves y el cifrado automáticamente. Los mensajes aparecen en una interfaz de chat familiar sin indicación de la sofisticada criptografía que ocurre por debajo.

El resultado es un nivel de seguridad de mensajes que supera lo que cualquier mensajero centralizado puede ofrecer -- no porque la criptografía sea más compleja, sino porque el modelo de confianza es fundamentalmente diferente. No hay servidor que citar judicialmente, no hay empresa que coaccionar, y no hay una sola clave que lo desbloquee todo.

#encryption#zk-snarks#security#privacy
CompartirTwitter

Articulos Relacionados

Z-TEXT logoZ-TEXT

Tus llaves. Tus mensajes. Tu libertad.
El mensajero blockchain con zk-SNARKs FUERA DEL ALCANCE DE LA CENSURA.

zk means zero leaks

Empresa

Z-TEXT Ltd

Trust Company Complex

Ajeltake Road, Ajeltake Island

Majuro, Marshall Islands

MH96960

Technical glossary

zk-SNARKs
Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge — cryptographic proofs that verify a statement without revealing the data behind it. Reference.
BitcoinZ (BTCZ)
Community-driven, no-premine cryptocurrency with zk-SNARKs shielded transactions, launched 2017. Launch announcement.
Equihash
Memory-hard proof-of-work algorithm used by BitcoinZ consensus; it is part of the network security model, not a standalone post-quantum guarantee. Reference.
AES-256-GCM
NIST-standard authenticated encryption used for local message payload encryption before on-chain broadcast. NIST SP 800-38D.
Ztext

Construido con para la privacidad

Construido por luchadores por la libertad de expresión y la libertad digital