Supported Algorithms in Secure PDF
This article answers the most common questions about the cryptographic algorithms supported by Secure PDF, across encrypting and decrypting PDF documents (PDFEncrypt/PDFDecrypt) and creating and verifying digital signatures (PDFSign/PDFVerify), all in one place.
Please note that the PDF format itself, along with related signature standards such as PAdES (ETSI EN 319 142-1) and PKCS#7/CMS, defines which algorithms may be used in a given context. An algorithm listed below as supported may therefore only be available for specific operations. For example, RC4 is supported for backward compatibility with older PDF encryption revisions, but it is not a recommended choice for new documents since PDF viewers increasingly reject it outright.
The algorithms and key lengths below align with current NIST, ETSI/eIDAS, and ISO recommendations, as well as the cryptographic baselines used in Common Criteria evaluations.
Symmetric Cryptography
The following symmetric algorithms are supported for encrypting and decrypting PDF documents:
- AES (Rijndael): 128 and 256 bit, CBC mode, as defined by PDF 2.0 (ISO 32000-2) and PDF 1.7
- RC4: 40 and 128 bit
Public Key Cryptography
The following public key (asymmetric) algorithms are supported for signing and verifying PDF documents:
- RSA (PKCS#1 v1.5 and PSS padding)
- DSA
- ECDSA (see the list of supported curves below)
- EdDSA (Ed25519 and Ed448)
Supported elliptic curves include:
- SEC 2 recommended curves: secp160k1, secp160r1, secp192k1, secp224k1, secp256k1, secp256r1, secp384r1, secp521r1
- NIST recommended curves: P-256, P-384, P-521
- Brainpool curves: P160r1, P160t1, P192r1, P192t1, P224r1, P224t1, P256r1, P256t1, P320r1, P320t1, P384r1, P384t1, P512r1, P512t1
- Edwards curves: Ed25519, Ed448
Hash Algorithms
The following hash algorithms are supported for computing and verifying signature digests:
- SHA-1
- SHA-224
- SHA-256
- SHA-384
- SHA-512
- MD5
We appreciate your feedback. If you have any questions, comments, or suggestions about this article please contact our support team at support@nsoftware.com.