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: 86%
Partial: 7%
Missing: 7%
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, 1024Missing
Crypto Classes
CertificateexportChallenge
exportPublicKey
verifySpkac
Implemented
Cipherivfinal
getAuthTag
setAAD
setAutoPadding
update
Implemented
Decipherivfinal
setAAD
setAuthTag
setAutoPadding
update
Implemented
DiffieHellmanUse crypto.generateKeys or crypto.diffieHellman insteadImplemented
ECDHconvertKey
computeSecret
generateKeys
getPrivateKey
getPublicKey
setPrivateKey
setPublicKey
Implemented
Hashcopy
digest
update
Implemented
Hmacdigest
update
Implemented
Signsign
update
Implemented
Verifyverify
update
Implemented
KeyObjectasymmetricKeyType
export
type
asymmetricKeyDetails
equals
symmetricKeySize
toCryptoKey
from
Implemented
X509Certificatenew X509Certificate(buffer)
ca
checkEmail
checkHost
checkIP
checkIssued
checkPrivateKey
fingerprint
fingerprint256
fingerprint512
infoAccess
issuer
issuerCertificate
extKeyUsage
keyUsage
signatureAlgorithm
signatureAlgorithmOid
publicKey
raw
serialNumber
subject
subjectAltName
toJSON
toLegacyObject
toString
validFrom
validTo
verify
Implemented
Crypto Methods
argon2Implemented
checkPrimeImplemented
constantsImplemented
createCipherivImplemented
createDecipherivImplemented
createDiffieHellmanImplemented
createDiffieHellmanGroupImplemented
createECDHImplemented
createHashImplemented
createHmacImplemented
createPrivateKeyImplemented
createPublicKeyImplemented
createSecretKeyImplemented
createSignImplemented
createVerifyImplemented
decapsulateMissing
signOne-shot signingImplemented
verifyOne-shot verificationImplemented
diffieHellmandh
ec
x448
x25519
Implemented
encapsulateMissing
fipsDeprecated, not applicable to RNN/A
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
generatePrimeImplemented
getCipherInfoImplemented
getCiphersImplemented
getCurvesImplemented
getDiffieHellmanImplemented
getFipsNot applicable to RNN/A
getHashesImplemented
getRandomValuesImplemented
hashImplemented
hkdfImplemented
pbkdf2Implemented
privateDecrypt / privateEncryptImplemented
publicDecrypt / publicEncryptImplemented
randomBytesImplemented
randomFill / randomFillSyncImplemented
randomIntImplemented
randomUUIDImplemented
scryptImplemented
secureHeapUsedNot applicable to RNN/A
setEngineNot applicable to RNN/A
setFipsNot applicable to RNN/A
signRSASSA-PKCS1-v1_5
RSA-PSS
ECDSA
Ed25519
Ed448
HMAC
Implemented
verifyRSASSA-PKCS1-v1_5
RSA-PSS
ECDSA
Ed25519
Ed448
HMAC
Implemented
timingSafeEqualImplemented
WebCrypto (Subtle)
crypto.subtledecapsulateBits
decapsulateKey
encapsulateBits
encapsulateKey
getPublicKey
supports
Partial
crypto.subtle.decryptRSA-OAEP
AES-CTR
AES-CBC
AES-GCM
AES-OCB
ChaCha20-Poly1305
Implemented
crypto.subtle.deriveBitsArgon2d
Argon2i
Argon2id
ECDH
X25519
X448
HKDF
PBKDF2
Implemented
crypto.subtle.deriveKeyArgon2d
Argon2i
Argon2id
ECDH
HKDF
PBKDF2
X25519
X448
Implemented
crypto.subtle.digestcSHAKE128
cSHAKE256
SHA-1
SHA-256
SHA-384
SHA-512
SHA3-256
SHA3-384
SHA3-512
Implemented
crypto.subtle.encryptAES-CTR
AES-CBC
AES-GCM
AES-OCB
ChaCha20-Poly1305
RSA-OAEP
Implemented
crypto.subtle.exportKeyAES-CBC
AES-CTR
AES-GCM
AES-KW
AES-OCB
ChaCha20-Poly1305
ECDH
ECDSA
Ed25519
Ed448
HMAC
KMAC128
KMAC256
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
KMAC128
KMAC256
Partial
crypto.subtle.importKeyArgon2d
Argon2i
Argon2id
AES-CBC
AES-CTR
AES-GCM
AES-KW
AES-OCB
ChaCha20-Poly1305
ECDH
ECDSA
Ed25519
Ed448
HKDF
HMAC
KMAC128
KMAC256
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
KMAC128
KMAC256
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)
Implemented
crypto.subtle.verifyECDSA
Ed25519
Ed448
HMAC
KMAC128
KMAC256
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
Implemented