Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.binarly.io/llms.txt

Use this file to discover all available pages before exploring further.

BTP detects cryptographic algorithms, protocols, and certificate issues across six categories during static binary analysis. Each detected algorithm is assigned a classification status based on its cryptographic strength and industry guidance. Active compliance reporting is scoped to NIST IR 8547 (post-quantum cryptography). The Weak and Deprecated classifications are informational, derived from industry consensus (NIST SP 800-131A, RFC 7568, RFC 8996) - BTP does not generate compliance reports against those standards.

Detection Coverage

CategoryDetected By
Encryption algorithmsCode analysis (native) / API detection (managed runtimes)
Hashing algorithmsCode analysis (native) / API detection (managed runtimes)
Signing algorithmsCode analysis (native) / API detection (managed runtimes)
MAC algorithmsCode analysis (native) / API detection (managed runtimes)
ProtocolsAPI detection
Certificate issuesX.509 DER/PEM structure parsing
See Cryptographic Detection for how detection works by binary type.

Classification

StatusMeaning
CurrentNo known weaknesses; suitable for new designs
AcceptableNo active vulnerabilities; not recommended for new designs
DeprecatedFormally deprecated by a standards body; migrate away
WeakKnown cryptographic weaknesses; avoid in all contexts
InsecureActively prohibited; no safe usage
Quantum-vulnerableSecure against classical attacks; vulnerable to CRQC via Shor’s algorithm
PQC CompliantQuantum-resistant per NIST IR 8547
InformativeNon-security-relevant; inventory only, no severity assigned

Encryption Algorithms

AlgorithmClassStatusNotes
AEScrypto/algorithm/encryption/aesCurrentKey size ≥128-bit; preferred symmetric cipher
Salsa20crypto/algorithm/encryption/salsa20CurrentModern stream cipher
Twofishcrypto/algorithm/encryption/twofishAcceptableNot widely standardized
Camelliacrypto/algorithm/encryption/camelliaAcceptableISO/IEC 18033-3 standardized
3DEScrypto/algorithm/encryption/3desDeprecatedNIST SP 800-131A
DEScrypto/algorithm/encryption/desWeak56-bit key
Blowfishcrypto/algorithm/encryption/blowfishWeak64-bit block size; birthday attack risk
CAST5crypto/algorithm/encryption/cast5Weak64-bit block size
IDEAcrypto/algorithm/encryption/ideaWeak64-bit block size
RC2crypto/algorithm/encryption/rc2WeakMultiple known attacks
RC4crypto/algorithm/encryption/rc4WeakProhibited in TLS (RFC 7465)
RC5crypto/algorithm/encryption/rc5Weak
RC6crypto/algorithm/encryption/rc6Weak
Skipjackcrypto/algorithm/encryption/skipjackWeakLegacy; 80-bit key
TEAcrypto/algorithm/encryption/teaWeakStructural weaknesses
XTEAcrypto/algorithm/encryption/xteaWeakStructural weaknesses
XXTEAcrypto/algorithm/encryption/xxteaWeakStructural weaknesses
HC-128crypto/algorithm/encryption/hc-128InformativeeSTREAM portfolio; no known breaks
Sosemanukcrypto/algorithm/encryption/sosemanukInformativeeSTREAM portfolio; no known breaks
VESTcrypto/algorithm/encryption/vestInformativeNiche; inventory only
Curve25519crypto/algorithm/encryption/curve25519Quantum-vulnerableECDH key exchange
RSA (encryption)crypto/algorithm/encryption/rsaQuantum-vulnerableInteger factorization; Shor’s algorithm

Hashing Algorithms

