Beim Public Key Encryption Standards (PKCS) handelt es sich um einen von der RSA Data Security Inc. herausgegebenen Standard für asymmetrische Verschlüsselungen nach dem Public-Key-Verfahren.
PKCS unterstützt das RSA-Verfahren und das Diffie-Hellman-Verfahren. Außerdem umfasst der PKCS eine algorithmusunabhängige Syntax für digitale Signaturen und digitale Umschläge. Das Verfahren umfasst mehrere Dokumente:
PKCS#1 ist der RSA Cryptography Standard, der die Empfehlungen für die Implementierung von Public-Key-Verfahren auf Grundlage des RSA- Algorithmus enthält. PKCS#1 definiert die Mechanismen zur Verschlüsselung und zum Signieren von Daten macj de, RSA-Verfahren.
PKCS#3 ist der Diffie-Hellman Key Agreement Standard, in dem das Verfahren zur Implementierung des Diffie-Hellman-Algorithmus beschrieben ist. Es beschreibt die notwendigen Datenaustauschformate für das Diffie-Hellman-Verfahren.
PKCS #5 Der Password-Based Cryptography Standard gibt Empfehlungen für die Implementation Passwort-basierter Kryptographie. Die Verschlüsselung der Daten wird aus dem Passwort abgeleitet.
PKCS #6 Der Extended-Certificate Syntax Standard beschreibt die Syntax für erweiterte Zertifikate. Die erweiterten Zertifkate bestehen aus einer Menge von Attributen, die vom Inhaber des Zertifikates bestätigt werden.
PKCS#7 ist der Standard für die Cryptographic Message Syntax ( CMS). In ihm sind die kryptografischen Formate für verschlüsselte und signierte Nachrichten beschrieben. PKCS#7 wird u.a. als Syntax bei S/ MIME und in Simple Certificate Enrollment Protocol ( SCEP) verwendet.
PKCS #8 in dem Private-Key Information Syntax Standard wird die Syntax für die symmetrische Kryptografie beschrieben. In diesem Format können RSA Private Keys zusammen mit weiteren Attributen abgespeichert werden.
PKCS #9 Die Selected Attribute Types definieren ausgewählte Attribute für die Verwendung in erweiterten Zertifikaten nach PKCS #6, digital signierte Nachrichten nach PKCS #7, private Chiffrierschlüssel nach PKCS #8 und Zertifizierungsanfragen nach PKCS #10.
PKCS#10 ist der Certification Request Syntax Standard. In ihm wird die Syntax für eine Zertifizierungsanfrage für einen öffentlichen Schlüssel beschrieben
PKCS#11 heißt Cryptographic Token Interface Standard (Cryptoki). Er spezifiziert eine Programmierschnittstelle ( API) mit der Bezeichnung Cryptoki für kryptografische Informationen, so die generische Schnittstelle zu Smartcards. Cryptoki-Module unterstützen kryptografische Funktionen für die digitale Signatur und dienen zum Verschlüsseln und Entschlüsseln von Anwenderdaten.
PKCS#12 ist der Personal Information Exchange Syntax Standard für ein portierbares Format für sensitive Daten wie private Schlüssel. PKSC#12 kann zur Speicherung und zum Transport der privaten Schlüssel und Zertifikate eines Anwenders genutzt werden
PKCS#13 ist der Elliptic Curve Cryptography Standard für das Elliptic Curve Cryptosystem ( ECC) einschließlich Parameter- und Schlüsselgenerierung, Gültigkeitserklärung, digitale Signaturen, Verschlüsselung mit öffentlichen Schlüsseln, Schlüsselvereinbarung und ASN.1-Syntax
PKCS #14 ist der Pseudorandom Number Generation Standard. In diesem Standard wird die Generierung von Pseudozufallszahlen behandelt.
PKCS#15 ist der Cryptographic Token Information Format Standard. Mit diesem Standard kann der Benutzer kryptografische Token benutzen mit denen er sich gegenüber verschiedenen Anwendungen identifizieren kann, und zwar schnittstellenunabhängig.