Cryptographic Token Interface Standard



This RSA Security Inc. Public-Key Cryptography Standards (PKCS) document was produced from the original standard document using Open Office to export it in MediaWiki format then processed through some custom perl scripts and then passed into a modified version of doxygen to finally produce the HTML output. The text of the standard is otherwise unchanged.

Tim Hudson - - 10-Sep-2009

As public-key cryptography begins to see wide application and acceptance one thing is increasingly clear: If it is going to be as effective as the underlying technology allows it to be, there must be interoperable standards. Even though vendors may agree on the basic public-key techniques, compatibility between implementations is by no means guaranteed. Interoperability requires strict adherence to an agreed-upon standard format for transferred data.

Towards that goal, RSA Laboratories has developed, in cooperation with representatives of industry, academia and government, a family of standards called Public-Key Cryptography Standards, or PKCS for short.

PKCS is offered by RSA Laboratories to developers of computer systems employing public-key technology. It is RSA Laboratories' intention to improve and refine the standards in conjunction with computer system developers, with the goal of producing standards that most if not all developers adopt.

The role of RSA Laboratories in the standards-making process is four-fold:

  1. Publish carefully written documents describing the standards.

  2. Solicit opinions and advice from developers and users on useful or necessary changes and extensions.

  3. Publish revised standards when appropriate.

  4. Provide implementation guides and/or reference implementations.

During the process of PKCS development, RSA Laboratories retains final authority on each document, though input from reviewers is clearly influential. However, RSA Laboratories' goal is to accelerate the development of formal standards, not to compete with such work. Thus, when a PKCS document is accepted as a base document for a formal standard, RSA Laboratories relinquishes its "ownership" of the document, giving way to the open standards development process. RSA Laboratories may continue to develop related documents, of course, under the terms described above.

The PKCS family currently includes the following documents:

PKCS #1: RSA Encryption Standard. Version 1.5, November 1993.

PKCS #3: Diffie-Hellman Key-Agreement Standard. Version 1.4, November 1993.

PKCS #5: Password-Based Encryption Standard. Version 1.5, November 1993.

PKCS #6: Extended-Certificate Syntax Standard. Version 1.5, November 1993.

PKCS #7: Cryptographic Message Syntax Standard. Version 1.5, November 1993.

PKCS #8: Private-Key Information Syntax Standard. Version 1.2, November 1993.

PKCS #9: Selected Attribute Types. Version 1.1, November 1993.

PKCS #10: Certification Request Syntax Standard. Version 1.0, November 1993.

PKCS #11: Cryptographic Token Interface Standard. Version 1.0, April 1995.

PKCS documents are available by electronic mail to <>, or via anonymous ftp to in the pub/pkcs directory. There is also a electronic mailing list for discussion of PKCS issues, <>; to join the list, send a request to <>.

Comments on the PKCS documents, requests to register extensions to the standards, and suggestions for additional standards are welcomed. Address correspondence to:

 PKCS Editor
 RSA Laboratories
 100 Marine Parkway, Suite 500
 Redwood City, CA 94065
 fax: 415/595-4126

RSA Security Inc. Public-Key Cryptography Standards - PKCS#11 - v100