React Native Quick Crypto
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, 87
Implemented
ML-KEM (Key Encapsulation)ML-KEM-512, 768, 1024
Implemented

Crypto Classes

Certificate
exportChallenge
exportPublicKey
verifySpkac
Missing
Cipheriv
final
getAuthTag
setAAD
setAutoPadding
update
Implemented
Decipheriv
final
setAAD
setAuthTag
setAutoPadding
update
Implemented
DiffieHellmanUse crypto.generateKeys or crypto.diffieHellman instead
Implemented
ECDHUse simple ECDH methods instead
Implemented
Hash
copy
digest
update
Implemented
Hmac
digest
update
Implemented
Sign
sign
update
Implemented
Verify
verify
update
Implemented
KeyObject
asymmetricKeyType
export
type
asymmetricKeyDetails
equals
symmetricKeySize
toCryptoKey
from
Partial
X509Certificate
Missing

Crypto Methods

argon2
Missing
checkPrime
Missing
constants
Implemented
createCipheriv
Implemented
createDecipheriv
Implemented
createDiffieHellman
Missing
createDiffieHellmanGroup
Missing
createECDH
Missing
createHash
Implemented
createHmac
Implemented
createPrivateKey
Implemented
createPublicKey
Implemented
createSecretKey
Implemented
createSign
Implemented
createVerify
Implemented
decapsulate
Missing
diffieHellman
dh
ec
x448
x25519
Partial
encapsulate
Missing
fips
Missing
generateKey
aes
hmac
Implemented
generateKeyPair
rsa
rsa-pss
dsa
ec
ed25519
ed448
x25519
x448
dh
Partial
generateKeyPairSync
rsa
rsa-pss
dsa
ec
ed25519
ed448
x25519
x448
dh
Partial
generateKeySync
aes
hmac
Implemented
generatePrime
Missing
getCipherInfo
Missing
getCiphers
Implemented
getCurves
Missing
getDiffieHellman
Missing
getFips
Missing
getHashes
Implemented
getRandomValues
Implemented
hash
Missing
hkdf
Implemented
pbkdf2
Implemented
privateDecrypt / privateEncrypt
Implemented
publicDecrypt / publicEncrypt
Implemented
randomBytes
Implemented
randomFill / randomFillSync
Implemented
randomInt
Implemented
randomUUID
Implemented
scrypt
Implemented
secureHeapUsed
Missing
setEngine
Missing
setFips
Missing
sign
RSASSA-PKCS1-v1_5
RSA-PSS
ECDSA
Ed25519
Ed448
HMAC
Implemented
verify
RSASSA-PKCS1-v1_5
RSA-PSS
ECDSA
Ed25519
Ed448
HMAC
Implemented
timingSafeEqual
Missing

WebCrypto (Subtle)

crypto.subtle
decapsulateBits
decapsulateKey
encapsulateBits
encapsulateKey
getPublicKey
supports
Missing
crypto.subtle.decrypt
RSA-OAEP
AES-CTR
AES-CBC
AES-GCM
ChaCha20-Poly1305
Implemented
crypto.subtle.deriveBits
ECDH
X25519
X448
HKDF
PBKDF2
Partial
crypto.subtle.deriveKey
ECDH
HKDF
PBKDF2
X25519
X448
Partial
crypto.subtle.digest
cSHAKE128
cSHAKE256
SHA-1
SHA-256
SHA-384
SHA-512
SHA3-256
SHA3-384
SHA3-512
Partial
crypto.subtle.encrypt
AES-CTR
AES-CBC
AES-GCM
AES-OCB
ChaCha20-Poly1305
RSA-OAEP
Partial
crypto.subtle.exportKey
AES-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.generateKey
ECDH
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.importKey
AES-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.sign
ECDSA
Ed25519
Ed448
HMAC
ML-DSA-44
ML-DSA-65
ML-DSA-87
RSA-PSS
RSASSA-PKCS1-v1_5
Implemented
crypto.subtle.unwrapKey
AES-GCM (Wraps)
AES-KW (Wraps)
ChaCha20-Poly1305 (Wraps)
AES-CBC (Wraps)
AES-CTR (Wraps)
AES-OCB (Wraps)
RSA-OAEP (Wraps)
Partial
crypto.subtle.verify
ECDSA
Ed25519
Ed448
HMAC
ML-DSA-44
ML-DSA-65
ML-DSA-87
RSA-PSS
RSASSA-PKCS1-v1_5
Implemented
crypto.subtle.wrapKey
AES-GCM
AES-KW
ChaCha20-Poly1305
AES-CBC
AES-CTR
AES-OCB
RSA-OAEP
Partial