1. Introduction
Ce document fournit des recommandations pour l'implémentation de la cryptographie à clé publique (Public-Key Cryptography) basée sur l'algorithme RSA [RSA], couvrant les aspects suivants :
- Primitives cryptographiques (Cryptographic Primitives)
- Schémas de chiffrement (Encryption Schemes)
- Schémas de signature avec annexe (Signature Schemes with Appendix)
- Syntaxe ASN.1 pour représenter les clés et identifier les schémas
Ces recommandations sont destinées à une application générale dans les systèmes informatiques et de communication et incluent donc une grande flexibilité. Il est attendu que les standards d'application basés sur ces spécifications puissent inclure des contraintes supplémentaires. Ces recommandations sont destinées à être compatibles avec les standards IEEE 1363 [IEEE1363], IEEE 1363a [IEEE1363A] et ANSI X9.44 [ANSIX944].
Ce document remplace PKCS #1 version 2.1 [RFC3447] mais inclut des techniques compatibles.
L'organisation de ce document est la suivante :
-
La section 1 est une introduction.
-
La section 2 définit certaines notations utilisées dans ce document.
-
La section 3 définit les types de clés publiques et privées RSA.
-
Les sections 4 et 5 définissent plusieurs primitives (Primitives), ou opérations mathématiques de base. Les primitives de conversion de données sont dans la section 4, et les primitives cryptographiques (chiffrement-déchiffrement et signature-vérification) sont dans la section 5.
-
Les sections 6, 7 et 8 traitent des schémas de chiffrement et de signature dans ce document. La section 6 donne un aperçu. En plus des méthodes trouvées dans PKCS #1 v1.5, la section 7 définit un schéma de chiffrement basé sur le remplissage optimal de chiffrement asymétrique (Optimal Asymmetric Encryption Padding, OAEP) [OAEP], et la section 8 définit un schéma de signature avec annexe basé sur le schéma de signature probabiliste (Probabilistic Signature Scheme, PSS) [RSARABIN] [PSS].
-
La section 9 définit les méthodes d'encodage pour les schémas de signature de la section 8.
-
L'annexe A définit la syntaxe ASN.1 pour les clés définies dans la section 3 et les schémas des sections 7 et 8.
-
L'annexe B définit les fonctions de hachage (Hash Functions) et la fonction de génération de masque (Mask Generation Function, MGF) utilisées dans ce document, y compris la syntaxe ASN.1 pour ces techniques.
-
L'annexe C fournit un module ASN.1.
-
Les annexes D et E décrivent l'historique des révisions de PKCS #1 et fournissent des informations générales sur les standards de cryptographie à clé publique (Public-Key Cryptography Standards).
Ce document représente une republication de PKCS #1 v2.2 [PKCS1_22] de la série des standards de cryptographie à clé publique (PKCS) de RSA Laboratories.
1.1. Langage des exigences (Requirements Language)
Les mots-clés « MUST » (doit), « MUST NOT » (ne doit pas), « REQUIRED » (requis), « SHALL » (doit), « SHALL NOT » (ne doit pas), « SHOULD » (devrait), « SHOULD NOT » (ne devrait pas), « RECOMMENDED » (recommandé), « MAY » (peut) et « OPTIONAL » (optionnel) dans ce document doivent être interprétés comme décrit dans [RFC2119].