noble cryptography is a high-security, easily auditable set of contained cryptographic libraries with the following features:
- Zero or minimal dependencies
- Highly readable TypeScript / JS code
- PGP-signed releases and transparent NPM builds
The idea was to: 1) improve knowledge of cryptography 2) improve supply chain security of JS ecosystem 3) provide libraries that could be used for learning, because other libs are too low-level / unfriendly to beginners.
Noble has been audited 7 times by external security firms. It is used by MetaMask, ethers.js, viem, Protonmail, Tutanota, polkadot.js, solana-web3.js and, as of Aug 2026, over 1.6M open-source repositories: 740K for hashes, 415K for curves, 350K for secp256k1, 75K for ciphers, 70K for ed25519. Weekly npm downloads: 63M for hashes, 24M for curves, 23M for ciphers, 2.6M for ed25519, 1.1M for secp256k1, 220K for post-quantum.
Usage
// npm install @noble/curves @noble/hashes
import { secp256k1 } from '@noble/curves/secp256k1.js';
const priv = secp256k1.utils.randomSecretKey();
const pub = secp256k1.getPublicKey(priv);
const msg = new TextEncoder().encode('hello noble');
const sig = secp256k1.sign(msg, priv);
const isValid = secp256k1.verify(sig, msg, pub);
Active projects:
- ciphers (github, npm): cryptographic ciphers, including Salsa20, ChaCha and AES
- curves (github, npm): elliptic curve cryptography, including secp256k1, ed25519, ed448, NIST / Brainpool curves, bn254, bls12-381, schnorr, hash-to-curve, FROST, Poseidon
- hashes (github, npm): hash functions, MACs & KDFs, including SHA, RIPEMD, BLAKE, HMAC, HKDF, PBKDF & Scrypt
- post-quantum (github, npm): PQ algorithms, including ML-KEM, ML-DSA, SLH-DSA, FN-DSA (aka Kyber, Dilithium, SPHINCS+ and Falcon) and hybrids
- awasm-noble (github, npm): ultra-fast WASM version of hashes & ciphers
The code is also available on gitlab, codeberg and jsr. The project can be funded using github. Current large sponsors include wevm & vault12.
History
- Jun 2019: initial release of secp256k1, ed25519 and then bls12-381
- Apr 2020: the blog post about ecc went live
- 2021
- Apr: audit #1 (secp256k1, by Cure53), crowdfunded with help of Umbra.cash
- Oct: hashes have been released, funded by Ethereum Foundation
- Nov: received a grant from Optimism
- 2022
- Jan: audit #2 (hashes, by Cure53), funded by Ethereum Foundation with help of Nomic Labs
- Feb: audit #3 (ed25519, by Cure53)
- Dec: curves have been released, consolidating three previous packages in one
- 2023
- Feb: audit #4 (curves, by Trail of Bits), funded by Ryan Shea
- Mar: secp256k1 and ed25519 have been rewritten and became 5KB single-feature versions of curves
- Jun: ciphers have been released
- Sep: audit #5 (curves, by Kudelski Security), funded by starknet
- 2024
- Feb: post-quantum have been released
- May: received a grant from Farcaster
- Sep: audit #6 (ciphers and curves, by Cure53), funded by OpenSats
- 2025
- Aug: released v2 of ciphers, curves, hashes; v3 of ed25519, secp256k1. Mostly security improvements. Curves were massively renewed.
- 2026
- Apr: initial release of awasm-noble
- Aug: audit #7 (curves, by Trail of Bits, in collaboration with OpenAI)
- LLM-assisted self-audits begin
- The first self-audit found more minor issues than all previous 3rd party audits combined
scure
Noble’s non-cryptographic sister project. Audited micro-libraries:
- Jan 2022: base base64, bech32…, bip32 hdkey, bip39 mnemonics
- Feb 2023: btc-signer transactions, segwit, taproot, psbt, multisig
- Sep 2023: starknet stark curve, pedersen and poseidon hash
- Jun 2025: sr25519 polkadot cryptography: sr25519, Merlin, Strobe, HDKD, VRF
- Apr 2026: new hardened releases, with deep, LLM-assisted self-audit
Learning
The interactive demos at the bottom of this page visualize the EC group law, the discrete logarithm problem, the hash avalanche effect and authenticated encryption. To go deeper:
- Learning fast elliptic-curve cryptography
- EdDSA
- Ciphers: Fast-key-erasure RNGs, Chacha20 design, Poly1305 design, How to create a new block cipher?
- PQ and lattices: PQC for non-cryptographers
- Pairings and BLS: BLS signatures for busy people, Estimating the bit security of pairing-friendly curves
- Multi-user / multi-key attacks: Break a dozen secret keys, get a million more for free, On “128-bit security”
- Videos: Why elliptic curve addition works, Learning with errors: unsolveable equations, Lattices, Shor’s algorithm