PKCS


In cryptography, PKCS stands for "Public Key Cryptography Standards". These are a group of public-key cryptography standards devised and published by RSA Security LLC, starting in the early 1990s. The company published the standards to promote the use of the cryptography techniques to which they had patents, such as the RSA algorithm, the Schnorr signature algorithm and several others. Though not industry standards, some of the standards in recent years have begun to move into the "standards-track" processes of relevant standards organizations such as the IETF and the PKIX working-group.
VersionNameComments
PKCS #12.2RSA Cryptography StandardSee RFC 8017. Defines the mathematical properties and format of RSA public and private keys, and the basic algorithms and encoding/padding schemes for performing RSA encryption, decryption, and producing and verifying signatures.
PKCS #2-WithdrawnNo longer active. Covered RSA encryption of message digests; subsequently merged into PKCS #1.
PKCS #31.4Diffie–Hellman Key Agreement StandardA cryptographic protocol that allows two parties that have no prior knowledge of each other to jointly establish a shared secret key over an insecure communications channel.
PKCS #4-WithdrawnNo longer active. Covered RSA key syntax; subsequently merged into PKCS #1.
PKCS #52.1Password-based Encryption StandardSee RFC 8018 and PBKDF2.
PKCS #61.5Extended-Certificate Syntax StandardDefines extensions to the old v1 X.509 certificate specification. Obsoleted by v3 of the same.
PKCS #71.5Cryptographic Message Syntax StandardSee RFC 2315. Used to sign and/or encrypt messages under a PKI. Used also for certificate dissemination. Formed the basis for S/MIME, which is based on RFC 5652, an updated Cryptographic Message Syntax Standard. Often used for single sign-on.
PKCS #81.2Private-Key Information Syntax StandardSee RFC 5958. Used to carry private certificate keypairs.
PKCS #92.0Selected Attribute TypesSee RFC 2985. Defines selected attribute types for use in PKCS #6 extended certificates, PKCS #7 digitally signed messages, PKCS #8 private-key information, and PKCS #10 certificate-signing requests.
PKCS #101.7Certification Request StandardSee RFC 2986. Format of messages sent to a certification authority to request certification of a public key. See certificate signing request.
PKCS #112.40Cryptographic Token InterfaceAlso known as "Cryptoki". An API defining a generic interface to cryptographic tokens. Often used in single sign-on, public-key cryptography and disk encryption systems. RSA Security has turned over further development of the PKCS #11 standard to the .
PKCS #121.1Personal Information Exchange Syntax StandardSee RFC 7292. Defines a file format commonly used to store private keys with accompanying public key certificates, protected with a password-based symmetric key. PFX is a predecessor to PKCS #12.
This container format can contain multiple embedded objects, such as multiple certificates. Usually protected/encrypted with a password. Usable as a format for the Java key store and to establish client authentication certificates in Mozilla Firefox. Usable by Apache Tomcat.
PKCS #13Elliptic Curve Cryptography Standard'
PKCS #14Pseudo-random Number Generation'
PKCS #151.1Cryptographic Token Information Format StandardDefines a standard allowing users of cryptographic tokens to identify themselves to applications, independent of the application's Cryptoki implementation or other API. RSA has relinquished IC-card-related parts of this standard to ISO/IEC 7816-15.