Elysia Tools
Navigation
Tools
Validation, privacy, cryptography, and security-focused tools
Calculators, numerics, date logic, statistics, and finance tools
Image, audio, and video processing, conversion, and optimization tools
Color, layout, graphics, visual styling, and design helper tools
Writing, cleanup, formatting, extraction, and text analysis tools
Developer utilities, networking, web debugging, and automation helpers
Format, file, archive, unit, and encoding conversion tools
Security
Generate ML-KEM-512/768/1024 (FIPS 203 / CRYSTALS-Kyber) keypairs, encapsulate a random shared secret against the public key, decapsulate it with the private key, and verify both sides match — with the exact wire sizes of all three parameter sets checked live against the standard.
Hide text in a PNG's least-significant bits, extract it back, and run the Westfeld–Pfitzmann chi-square steganalysis with a falling-p curve and LSB plane preview.
Cryptography
Decode WebAuthn/FIDO2 assertion fields, inspect authenticatorData flags and signCount, check challenge/origin/rpIdHash binding, and optionally verify ES256, RS256, or Ed25519 signatures with a supplied COSE public key.
Show each HMAC step of HKDF Extract+Expand for protocol key derivation, including PRK, T(n), and OKM.
Hash the same input with MD5, SHA-1, SHA-256, SHA-512, BLAKE2b, and BLAKE3 at the same time and compare them side by side: output length, hex/Base64 digest, security status (broken / modern), and a relative speed benchmark. Great for teaching, choosing a hashing algorithm, or sanity-checking checksums.
Generate cryptographically secure random key material driven by entropy budget — request N bits of entropy, get hex/base64/base64url output. Also supports custom-alphabet strings via crypto.randomInt (rejection-sampled, no modulo bias). Use this instead of Math.random()-based tools for any secret/key/token.
Audit HTTP response headers for security compliance — parses the raw headers you paste (no network) and grades them against the OWASP secure-header set with value-level checks: HSTS max-age, CSP unsafe-inline/eval, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, COOP/COEP/CORP and more. Outputs a letter grade (A+ to F) plus per-header findings with copy-ready fix recommendations.
Split a secret into n shares where any k (the threshold) are required to reconstruct it — Shamir's k-of-n scheme over GF(256). Pure in-process cryptography (crypto.randomBytes for polynomial coefficients), no network. Split a password/key/passphrase into shares held by separate people, then combine any k of them to recover it. Confidentiality only — no authenticity.
Encrypt text with an RSA public key or decrypt ciphertext with the matching private key, using OAEP padding (SHA-1 or SHA-256). Handles long messages by chunking. Keys and data stay local. PKCS#1 v1.5 is intentionally not offered (Node disables it for decryption due to Bleichenbacher attacks).
Generate an RSA key pair (2048/3072/4096-bit) as PEM-encoded public and private keys. Optionally encrypt the private key with a passphrase. PKCS#8 (recommended) or PKCS#1 private key format. Everything runs locally.
Generate an SSH key pair (Ed25519 recommended, RSA 4096, or ECDSA P-256) with an OpenSSH-format public key ready for ~/.ssh/authorized_keys, a SHA256 fingerprint, and a PEM private key. Optional passphrase encryption. Runs locally.
Compute an HMAC message-authentication signature over a message + shared secret using SHA-1/SHA-2/SHA-3/BLAKE2, or verify an incoming signature against the secret — with webhook presets for Stripe / Slack / GitHub and constant-time comparison