Skip to content
xero edited this page Apr 10, 2026 · 7 revisions

Leviathan Crypto Library Documentation Index

Note

This index lists every documentation file in the docs/ directory. Use it as your starting point for the API reference, architecture notes, benchmarks, and correctness audits.

Table of Contents


Getting Started

Document Description
examples.md Code examples for every primitive
cdn.md Use leviathan-crypto directly from a CDN with no bundler
exports.md Complete export reference: every class, function, and type
init.md init() API, WasmSource, subpath imports, tree-shaking
loader.md WASM binary loading internals: WasmSource dispatch, loadWasm(), compileWasm()

API Reference

Authenticated Encryption

Module Description
aead.md Seal, SealStream, OpenStream, SealStreamPool, SerpentCipher, XChaCha20Cipher, KyberSuite

Post-Quantum KEM

Module Description
kyber.md MlKem512, MlKem768, MlKem1024, KyberSuite: ML-KEM key encapsulation (FIPS 203)

Serpent-256

Module Description
serpent.md TypeScript API: Serpent, SerpentCtr, SerpentCbc
asm_serpent.md WASM implementation: bitslice S-boxes, key schedule, CTR/CBC modes

XChaCha20 / Poly1305

Module Description
chacha20.md TypeScript API: ChaCha20, Poly1305, ChaCha20Poly1305, XChaCha20Poly1305
asm_chacha.md WASM implementation: quarter-round, Poly1305 accumulator, HChaCha20

SHA-2

Module Description
sha2.md TypeScript API: SHA256, SHA512, SHA384, HMAC_SHA256, HMAC_SHA384, HMAC_SHA512, HKDF_SHA256, HKDF_SHA512
asm_sha2.md WASM implementation: compression functions, HMAC inner/outer padding

SHA-3

Module Description
sha3.md TypeScript API: SHA3_224, SHA3_256, SHA3_384, SHA3_512, SHAKE128, SHAKE256
asm_sha3.md WASM implementation: Keccak permutation (1600-bit state), sponge construction

Fortuna CSPRNG

Module Description
fortuna.md Fortuna: CSPRNG with forward secrecy and 32 entropy pools

Utilities and Types

Module Description
utils.md randomBytes, constantTimeEqual, wipe, encoding helpers. No init() required
types.md TypeScript interfaces: Hash, KeyedHash, Blockcipher, Streamcipher, AEAD

Project Documentation

Document Description
architecture.md Repository structure, build pipeline, module relationships, buffer layouts, and correctness contract
test-suite.md Test suite structure, vector corpus, and gate discipline
Security Policy Security posture and vulnerability disclosure details
lexicon Glossary of cryptographic terms
wasm.md WebAssembly primer in the context of this library
argon2id.md Passphrase-based encryption using Argon2id alongside leviathan primitives
serpent_reference.md Serpent algorithm: S-boxes, linear transform, round structure, known attacks
chacha_reference.md ChaCha20 algorithm: ARX, block function, Poly1305 MAC, HChaCha20 subkeys, XChaCha20-Poly1305 AEAD, known attacks
branding.md Project artwork and branding materials

Performance

See the benchmark index for full results across V8, SpiderMonkey, and JavaScriptCore.

Document Description
benchmarks.md Benchmark index
serpent_simd_bench.md Serpent-256 CTR and CBC-decrypt: scalar vs 4-wide SIMD across V8, SpiderMonkey, and JSC
chacha_simd_bench.md ChaCha20 4-wide inter-block parallelism: scalar vs SIMD across all three engines. Includes documented negative result for intra-block approach

Algorithm Correctness

See the audit index for a summary of all reviews.

Primitive Description
audits.md Audit index
serpent_audit.md Correctness verification, side-channel analysis, cryptanalytic attack paper review
chacha_audit.md XChaCha20-Poly1305 correctness, Poly1305 field arithmetic, HChaCha20 nonce extension
sha2_audit.md SHA-256/512/384 correctness, HMAC and HKDF composition, constant verification
sha3_audit.md Keccak permutation correctness, step verification, round constant derivation
hmac_audit.md HMAC construction, key processing, RFC 4231 vector coverage
hkdf_audit.md HKDF extract-then-expand, info field domain separation, stream key derivation
kyber_audit.md ML-KEM FIPS 203 correctness, NTT verification, FO transform CT analysis, ACVP validation
stream_audit.md Streaming AEAD composition, counter nonce binding, final-chunk detection, key wipe paths

Leviathan-Crypto Wiki

Leviathan logo

Getting Started

Authenticated Encryption

Ciphers

  • Serpent-256 TypeScript | WASM
    • Serpent, SerpentCtr, SerpentCbc
  • ChaCha20 TypeScript | WASM
    • ChaCha20, Poly1305, ChaCha20Poly1305, XChaCha20Poly1305

Post-Quantum

Hashing

  • SHA-2 TypeScript | WASM
    • SHA256, SHA512, SHA384, HMAC_SHA256, HMAC_SHA512, HMAC_SHA384, HKDF_SHA256, HKDF_SHA512
  • SHA-3 TypeScript | WASM
    • SHA3_224, SHA3_256, SHA3_384, SHA3_512, SHAKE128, SHAKE256

Utilities

Project

Reference

Clone this wiki locally