Symmetric Encryption Overview

Symmetric encryption uses the same key for encryption and decryption. The three most widely used algorithms:

AES (Advanced Encryption Standard): NIST-standardized in 2001, used worldwide. Available in 128, 192, and 256-bit key lengths. Hardware-accelerated on modern CPUs.

ChaCha20: Designed by Daniel J. Bernstein. Software-optimized, faster than AES on devices without hardware acceleration. Used by Google for TLS.

Twofish: AES finalist, designed by Bruce Schneier. 256-bit key, unpatented, less widely adopted than AES.

Detailed Comparison

AES-256-GCM: Industry standard, NIST-approved, hardware-accelerated (AES-NI), authenticated encryption. Used by governments, military, financial institutions. Practical weakness: side-channel attacks if implemented incorrectly.

ChaCha20-Poly1305: Excellent software performance, resistant to timing attacks, used in WireGuard and TLS 1.3. Preferred on mobile devices without AES-NI.

Twofish-256: Conservative design, large security margin, less analyzed than AES due to lower adoption. Used in VeraCrypt and some specialized applications.

All three are considered cryptographically secure. The practical differences are in performance, hardware support, and ecosystem adoption.

What ZeroLatch uses

ZeroLatch uses AES-256-GCM through the browser's Web Crypto implementation. GCM provides confidentiality and an authentication tag so altered ciphertext can be rejected.

The algorithm name is only one part of the design. Nonce uniqueness, key generation, authenticated metadata, key custody, recipient verification and implementation testing matter just as much. Private and Simple modes deliberately have different recovery boundaries; neither should be collapsed into a universal “zero knowledge” claim.

How to evaluate an implementation

Look for a versioned ciphertext format, random nonces, authenticated additional data, explicit file-size limits and tests that reject modified metadata or tags. Ask how keys are backed up, whether recovery changes the trust boundary and what happens during migration.

Cryptographic comparisons should avoid “unbreakable” language. Strong primitives reduce risk when implemented and operated correctly; they do not cure compromised endpoints, weak authentication or lost recovery material.