AlgorithmClassStatusNotes
SHA-256crypto/algorithm/hashing/sha256CurrentRecommended
SHA-384crypto/algorithm/hashing/sha384CurrentRecommended
SHA-512crypto/algorithm/hashing/sha512CurrentRecommended
SHA-512/224crypto/algorithm/hashing/sha512-224CurrentTruncated SHA-512
SHA-512/256crypto/algorithm/hashing/sha512-256CurrentTruncated SHA-512
SHA-224crypto/algorithm/hashing/sha224CurrentAcceptable for most uses
SHA3-224crypto/algorithm/hashing/sha3-224CurrentFIPS 202
SHA3-256crypto/algorithm/hashing/sha3-256CurrentFIPS 202
SHA3-384crypto/algorithm/hashing/sha3-384CurrentFIPS 202
SHA3-512crypto/algorithm/hashing/sha3-512CurrentFIPS 202
SHAKE128crypto/algorithm/hashing/shake128CurrentExtendable output; FIPS 202
SHAKE256crypto/algorithm/hashing/shake256CurrentExtendable output; FIPS 202
BLAKE2bcrypto/algorithm/hashing/blake2bCurrentHigh performance
BLAKE2scrypto/algorithm/hashing/blake2sCurrentHigh performance
RIPEMD-160crypto/algorithm/hashing/ripemd160AcceptableAging standard
SM3crypto/algorithm/hashing/sm3AcceptableChinese national standard (GM/T 0004)
MD5crypto/algorithm/hashing/md5DeprecatedCollision attacks demonstrated
SHA-1crypto/algorithm/hashing/sha1DeprecatedNIST SP 800-131A
Tigercrypto/algorithm/hashing/tigerWeakNot recommended
MD4crypto/algorithm/hashing/md4WeakCryptographically broken
MD2crypto/algorithm/hashing/md2WeakWithdrawn
DJB2crypto/algorithm/hashing/djb2InformativeNon-cryptographic; inventory only; native binaries only
FNVcrypto/algorithm/hashing/fnvInformativeNon-cryptographic; inventory only; native binaries only
MurmurHash3crypto/algorithm/hashing/murmur3InformativeNon-cryptographic; inventory only; native binaries only

Signing Algorithms

Post-quantum algorithms

These algorithms are detected and classified as NIST IR 8547 compliant. Detection confirms their presence; adoption replaces quantum-vulnerable counterparts.
PQC digital signature algorithms are currently only detected in UEFI modules and certificates. These algorithms are not yet supported for detection in Java and Python managed runtimes or ELF native binaries.
AlgorithmClassStatusStandard
ML-DSA-44crypto/algorithm/signing/ml-dsa-44PQC CompliantFIPS 204 (CRYSTALS-Dilithium)
ML-DSA-65crypto/algorithm/signing/ml-dsa-65PQC CompliantFIPS 204; recommended level
ML-DSA-87crypto/algorithm/signing/ml-dsa-87PQC CompliantFIPS 204; highest level
LMScrypto/algorithm/signing/lmsPQC CompliantNIST SP 800-208 (hash-based)
SLH-DSA-SHA2-128fcrypto/algorithm/signing/slh-dsa-sha2-128fPQC CompliantFIPS 205 (SPHINCS+)
SLH-DSA-SHA2-128scrypto/algorithm/signing/slh-dsa-sha2-128sPQC CompliantFIPS 205
SLH-DSA-SHA2-192fcrypto/algorithm/signing/slh-dsa-sha2-192fPQC CompliantFIPS 205
SLH-DSA-SHA2-192scrypto/algorithm/signing/slh-dsa-sha2-192sPQC CompliantFIPS 205
SLH-DSA-SHA2-256fcrypto/algorithm/signing/slh-dsa-sha2-256fPQC CompliantFIPS 205
SLH-DSA-SHA2-256scrypto/algorithm/signing/slh-dsa-sha2-256sPQC CompliantFIPS 205
SLH-DSA-SHAKE-128fcrypto/algorithm/signing/slh-dsa-shake-128fPQC CompliantFIPS 205
SLH-DSA-SHAKE-128scrypto/algorithm/signing/slh-dsa-shake-128sPQC CompliantFIPS 205
SLH-DSA-SHAKE-192fcrypto/algorithm/signing/slh-dsa-shake-192fPQC CompliantFIPS 205
SLH-DSA-SHAKE-192scrypto/algorithm/signing/slh-dsa-shake-192sPQC CompliantFIPS 205
SLH-DSA-SHAKE-256fcrypto/algorithm/signing/slh-dsa-shake-256fPQC CompliantFIPS 205
SLH-DSA-SHAKE-256scrypto/algorithm/signing/slh-dsa-shake-256sPQC CompliantFIPS 205

