AES.js
Dependency-free implementation of the Advanced Encryption Standard (AES) in modern JavaScript, covering the block cipher and the supporting primitives (PKCS#7 padding, SHA‑256, HMAC‑SHA256, PBKDF2‑HMAC) in plain code. The aim is a small, readable surface for environments where shipping a full third‑party crypto suite would be excessive.
It supports AES‑128/192/256 across ECB, CBC, PCBC, CTR, CFB, OFB and GCM, optional key derivation and integrity protection, plus utilities like sha256, hmacSha256 and pbkdf2Sha256. A compact API and regression suite (NIST KATs, fuzzing, large‑payload stress tests) keep it practical for teaching, prototypes and small systems that need deterministic, inspectable cryptography.
Oct 2024