v0.1.6
feat(crypto): Initial stable release of react-native-nitro-crypto
This commit marks the first official stable release of the react-native-nitro-crypto library, achieving full compatibility with Node.js Crypto APIs and the WebCrypto standard for React Native applications.
Key Features & Implementations:
-
Full Node.js Crypto API Compatibility:
- Implemented
crypto.constants,crypto.randomUUID,crypto.getRandomValues. - Added support for
CipherivandDecipherivwith AAD (Additional Authenticated Data) and Auth Tag support (AES-GCM/CCM/OCB). - Implemented
DiffieHellman,DiffieHellmanGroup, andECDHclasses with support for classic and modern curves. - Implemented
Hash,Hmac,Sign,Verifyclasses. - Added
KeyObjectimplementation with full conversion support (from,toCryptoKey,export,asymmetricKeyDetails). - Implemented
X509Certificatewith extensive validation methods (checkEmail,checkHost,verify,checkIssued). - Added utility functions:
hkdf,pbkdf2,scrypt,timingSafeEqual,checkPrime,generatePrime.
- Implemented
-
WebCrypto API (SubtleCrypto) Standard Compliance:
- Full implementation of
subtle.importKeyandsubtle.exportKeysupportingraw,pkcs8,spki, andjwkformats. - Implemented
subtle.encrypt,subtle.decrypt,subtle.sign,subtle.verify,subtle.digest. - Implemented
subtle.deriveKey,subtle.deriveBits(ECDH, X25519, X448, HKDF, PBKDF2). - Implemented
subtle.wrapKeyandsubtle.unwrapKeyfor secure key transport (AES-KW, RSA-OAEP, AES-GCM). - Implemented
subtle.generateKeyfor all supported algorithms.
- Full implementation of
-
Advanced & Post-Quantum Cryptography (PQC) Support:
- Post-Quantum Algorithms: Full support for ML-DSA (Module Lattice Digital Signature Algorithm) and ML-KEM (Module Lattice Key Encapsulation Mechanism) - levels 44/65/87 and 512/768/1024.
- Modern Curves: Complete support for Ed25519, Ed448, X25519, and X448.
- Modern Ciphers: Added support for ChaCha20-Poly1305 and AES-OCB.
-
High-Performance Architecture:
- Built on top of
react-native-nitro-modulesfor efficient native bridging. - Core cryptography implemented in Rust for memory safety and performance, exposed via C-API.
- Built on top of