Quantum-vulnerable algorithms

AlgorithmClassStatusNotes
ECDSA-SHA224crypto/algorithm/signing/ecdsa-sha224Quantum-vulnerable
ECDSA-SHA256crypto/algorithm/signing/ecdsa-sha256Quantum-vulnerable
ECDSA-SHA384crypto/algorithm/signing/ecdsa-sha384Quantum-vulnerable
ECDSA-SHA512crypto/algorithm/signing/ecdsa-sha512Quantum-vulnerable
ECDSA-SHA3-224crypto/algorithm/signing/ecdsa-sha3-224Quantum-vulnerable
ECDSA-SHA3-256crypto/algorithm/signing/ecdsa-sha3-256Quantum-vulnerable
ECDSA-SHA3-384crypto/algorithm/signing/ecdsa-sha3-384Quantum-vulnerable
ECDSA-SHA3-512crypto/algorithm/signing/ecdsa-sha3-512Quantum-vulnerable
ECDSA-SHA1crypto/algorithm/signing/ecdsa-sha1Quantum-vulnerableSHA-1 hash additionally deprecated
Ed25519crypto/algorithm/signing/ed25519Quantum-vulnerableModern; not quantum-safe
Ed448crypto/algorithm/signing/ed448Quantum-vulnerableModern; not quantum-safe
RSAcrypto/algorithm/signing/rsaQuantum-vulnerableKey size ≥2048-bit required
RSA-SHA224crypto/algorithm/signing/rsa-sha224Quantum-vulnerable
RSA-SHA256crypto/algorithm/signing/rsa-sha256Quantum-vulnerable
RSA-SHA384crypto/algorithm/signing/rsa-sha384Quantum-vulnerable
RSA-SHA512crypto/algorithm/signing/rsa-sha512Quantum-vulnerable
RSA-SHA512/224crypto/algorithm/signing/rsa-sha512-224Quantum-vulnerable
RSA-SHA512/256crypto/algorithm/signing/rsa-sha512-256Quantum-vulnerable
RSA-RIPEMD160crypto/algorithm/signing/rsa-ripemd160Quantum-vulnerable
RSA-SM3crypto/algorithm/signing/rsa-sm3Quantum-vulnerableChinese national standard
RSASSA-PKCS1-v1.5-SHA3-224crypto/algorithm/signing/rsassa-pkcs1-v1-5-sha3-224Quantum-vulnerable
RSASSA-PKCS1-v1.5-SHA3-256crypto/algorithm/signing/rsassa-pkcs1-v1-5-sha3-256Quantum-vulnerable
RSASSA-PKCS1-v1.5-SHA3-384crypto/algorithm/signing/rsassa-pkcs1-v1-5-sha3-384Quantum-vulnerable
RSASSA-PKCS1-v1.5-SHA3-512crypto/algorithm/signing/rsassa-pkcs1-v1-5-sha3-512Quantum-vulnerable
SM2crypto/algorithm/signing/sm2Quantum-vulnerableECC-based; Chinese national standard

Deprecated algorithms

AlgorithmClassStatusNotes
DSAcrypto/algorithm/signing/dsaDeprecatedNIST SP 800-131A
DSA-SHA1crypto/algorithm/signing/dsa-sha1DeprecatedNIST SP 800-131A
DSA-SHA224crypto/algorithm/signing/dsa-sha224DeprecatedDSA key deprecated
DSA-SHA256crypto/algorithm/signing/dsa-sha256DeprecatedDSA key deprecated
DSA-SHA384crypto/algorithm/signing/dsa-sha384DeprecatedDSA key deprecated
DSA-SHA512crypto/algorithm/signing/dsa-sha512DeprecatedDSA key deprecated
DSA-SHA3-224crypto/algorithm/signing/dsa-sha3-224DeprecatedDSA key deprecated
DSA-SHA3-256crypto/algorithm/signing/dsa-sha3-256DeprecatedDSA key deprecated
DSA-SHA3-384crypto/algorithm/signing/dsa-sha3-384DeprecatedDSA key deprecated
DSA-SHA3-512crypto/algorithm/signing/dsa-sha3-512DeprecatedDSA key deprecated
RSA-SHA1crypto/algorithm/signing/rsa-sha1DeprecatedSHA-1 hash deprecated; NIST SP 800-131A

