Template:Short description {{#invoke:Hatnote|hatnote}} Template:About

Template:Use mdy dates Template:Use American English Template:Update

Public Key Cryptography Standards (PKCS) 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 for which they had patents, such as the RSA algorithm, the Schnorr signature algorithm and several others. Though not industry standards (because the company retained control over them), some of the standards have begun to move into the "standards track" processes of relevant standards organizations in recent yearsTemplate:When, such as the IETF and the PKIX working group.

Key Updates (2023–2024):

  • Integration of PKCS #7 and PKCS #12 into broader standards like S/MIME and TLS.
  • Evolution of PKCS #11 to support newer hardware and cloud services.
  • Involvement of PKCS standards in post-quantum cryptography efforts, with NIST's ongoing standardization.
  • Growing adoption of PKCS standards in the context of blockchain and digital assets.
PKCS Standards Summary
Version Name Comments
PKCS #1 2.2 RSA Cryptography Standard<ref>
 {{#invoke:citation/CS1|citation
CitationClass=web

}} </ref>

See Template:IETF RFC. Defines the mathematical properties and format of RSA public and private keys (ASN.1-encoded in clear-text), and the basic algorithms and encoding/padding schemes for performing RSA encryption, decryption, and producing and verifying signatures.
PKCS #2 - Withdrawn No longer active Template:As of. Covered RSA encryption of message digests; subsequently merged into PKCS #1.
PKCS #3 1.4 Diffie–Hellman Key Agreement Standard<ref>
 {{#invoke:citation/CS1|citation
CitationClass=web

}} </ref>

A 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 - Withdrawn No longer active Template:As of. Covered RSA key syntax; subsequently merged into PKCS #1.
PKCS #5 2.1 Password-based Encryption Standard<ref>
 {{#invoke:citation/CS1|citation
CitationClass=web

}} </ref><ref>

 {{#invoke:citation/CS1|citation
CitationClass=web

}} </ref>

See Template:IETF RFC and PBKDF2.
PKCS #6 1.5 Extended-Certificate Syntax Standard<ref>
 {{#invoke:citation/CS1|citation
CitationClass=web

}} </ref>

Defines extensions to the old v1 X.509 certificate specification. Obsoleted by v3 of the same.
PKCS #7 1.5 Cryptographic Message Syntax Standard<ref>
 {{#invoke:citation/CS1|citation
CitationClass=web

}} </ref>

See Template:IETF RFC. Used to sign and/or encrypt messages under a PKI. Used also for certificate dissemination (for instance as a response to a PKCS #10 message). Formed the basis for S/MIME, which is Template:As of based on Template:IETF RFC, an updated Cryptographic Message Syntax Standard (CMS). Often used for single sign-on.
PKCS #8 1.2 Private-Key Information Syntax Standard<ref>
 {{#invoke:citation/CS1|citation
CitationClass=web

}} </ref>

See Template:IETF RFC. Used to carry private certificate keypairs (encrypted or unencrypted).
PKCS #9 2.0 Selected Attribute Types<ref>
 {{#invoke:citation/CS1|citation
CitationClass=web

}} </ref>

See Template:IETF RFC. 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 #10 1.7 Certification Request Standard<ref>
 {{#invoke:citation/CS1|citation
CitationClass=web

}} </ref>

See Template:IETF RFC. Format of messages sent to a certification authority to request certification of a public key. See certificate signing request.
PKCS #11 3.0 Cryptographic Token Interface<ref>
 {{#invoke:citation/CS1|citation
CitationClass=web

}} </ref>

Also known as "Cryptoki". An API defining a generic interface to cryptographic tokens (see also hardware security module). Often used in single sign-on, public-key cryptography and disk encryption<ref>Security Token/Smartcard Support in FreeOTFE</ref> systems. RSA Security has turned over further development of the PKCS #11 standard to the OASIS PKCS 11 Technical Committee.
PKCS #12 1.1 citation CitationClass=web

}} </ref>

See Template:IETF RFC. 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 KeyStore and to establish client authentication certificates in Mozilla Firefox. Usable by Apache Tomcat.

PKCS #13 Elliptic-curve cryptography Standard (Apparently abandoned, only reference is a proposal from 1998.)
PKCS #14 Pseudo-random Number Generation (Apparently abandoned, no documents exist.)
PKCS #15 1.1 Cryptographic Token Information Format Standard<ref>
 {{#invoke:citation/CS1|citation
CitationClass=web

}} </ref>

Defines a standard allowing users of cryptographic tokens to identify themselves to applications, independent of the application's Cryptoki implementation (PKCS #11) or other API. RSA has relinquished IC-card-related parts of this standard to ISO/IEC 7816-15.<ref>
 RSA Laboratories: "PKCS #15: Cryptographic Token Information Format Standard".

</ref>

See alsoEdit

ReferencesEdit

Template:Reflist

General
  • {{#invoke:citation/CS1|citation

|CitationClass=web }}

External linksEdit

Template:PKCS navbox Template:Cryptography navbox