PKCS (Public Key Cryptographic Standards) je skupina standardů pro kryptografii s veřejným klíčem navržená a publikovaná společností RSA Security.

Společnosti RSA Data Security Inc vlastní patent (který vypršel v roce 2000) na asymetrickou šifru RSA a také některá další patentová práva (například Schnorrův patent). RSA Security a její vývojová divize, RSA Labs, měly zájem na prosazení a usnadnění používání metod kryptografie s veřejným klíčem. Proto vyvinuli standardy PKCS. Podrželi si nad nimi kontrolu a oznámili, že je budou měnit či vylepšovat, jak budou považovat za vhodné. Takže PKCS vlastně nejsou oficiálními standardy, přestože mají slovo standard v názvu. Některé z nich, ale ne všechny, však v posledních letech byly přihlášeny do procesu standardizace u příslušných organizací (zvláště IETF, pracovní skupina PKIX).

Přehled standardů PKCS
Verze Název Komentář
PKCS #1 2.1 Kryptografie založenou na RSA Viz RFC 3447. Definuje matematické vlastnosti a formát RSA veřejných a soukromých klíčů (prostý text v kódování ASN.1), a základní algoritmy pro šifrování a vyplňovací schémata pro provádění šifrování, dešifrování, digitální podpisy a jejich ověřování pomocí RSA
PKCS #2 uzavřen Už není aktivní. Pokrýval šifrování RSA zpráv, později byl začleněn do PKCS #1.
PKCS #3 1.4 Výměna klíčů metodou Diffie-Hellman Popis protokolu, který umožňuje dvěma účastníkům vytvořit a sdílet tajný klíč pouze s využitím veřejných komunikačních kanálů (odolnost proti odposlechu).
PKCS #4 uzavřen Už není aktivní. Popisoval syntaxi RSA klíčů, později byl začleněn do PKCS #1.
PKCS #5 2.0 Šifrování založené na hesle (symetrické šifrování) Viz RFC 2898 a PBKDF2.
PKCS #6 1.5 Rozšíření standardu pro syntaxi certifikátů Rozšíření pro starý standard X.509 verze 1 pro syntaxi certifikátů. PKCS #6 byl překonán verzí 3 standardu X.509.
PKCS #7 1.5 Syntaxe kryptografických zpráv Viz RFC 2315. Použit pro podepisování a/nebo šifrování zpráv pomocí PKI. Použit také pro certifikační rozšíření (například odpověď na zprávu podle PKCS#10). Formuluje základy S/MIME, které je nyní založeno na RFC 3852, rozšiřuje syntaxi kryptografických zpráv (CMS – Cryptographic Message Syntax Standard).
PKCS #8 1.2 Standard uložení soukromých klíčů. Viz RFC 5208. Popisuje formát uložení soukromých klíčů v šifrované i nešifrované formě.
PKCS #9 2.0 Vybrané typy atributů Popisuje vybrané typy atributů pro použití v rozšířených certifikátech podle PKCS #, podepsaných zprávách podle PKCS #7, informacích o soukromém klíči podle PKCS #8 a žádosti o certifikační podpis podle PKCS #10.
PKCS #10 1.7 Žádost o certifikaci Viz RFC 2986. Formát zpráv zasílaných certifikační autoritě s žádosti o certifikát pro veřejný klíč.
PKCS #11 2.20 Rozhraní pro kryptografický token (Cryptoki) API popisující obecně použitelné rozhraní pro kryptografické tokeny (bezpečnost založena na hardware).
PKCS #12 1.0 Výměna osobních informací Definuje formát souborů běžně použitých pro ukládání soukromých klíčů s odpovídajícími certifikáty veřejných klíčů, chráněných šifrováním založeným na hesle (symetrické šifrování). PFX je předchůdcem standardu PKCS#12.

Jedná se o kontejnerový formát. Soubor může obsahovat více vložených objektů, například více certifikátů. Obvykle chráněné (zašifrované) heslem. Může být použít jako formát pro ukládání klíčů pro Javu. Může být použít Tomcatem, ale ne Apachem.

PKCS #13 Kryptografie založená na eliptických křivkách
PKCS #14 Generátor pseudonáhodných čísel
PKCS #15 1.1 Přístup ke kryptografickém tokenu Standard popisuje, jakým způsobem uživatele povolují aplikacím pracovat s kryptografickým tokenem (bezpečnost založena na hardware), nezávisle na implementaci Cryptoki (PKCS #11) nebo jiného API. RSA upustilo od části, která se vztahuje ke IC-kartám, tuto část standardizuje ISO/IEC 7816-15.[1]

Externí odkazy editovat