Weak algorithms

AlgorithmClassStatusNotes
RSA-MD5crypto/algorithm/signing/rsa-md5WeakMD5 collision attacks enable signature forgery
RSA-MD2crypto/algorithm/signing/rsa-md2WeakMD2 withdrawn; signatures can be forged

MAC Algorithms

AlgorithmClassStatusNotes
HMAC-SHA224crypto/algorithm/mac/hmac-sha224Current
HMAC-SHA256crypto/algorithm/mac/hmac-sha256CurrentRecommended
HMAC-SHA384crypto/algorithm/mac/hmac-sha384Current
HMAC-SHA512crypto/algorithm/mac/hmac-sha512CurrentRecommended
HMAC-SHA512/224crypto/algorithm/mac/hmac-sha512-224CurrentTruncated SHA-512
HMAC-SHA512/256crypto/algorithm/mac/hmac-sha512-256CurrentTruncated SHA-512
HMAC-SHA3-224crypto/algorithm/mac/hmac-sha3-224CurrentFIPS 202
HMAC-SHA3-256crypto/algorithm/mac/hmac-sha3-256CurrentFIPS 202
HMAC-SHA3-384crypto/algorithm/mac/hmac-sha3-384CurrentFIPS 202
HMAC-SHA3-512crypto/algorithm/mac/hmac-sha3-512CurrentFIPS 202
Poly1305crypto/algorithm/mac/poly1305CurrentUsed with ChaCha20
HMAC-SM3crypto/algorithm/mac/hmac-sm3AcceptableChinese national standard (GM/T 0004)
HMAC-MD5crypto/algorithm/mac/hmac-md5DeprecatedMD5 hash deprecated
HMAC-SHA1crypto/algorithm/mac/hmac-sha1DeprecatedSHA-1 deprecated; NIST SP 800-131A

Pseudorandom Number Generators

Detection is available for native binaries only.
AlgorithmClassStatusNotes
Mersenne Twistercrypto/algorithm/prng/mersenneWeakNot a CSPRNG; output is predictable given sufficient observations

Protocols

ProtocolClassStatusReference
TLS v1.3crypto/protocol/tls/v1-3CurrentRecommended
TLS v1.2crypto/protocol/tls/v1-2CurrentAcceptable with strong cipher suites
TLS v1.1crypto/protocol/tls/v1-1DeprecatedRFC 8996
TLS v1.0crypto/protocol/tls/v1-0DeprecatedRFC 8996
SSL v3.0crypto/protocol/ssl/v3-0InsecureRFC 7568 (POODLE)
SSL v2.0crypto/protocol/ssl/v2-0InsecureRFC 6176

Certificate Issues

IssueClassSeverityNotes
Expired certificatecrypto/certificate/expiredHighValidity period has passed
Invalid certificatecrypto/certificate/invalidHighInvalid parameters or structure
Weak RSA key parameterscrypto/rsa/weak-key-parametersHighDoes not meet minimum key strength
Self-signed certificatecrypto/certificate/self-signedMediumNot signed by a recognized CA
Untrusted certificatecrypto/certificate/untrustedMediumSigned by an unrecognized CA

PQC Compliance Assessment

BTP’s active compliance reporting for cryptographic algorithms is scoped exclusively to NIST IR 8547. Weak and Deprecated classifications above are informational and do not constitute a compliance report.
Quantum-vulnerable algorithms remain secure against classical computers today. The risk is retroactive decryption by a future cryptographically-relevant quantum computer (CRQC) - a relevant threat for long-lived encrypted data.
BTP identifies all quantum-vulnerable algorithm instances per binary image, maps them to NIST IR 8547 guidance, and surfaces replacement recommendations. This assessment is published as the PQC Compliance Report (PDF and JSON). NIST IR 8547 migration timeline:
TimelineRequirement
Short-term (by 2030)Inventory all quantum-vulnerable algorithm usage
Mid-term (2030–2035)Transition critical systems to PQC algorithms
Long-term (after 2035)Complete deprecation of quantum-vulnerable algorithms