Security and Audit Information
mainThe noble-ciphers library has undergone multiple audits to ensure security:
- Version 2.2.0 (Apr 2026): Self-audited by the maintainers. Scope: everything.
- Version 1.0.0 (Sep 2024): Independently audited by cure53. Scope: everything.
Security Considerations
- Constant-timeness: The library targets algorithmic constant time. However, due to the nature of JavaScript (JIT compilers and Garbage Collection), absolute constant-time resistance is difficult to achieve in a scripting language. For absolute security requirements, use low-level languages/libraries instead of JS.
- AES Implementation: The library uses T-tables for AES to maintain performance, which can leak access timings. This is a common trade-off also seen in OpenSSL and Go.
- Randomness: The library relies on the built-in
crypto.getRandomValues(CSPRNG). - Quantum Resistance: To protect against Grover's algorithm, it is recommended to use AES-256 instead of AES-128. Salsa and ChaCha are considered safe.