Zero-Dependency Web Cryptography Suite
High-performance AES-256-GCM encryption for text, files, and WebRTC E2EE insertable streams. Built natively for browser and Node.js Web Crypto environments.
AES-256-GCM Encryption
Authenticated symmetric encryption with unique 128-bit salt and 96-bit IV per payload for max integrity and secrecy.
RSA-4096 Hybrid Mode
Asymmetric public-key encryption combining RSA-OAEP key wrapping with high-speed AES-256-GCM payload encryption.
WebRTC E2EE Streams
Real-time video/audio media frame encryption using WebRTC Insertable Streams and transform streams.
Zero Dependencies
100% native Web Crypto API (`globalThis.crypto.subtle`) execution in Chrome, Edge, Firefox, Safari, and Node.js 18+.
OWASP 2025+ Compliant
Quantum-safe key derivation using PBKDF2 with 600,000 iterations and timing-attack resistant comparisons.
File & Stream Chunks
Chunked file encryption with constant memory usage, streaming support, and automatic unref'd key caching.
Live Web Cryptography Tools
Live inspection of your current browser runtime environment (`globalThis.crypto.subtle` capabilities and native Web Crypto features):
Comprehensive Suite Examples
1. Symmetric AES-256-GCM Text & Data
2. Asymmetric RSA-4096 Hybrid Public Key Encryption
3. Deterministic HMAC Authentication (SHA-256 / SHA-3)
Exported Modules & Signatures
| Module | Method | Description |
|---|---|---|
| `WebCrypt` | `encryptText(text, password)` | AES-256-GCM text encryption returning Base64 salt+iv+ciphertext. |
| `WebCrypt` | `decryptText(b64, password)` | Decrypts Base64 string back to plain text. |
| `WebCrypt` | `encryptFile(file, password)` | Streaming file encryption returning encrypted Blob. |
| `WebCrypt` | `generateHmacKey(password, hash, salt)` | Derives deterministic HMAC key using PBKDF2. |
| `WebCryptAsym` | `generateKeyPair()` | Generates 4096-bit RSA-OAEP key pair. |
| `WebCryptAsym` | `encryptText(text, publicKey)` | Hybrid RSA-4096 + AES-256-GCM text encryption. |
| `TimingSafeHelper` | `constantTimeCompareBuffers(a, b)` | Constant-time buffer comparison preventing timing oracles. |
Limitation of Liability & License
WebCrypt is maintained by PuterVision LLC and released under the MIT License.