Cryptography Tutorials
Choosing an algorithm is the easy part. These tutorials cover nonces, key derivation, authentication tags and the trade-offs between AES-GCM and ChaCha20-Poly1305, with code you can run in the browser.
Start with AES-256-GCM. The encryption guide covers key generation, the 96-bit nonce, the authentication tag and the byte layout a decryptor expects; the decryption guide works backwards from ciphertext someone else produced, including the failures that look like corruption — a truncated tag, a reused nonce, a key derived with the wrong parameters. The production guide collects what only appears after you ship, from key rotation and versioned storage formats to what you may log without logging plaintext.
Where the choice between ciphers actually matters, the comparison of AES-GCM against ChaCha20-Poly1305 puts both side by side on hardware acceleration, nonce reuse and mobile performance. The Web Crypto material shows which parts the platform handles for you — import and export formats, non-extractable keys — and which it deliberately leaves to your own code, while the RSA generator produces key pairs that are never uploaded. The client-side walkthrough ties the pieces together: passphrase in, PBKDF2 for derivation, AES-GCM for the payload.
How to Decrypt AES-256-GCM Locally
Decrypting AES-256-GCM is straightforward when you have the password and the right metadata. Here is the exact workflow—and the mistakes that break decryption.
RSA Key Pair Guide: Generate PEM Keys
Public and private keys, PEM headers, key sizes, and storage habits. Generate a pair locally and understand exactly what the files mean.
AES-GCM vs ChaCha20-Poly1305
Both encrypt and authenticate in one pass. AES-GCM wins on hardware-accelerated chips; ChaCha20-Poly1305 wins in pure software and on small devices. The rest of the decision is your platform.
Building a Complete Password Encryption System
From user password to encrypted data storage. A complete solution for secure applications.