Introduction
Implementation Coverage
Detailed status of Node.js API compatibility
This page tracks the implementation status of react-native-quick-crypto against the standard Node.js crypto API and the W3C WebCrypto API.
Implemented: Full support
Partial: Not fully implemented
Missing: Not implemented
Implemented: 57%
Partial: 14%
Missing: 30%
Post-Quantum Cryptography (PQC)
Quantum-resistant cryptography algorithms (FIPS 203/204).
ML-DSA (Digital Signatures)ML-DSA-44, 65, 87Implemented
ML-KEM (Key Encapsulation)ML-KEM-512, 768, 1024Implemented
Crypto Classes
CertificateexportChallenge
exportPublicKey
verifySpkac
Missing
Cipherivfinal
getAuthTag
setAAD
setAutoPadding
update
Implemented
Decipherivfinal
setAAD
setAuthTag
setAutoPadding
update
Implemented
DiffieHellmanUse crypto.generateKeys or crypto.diffieHellman insteadImplemented
ECDHUse simple ECDH methods insteadImplemented
Hashcopy
digest
update
Implemented
Hmacdigest
update
Implemented
Signsign
update
Implemented
Verifyverify
update
Implemented
KeyObjectasymmetricKeyType
export
type
asymmetricKeyDetails
equals
symmetricKeySize
toCryptoKey
from
Partial
X509CertificateMissing
Crypto Methods
argon2Missing
checkPrimeMissing
constantsImplemented
createCipherivImplemented
createDecipherivImplemented
createDiffieHellmanMissing
createDiffieHellmanGroupMissing
createECDHMissing
createHashImplemented
createHmacImplemented
createPrivateKeyImplemented
createPublicKeyImplemented
createSecretKeyImplemented
createSignImplemented
createVerifyImplemented
decapsulateMissing
diffieHellmandh
ec
x448
x25519
Partial
encapsulateMissing
fipsMissing
generateKeyaes
hmac
Implemented
generateKeyPairrsa
rsa-pss
dsa
ec
ed25519
ed448
x25519
x448
dh
Partial
generateKeyPairSyncrsa
rsa-pss
dsa
ec
ed25519
ed448
x25519
x448
dh
Partial
generateKeySyncaes
hmac
Implemented
generatePrimeMissing
getCipherInfoMissing
getCiphersImplemented
getCurvesMissing
getDiffieHellmanMissing
getFipsMissing
getHashesImplemented
getRandomValuesImplemented
hashMissing
hkdfImplemented
pbkdf2Implemented
privateDecrypt / privateEncryptImplemented
publicDecrypt / publicEncryptImplemented
randomBytesImplemented
randomFill / randomFillSyncImplemented
randomIntImplemented
randomUUIDImplemented
scryptImplemented
secureHeapUsedMissing
setEngineMissing
setFipsMissing
signRSASSA-PKCS1-v1_5
RSA-PSS
ECDSA
Ed25519
Ed448
HMAC
Implemented
verifyRSASSA-PKCS1-v1_5
RSA-PSS
ECDSA
Ed25519
Ed448
HMAC
Implemented
timingSafeEqualMissing
WebCrypto (Subtle)
crypto.subtledecapsulateBits
decapsulateKey
encapsulateBits
encapsulateKey
getPublicKey
supports
Missing
crypto.subtle.decryptRSA-OAEP
AES-CTR
AES-CBC
AES-GCM
ChaCha20-Poly1305
Implemented
crypto.subtle.deriveBitsECDH
X25519
X448
HKDF
PBKDF2
Partial
crypto.subtle.deriveKeyECDH
HKDF
PBKDF2
X25519
X448
Partial
crypto.subtle.digestcSHAKE128
cSHAKE256
SHA-1
SHA-256
SHA-384
SHA-512
SHA3-256
SHA3-384
SHA3-512
Partial
crypto.subtle.encryptAES-CTR
AES-CBC
AES-GCM
AES-OCB
ChaCha20-Poly1305
RSA-OAEP
Partial
crypto.subtle.exportKeyAES-CBC
AES-CTR
AES-GCM
AES-KW
AES-OCB
ChaCha20-Poly1305
ECDH
ECDSA
Ed25519
Ed448
HMAC
ML-DSA-44
ML-DSA-65
ML-DSA-87
ML-KEM-512
ML-KEM-768
ML-KEM-1024
RSA-OAEP
RSA-PSS
RSASSA-PKCS1-v1_5
Partial
crypto.subtle.generateKeyECDH
ECDSA
Ed25519
Ed448
ML-DSA-44
ML-DSA-65
ML-DSA-87
ML-KEM-512
ML-KEM-768
ML-KEM-1024
RSA-OAEP
RSA-PSS
RSASSA-PKCS1-v1_5
X25519
X448
AES-CTR
AES-CBC
AES-GCM
AES-KW
AES-OCB
ChaCha20-Poly1305
HMAC
Partial
crypto.subtle.importKeyAES-CBC
AES-CTR
AES-GCM
AES-KW
AES-OCB
ChaCha20-Poly1305
ECDH
ECDSA
Ed25519
Ed448
HKDF
HMAC
ML-DSA-44
ML-DSA-65
ML-DSA-87
ML-KEM-512
ML-KEM-768
ML-KEM-1024
PBKDF2
RSA-OAEP
RSA-PSS
RSASSA-PKCS1-v1_5
X25519
X448
Partial
crypto.subtle.signECDSA
Ed25519
Ed448
HMAC
ML-DSA-44
ML-DSA-65
ML-DSA-87
RSA-PSS
RSASSA-PKCS1-v1_5
Implemented
crypto.subtle.unwrapKeyAES-GCM (Wraps)
AES-KW (Wraps)
ChaCha20-Poly1305 (Wraps)
AES-CBC (Wraps)
AES-CTR (Wraps)
AES-OCB (Wraps)
RSA-OAEP (Wraps)
Partial
crypto.subtle.verifyECDSA
Ed25519
Ed448
HMAC
ML-DSA-44
ML-DSA-65
ML-DSA-87
RSA-PSS
RSASSA-PKCS1-v1_5
Implemented
crypto.subtle.wrapKeyAES-GCM
AES-KW
ChaCha20-Poly1305
AES-CBC
AES-CTR
AES-OCB
RSA-OAEP
Partial