[要約] RFC 2313は、PKCS #1: RSA Encryption Version 1.5の仕様を定義しています。この仕様の目的は、RSA暗号化アルゴリズムの実装と相互運用性を確保することです。

Network Working Group                                      B. Kaliski
Request for Comments: 2313                      RSA Laboratories East
Category: Informational                                    March 1998
        

PKCS #1: RSA Encryption Version 1.5

PKCS#1:RSA暗号化バージョン1.5

Status of this Memo

本文書の状態

This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.

このメモは、インターネットコミュニティに情報を提供します。いかなる種類のインターネット標準も規定していません。このメモの配布は無制限です。

Copyright Notice

著作権表示

Copyright (C) The Internet Society (1998). All Rights Reserved.

Copyright(C)The Internet Society(1998)。全著作権所有。

Overview

概観

This document describes a method for encrypting data using the RSA public-key cryptosystem.

このドキュメントでは、RSA公開鍵暗号システムを使用してデータを暗号化する方法について説明します。

1. Scope
1. 範囲

This document describes a method for encrypting data using the RSA public-key cryptosystem. Its intended use is in the construction of digital signatures and digital envelopes, as described in PKCS #7:

このドキュメントでは、RSA公開鍵暗号システムを使用してデータを暗号化する方法について説明します。その使用目的は、PKCS#7で説明されているように、デジタル署名とデジタルエンベロープの構築にあります。

o For digital signatures, the content to be signed is first reduced to a message digest with a message-digest algorithm (such as MD5), and then an octet string containing the message digest is encrypted with the RSA private key of the signer of the content. The content and the encrypted message digest are represented together according to the syntax in PKCS #7 to yield a digital signature. This application is compatible with Privacy-Enhanced Mail (PEM) methods.

o デジタル署名の場合、署名されるコンテンツは、最初にメッセージダイジェストアルゴリズム(MD5など)を使用してメッセージダイジェストに縮小され、次にメッセージダイジェストを含むオクテット文字列がコンテンツの署名者のRSA秘密キーで暗号化されます。 。コンテンツと暗号化されたメッセージダイジェストは、PKCS#7の構文に従って一緒に表され、デジタル署名が生成されます。このアプリケーションは、プライバシー強化メール(PEM)メソッドと互換性があります。

o For digital envelopes, the content to be enveloped is first encrypted under a content-encryption key with a content-encryption algorithm (such as DES), and then the content-encryption key is encrypted with the RSA public keys of the recipients of the content. The encrypted content and the encrypted content-encryption key are represented together according to the syntax in PKCS #7 to yield a digital envelope. This application is also compatible with PEM methods.

oデジタルエンベロープの場合、エンベロープされるコンテンツは、最初にコンテンツ暗号化アルゴリズム(DESなど)を使用してコンテンツ暗号化キーで暗号化され、次にコンテンツ暗号化キーが受信者の受信者のRSA公開キーで暗号化されます。コンテンツ。暗号化されたコンテンツと暗号化されたコンテンツ暗号化キーは、PKCS#7の構文に従って一緒に表され、デジタルエンベロープが生成されます。このアプリケーションは、PEMメソッドとも互換性があります。

The document also describes a syntax for RSA public keys and private keys. The public-key syntax would be used in certificates; the private-key syntax would be used typically in PKCS #8 private-key information. The public-key syntax is identical to that in both X.509 and Privacy-Enhanced Mail. Thus X.509/PEM RSA keys can be used in this document.

また、RSA公開鍵と秘密鍵の構文についても説明します。公開鍵構文は証明書で使用されます。秘密鍵構文は、通常、PKCS#8秘密鍵情報で使用されます。公開鍵の構文は、X.509とプライバシー強化メールの両方の構文と同じです。したがって、このドキュメントではX.509 / PEM RSAキーを使用できます。

The document also defines three signature algorithms for use in signing X.509/PEM certificates and certificate-revocation lists, PKCS #6 extended certificates, and other objects employing digital signatures such as X.401 message tokens.

このドキュメントでは、X.509 / PEM証明書と証明書失効リスト、PKCS#6拡張証明書、およびX.401メッセージトークンなどのデジタル署名を使用するその他のオブジェクトの署名に使用する3つの署名アルゴリズムも定義しています。

Details on message-digest and content-encryption algorithms are outside the scope of this document, as are details on sources of the pseudorandom bits required by certain methods in this document.

メッセージダイジェストおよびコンテンツ暗号化アルゴリズムの詳細は、このドキュメントの範囲外です。このドキュメントの特定のメソッドで必要な疑似ランダムビットのソースの詳細も同様です。

2. References
2. 参考文献

FIPS PUB 46-1 National Bureau of Standards. FIPS PUB 46-1: Data Encryption Standard. January 1988.

FIPS PUB 46-1国立標準局。 FIPS PUB 46-1:データ暗号化規格。 1988年1月。

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

PKCS#6 RSA Laboratories。 PKCS#6:拡張証明書構文。バージョン1.5、1993年11月。

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

PKCS#7 RSA Laboratories。 PKCS#7:暗号メッセージ構文。バージョン1.5、1993年11月。

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

PKCS#8 RSA Laboratories。 PKCS#8:秘密鍵情報構文。バージョン1.2、1993年11月。

RFC 1319 Kaliski, B., "The MD2 Message-Digest Algorithm," RFC 1319, April 1992.

RFC 1319 Kaliski、B。、「The MD2 Message-Digest Algorithm」、RFC 1319、1992年4月。

RFC 1320 Rivest, R., "The MD4 Message-Digest Algorithm," RFC 1320, April 1992.

RFC 1320 Rivest、R。、「The MD4 Message-Digest Algorithm」、RFC 1320、1992年4月。

RFC 1321 Rivest, R., "The MD5 Message-Digest Algorithm," RFC 1321, April 1992.

RFC 1321 Rivest、R。、「The MD5 Message-Digest Algorithm」、RFC 1321、1992年4月。

RFC 1423 Balenson, D., "Privacy Enhancement for Internet Electronic Mail: Part III: Algorithms, Modes, and Identifiers," RFC 1423, February 1993.

RFC 1423 Balenson、D。、「インターネット電子メールのプライバシー強化:パートIII:アルゴリズム、モード、および識別子」、RFC 1423、1993年2月。

X.208 CCITT. Recommendation X.208: Specification of Abstract Syntax Notation One (ASN.1). 1988.

X.208 CCITT。勧告X.208:抽象構文記法1(ASN.1)の仕様。 1988。

X.209 CCITT. Recommendation X.209: Specification of Basic Encoding Rules for Abstract Syntax Notation One (ASN.1). 1988.

X.209 CCITT。推奨事項X.209:抽象構文記法1(ASN.1)の基本的なエンコーディングルールの仕様。 1988。

X.411 CCITT. Recommendation X.411: Message Handling Systems: Message Transfer System: Abstract Service Definition and Procedures.1988.

X.411 CCITT。勧告X.411:メッセージ処理システム:メッセージ転送システム:抽象サービス定義と手順.1988。

X.509 CCITT. Recommendation X.509: The Directory-- Authentication Framework. 1988.

X.509 CCITT。推奨事項X.509:ディレクトリ-認証フレームワーク。 1988。

   [dBB92]   B. den Boer and A. Bosselaers. An attack on the
             last two rounds of MD4. In J. Feigenbaum, editor,
             Advances in Cryptology---CRYPTO '91 Proceedings,
             volume 576 of Lecture Notes in Computer Science,
             pages 194-203. Springer-Verlag, New York, 1992.
        

[dBB93] B. den Boer and A. Bosselaers. Collisions for the compression function of MD5. Presented at EUROCRYPT '93 (Lofthus, Norway, May 24-27, 1993).

[dBB93] B. den BoerおよびA. Bosselaers。 MD5の圧縮機能の衝突。 EUROCRYPT '93(1993年5月24〜27日、ノルウェー、ロフタス)で発表。

   [DO86]    Y. Desmedt and A.M. Odlyzko. A chosen text attack
             on the RSA cryptosystem and some discrete
             logarithm schemes. In H.C. Williams, editor,
             Advances in Cryptology---CRYPTO '85 Proceedings,
             volume 218 of Lecture Notes in Computer Science,
             pages 516-521. Springer-Verlag, New York, 1986.
        

[Has88] Johan Hastad. Solving simultaneous modular equations. SIAM Journal on Computing, 17(2):336-341, April 1988.

[Has88]ヨハン・ハスタッド。連立モジュラー方程式を解く。 SIAM Journal on Computing、17(2):336-341、1988年4月。

[IM90] Colin I'Anson and Chris Mitchell. Security defects in CCITT Recommendation X.509--The directory authentication framework. Computer Communications Review, :30-34, April 1990.

[IM90]コリン・イアンソンとクリス・ミッチェル。 CCITT勧告X.509のセキュリティの欠陥-ディレクトリ認証フレームワーク。 Computer Communications Review、30-34、1990年4月。

[Mer90] R.C. Merkle. Note on MD4. Unpublished manuscript, 1990.

[Mer90] R.C.マークル。 MD4に関する注意。未発表の原稿、1990年。

[Mil76] G.L. Miller. Riemann's hypothesis and tests for primality. Journal of Computer and Systems Sciences, 13(3):300-307, 1976.

[Mil76] G.L.ミラー。リーマンの仮説と素数性の検定​​。 Journal of Computer and Systems Sciences、13(3):300-307、1976。

[QC82] J.-J. Quisquater and C. Couvreur. Fast decipherment algorithm for RSA public-key cryptosystem. Electronics Letters, 18(21):905-907, October 1982.

[QC82] J.-J. QuisquaterおよびC. Couvreur。 RSA公開鍵暗号システムの高速解読アルゴリズム。 Electronics Letters、18(21):905-907、1982年10月。

[RSA78] R.L. Rivest, A. Shamir, and L. Adleman. A method for obtaining digital signatures and public-key cryptosystems. Communications of the ACM, 21(2):120-126, February 1978.

[RSA78] R.L.リベスト、A。シャミール、およびL.アドルマン。デジタル署名と公開鍵暗号システムを取得する方法。 ACMの通信、21(2):120-126、1978年2月。

3. Definitions
3. 定義

For the purposes of this document, the following definitions apply.

このドキュメントでは、次の定義が適用されます。

AlgorithmIdentifier: A type that identifies an algorithm (by object identifier) and associated parameters. This type is defined in X.509.

AlgorithmIdentifier:(オブジェクト識別子によって)アルゴリズムと関連するパラメーターを識別するタイプ。このタイプはX.509で定義されています。

ASN.1: Abstract Syntax Notation One, as defined in X.208.

ASN.1:X.208で定義されている抽象構文記法1。

BER: Basic Encoding Rules, as defined in X.209.

BER:X.209で定義されている基本的なエンコーディングルール。

DES: Data Encryption Standard, as defined in FIPS PUB 46-1.

DES:FIPS PUB 46-1で定義されているデータ暗号化規格。

MD2: RSA Data Security, Inc.'s MD2 message-digest algorithm, as defined in RFC 1319.

MD2:RFC 1319で定義されている、RSA Data Security、Inc.のMD2メッセージダイジェストアルゴリズム。

MD4: RSA Data Security, Inc.'s MD4 message-digest algorithm, as defined in RFC 1320.

MD4:RFC 1320で定義されている、RSA Data Security、Inc.のMD4メッセージダイジェストアルゴリズム。

MD5: RSA Data Security, Inc.'s MD5 message-digest algorithm, as defined in RFC 1321.

MD5:RFC 1321で定義されている、RSA Data Security、Inc.のMD5メッセージダイジェストアルゴリズム。

modulus: Integer constructed as the product of two primes.

係数:2つの素数の積として構成される整数。

PEM: Internet Privacy-Enhanced Mail, as defined in RFC 1423 and related documents.

PEM:RFC 1423および関連ドキュメントで定義されているインターネットプライバシー拡張メール。

RSA: The RSA public-key cryptosystem, as defined in [RSA78].

RSA:[RSA78]で定義されているRSA公開鍵暗号システム。

private key: Modulus and private exponent.

秘密鍵:モジュラスと秘密指数。

public key: Modulus and public exponent.

公開鍵:モジュラスと公開指数。

4. Symbols and abbreviations
4. 記号と略語

Upper-case symbols (e.g., BT) denote octet strings and bit strings (in the case of the signature S); lower-case symbols (e.g., c) denote integers.

大文字の記号(BTなど)は、オクテット文字列とビット文字列(署名Sの場合)を示します。小文字の記号(cなど)は整数を示します。

ab hexadecimal octet value c exponent BT block type d private exponent D data e public exponent EB encryption block k length of modulus in octets ED encrypted data n modulus M message p, q prime factors of modulus MD message digest x integer encryption block MD' comparative message y integer encrypted data digest PS padding string mod n modulo n S signature X || Y concatenation of X, Y ||X|| length in octets of X 5. General overview

ab 16進数オクテット値c指数BTブロックタイプdプライベート指数Dデータe公開指数EB暗号化ブロックkオクテット単位の係数の長さED暗号化データn係数Mメッセージp、q係数の素数MDメッセージダイジェストx整数暗号ブロックMD比較メッセージy整数暗号化データダイジェストPSパディング文字列mod n modulo n S署名X || XのY連結、Y || X || X 5のオクテット単位の長さ。一般的な概要

The next six sections specify key generation, key syntax, the encryption process, the decryption process, signature algorithms, and object identifiers.

次の6つのセクションでは、鍵の生成、鍵の構文、暗号化プロセス、復号化プロセス、署名アルゴリズム、およびオブジェクト識別子を指定します。

Each entity shall generate a pair of keys: a public key and a private key. The encryption process shall be performed with one of the keys and the decryption process shall be performed with the other key. Thus the encryption process can be either a public-key operation or a private-key operation, and so can the decryption process. Both processes transform an octet string to another octet string. The processes are inverses of each other if one process uses an entity's public key and the other process uses the same entity's private key.

各エンティティは、公開鍵と秘密鍵のペアの鍵を生成します。暗号化プロセスは一方のキーで実行され、復号化プロセスはもう一方のキーで実行されるものとします。したがって、暗号化プロセスは公開キー操作または秘密キー操作のいずれかであり、復号化プロセスも同様です。どちらのプロセスも、オクテット文字列を別のオクテット文字列に変換します。一方のプロセスがエンティティの公開鍵を使用し、もう一方のプロセスが同じエンティティの秘密鍵を使用する場合、プロセスは互いに逆になります。

The encryption and decryption processes can implement either the classic RSA transformations, or variations with padding.

暗号化および復号化プロセスは、従来のRSA変換、またはパディング付きのバリエーションのいずれかを実装できます。

6. Key generation
6. 鍵の生成

This section describes RSA key generation.

このセクションでは、RSA鍵の生成について説明します。

Each entity shall select a positive integer e as its public exponent.

各エンティティは、公開指数として正の整数eを選択します。

Each entity shall privately and randomly select two distinct odd primes p and q such that (p-1) and e have no common divisors, and (q-1) and e have no common divisors.

各エンティティは、(p-1)とeに共通の約数がなく、(q-1)とeに共通の約数がないように、2つの異なる奇数素数pとqを非公開でランダムに選択します。

The public modulus n shall be the product of the private prime factors p and q:

パブリックモジュラスnは、プライベートプライムファクターpとqの積になります。

n = pq .

n = pq。

The private exponent shall be a positive integer d such that de-1 is divisible by both p-1 and q-1.

非公開指数は、de-1がp-1とq-1の両方で割り切れる正の整数dとする。

The length of the modulus n in octets is the integer k satisfying

オクテット単位の係数nの長さは、次を満足する整数kです。

2^(8(k-1)) <= n < 2^(8k) .

2 ^(8(k-1))<= n <2 ^(8k)。

The length k of the modulus must be at least 12 octets to accommodate the block formats in this document (see Section 8).

このドキュメントのブロック形式に対応するには、係数の長さkが少なくとも12オクテットである必要があります(セクション8を参照)。

Notes.

ノート。

1. The public exponent may be standardized in specific applications. The values 3 and F4 (65537) may have some practical advantages, as noted in X.509 Annex C.

1. 公開指数は、特定のアプリケーションで標準化される場合があります。 X.509 Annex Cに記載されているように、値3およびF4(65537)にはいくつかの実用的な利点があります。

2. Some additional conditions on the choice of primes may well be taken into account in order to deter factorization of the modulus. These security conditions fall outside the scope of this document. The lower bound on the length k is to accommodate the block formats, not for security.

2. 素数の因数分解を抑止するために、素数の選択に関するいくつかの追加条件を十分に考慮することができます。これらのセキュリティ条件は、このドキュメントの範囲外です。長さkの下限は、セキュリティではなく、ブロック形式に対応することです。

7. Key syntax
7. キー構文

This section gives the syntax for RSA public and private keys.

このセクションでは、RSA公開鍵と秘密鍵の構文を示します。

7.1 Public-key syntax
7.1 公開鍵構文

An RSA public key shall have ASN.1 type RSAPublicKey:

RSA公開鍵は、ASN.1タイプのRSAPublicKeyを持つ必要があります。

   RSAPublicKey ::= SEQUENCE {
     modulus INTEGER, -- n
     publicExponent INTEGER -- e }
        

(This type is specified in X.509 and is retained here for compatibility.)

(このタイプはX.509で指定されており、互換性のためにここに保持されています。)

The fields of type RSAPublicKey have the following meanings:

タイプRSAPublicKeyのフィールドには以下の意味があります。

o modulus is the modulus n.

o モジュラスはモジュラスnです。

o publicExponent is the public exponent e.

o publicExponentは、公開指数eです。

7.2 Private-key syntax
7.2 秘密鍵構文

An RSA private key shall have ASN.1 type RSAPrivateKey:

RSA秘密鍵は、ASN.1タイプのRSAPrivateKeyを持つ必要があります。

   RSAPrivateKey ::= SEQUENCE {
     version Version,
     modulus INTEGER, -- n
     publicExponent INTEGER, -- e
     privateExponent INTEGER, -- d
     prime1 INTEGER, -- p
     prime2 INTEGER, -- q
     exponent1 INTEGER, -- d mod (p-1)
     exponent2 INTEGER, -- d mod (q-1)
     coefficient INTEGER -- (inverse of q) mod p }
        
   Version ::= INTEGER
        

The fields of type RSAPrivateKey have the following meanings:

タイプRSAPrivateKeyのフィールドには、以下の意味があります。

o version is the version number, for compatibility with future revisions of this document. It shall be 0 for this version of the document.

o versionは、このドキュメントの将来のリビジョンとの互換性を保つためのバージョン番号です。このバージョンのドキュメントでは0になります。

o modulus is the modulus n.

o モジュラスはモジュラスnです。

o publicExponent is the public exponent e.

o publicExponentは、公開指数eです。

o privateExponent is the private exponent d.

o privateExponentはプライベート指数です。

o prime1 is the prime factor p of n.

o prime1は、nの素因数pです。

o prime2 is the prime factor q of n.

o prime2は、nの素因数qです。

o exponent1 is d mod (p-1).

o exponent1はd mod(p-1)です。

o exponent2 is d mod (q-1).

o exponent2はd mod(q-1)です。

o coefficient is the Chinese Remainder Theorem coefficient q-1 mod p.

o 係数は、中国の剰余定理係数q-1 mod pです。

Notes.

ノート。

1. An RSA private key logically consists of only the modulus n and the private exponent d. The presence of the values p, q, d mod (p-1), d mod (p-1), and q-1 mod p is intended for efficiency, as Quisquater and Couvreur have shown [QC82]. A private-key syntax that does not include

1. RSA秘密鍵は、論理的には係数nと秘密指数dのみで構成されます。値p、q、d mod(p-1)、d mod(p-1)、およびq-1 mod pの存在は、QuisquaterとCouvreurが示しているように、効率を目的としています[QC82]。含まない秘密鍵構文

all the extra values can be converted readily to the syntax defined here, provided the public key is known, according to a result by Miller [Mil76].

Miller [Mil76]の結果によれば、公開鍵がわかっていれば、追加の値はすべてここで定義された構文に簡単に変換できます。

2. The presence of the public exponent e is intended to make it straightforward to derive a public key from the private key.

2. 公開指数eの存在は、秘密鍵から公開鍵を簡単に導き出すことを目的としています。

8. Encryption process
8. 暗号化プロセス

This section describes the RSA encryption process.

このセクションでは、RSA暗号化プロセスについて説明します。

The encryption process consists of four steps: encryption- block formatting, octet-string-to-integer conversion, RSA computation, and integer-to-octet-string conversion. The input to the encryption process shall be an octet string D, the data; an integer n, the modulus; and an integer c, the exponent. For a public-key operation, the integer c shall be an entity's public exponent e; for a private-key operation, it shall be an entity's private exponent d. The output from the encryption process shall be an octet string ED, the encrypted data.

暗号化プロセスは、暗号化ブロックのフォーマット、オクテット文字列から整数への変換、RSA計算、および整数からオクテット文字列への変換の4つのステップで構成されます。暗号化プロセスへの入力は、オクテット文字列D、つまりデータです。整数n、モジュラス。整数c、指数。公開鍵操作の場合、整数cはエンティティの公開指数eです。秘密鍵操作の場合、それはエンティティの秘密指数です。暗号化プロセスからの出力は、暗号化されたデータであるオクテット文字列EDです。

The length of the data D shall not be more than k-11 octets, which is positive since the length k of the modulus is at least 12 octets. This limitation guarantees that the length of the padding string PS is at least eight octets, which is a security condition.

データDの長さはk-11オクテットを超えてはなりません。モジュラスの長さkは少なくとも12オクテットであるため、これは正です。この制限により、パディング文字列PSの長さがセキュリティ条件である少なくとも8オクテットになることが保証されます。

Notes.

ノート。

1. In typical applications of this document to encrypt content-encryption keys and message digests, one would have ||D|| <= 30. Thus the length of the RSA modulus will need to be at least 328 bits (41 octets), which is reasonable and consistent with security recommendations.

1. コンテンツ暗号化キーとメッセージダイジェストを暗号化するこのドキュメントの一般的なアプリケーションでは、|| D || <=30。したがって、RSAモジュラスの長さは、少なくとも328ビット(41オクテット)である必要があり、これは妥当であり、セキュリティの推奨事項と一致しています。

2. The encryption process does not provide an explicit integrity check to facilitate error detection should the encrypted data be corrupted in transmission. However, the structure of the encryption block guarantees that the probability that corruption is undetected is less than 2-16, which is an upper bound on the probability that a random encryption block looks like block type 02.

2. 暗号化プロセスは、暗号化されたデータが送信中に破損した場合のエラー検出を容易にするための明示的な整合性チェックを提供しません。ただし、暗号化ブロックの構造により、破損が検出されない確率が2〜16未満であることが保証されます。これは、ランダム暗号化ブロックがブロックタイプ02のように見える確率の上限です。

3. Application of private-key operations as defined here to data other than an octet string containing a message digest is not recommended and is subject to further study.

3. ここで定義されている秘密鍵操作をメッセージダイジェストを含むオクテット文字列以外のデータに適用することは推奨されておらず、今後の検討対象となります。

4. This document may be extended to handle data of length more than k-11 octets.

4. このドキュメントは、k-11オクテットを超える長さのデータを処理するように拡張される場合があります。

8.1 Encryption-block formatting
8.1 暗号化ブロックのフォーマット

A block type BT, a padding string PS, and the data D shall be formatted into an octet string EB, the encryption block.

ブロックタイプBT、パディング文字列PS、およびデータDは、暗号化ブロックであるオクテット文字列EBにフォーマットされます。

EB = 00 || BT || PS || 00 || D . (1)

EB = 00 || BT || PS || 00 || D. (1)

The block type BT shall be a single octet indicating the structure of the encryption block. For this version of the document it shall have value 00, 01, or 02. For a private- key operation, the block type shall be 00 or 01. For a public-key operation, it shall be 02.

ブロックタイプBTは、暗号化ブロックの構造を示す単一のオクテットでなければならない。このバージョンのドキュメントの場合、値は00、01、または02になります。秘密鍵操作の場合、ブロックタイプは00または01になります。公開鍵操作の場合は、02になります。

The padding string PS shall consist of k-3-||D|| octets. For block type 00, the octets shall have value 00; for block type 01, they shall have value FF; and for block type 02, they shall be pseudorandomly generated and nonzero. This makes the length of the encryption block EB equal to k.

埋め込み文字列PSはk-3- || D ||で構成されます。オクテット。ブロックタイプ00の場合、オクテットの値は00です。ブロックタイプ01の場合、値はFFになります。また、ブロックタイプ02の場合、これらは擬似ランダムに生成され、ゼロ以外でなければなりません。これにより、暗号化ブロックEBの長さがkに等しくなります。

Notes.

ノート。

1. The leading 00 octet ensures that the encryption block, converted to an integer, is less than the modulus.

1. 先頭の00オクテットは、整数に変換された暗号化ブロックが係数よりも小さいことを保証します。

2. For block type 00, the data D must begin with a nonzero octet or have known length so that the encryption block can be parsed unambiguously. For block types 01 and 02, the encryption block can be parsed unambiguously since the padding string PS contains no octets with value 00 and the padding string is separated from the data D by an octet with value 00.

2. ブロックタイプ00の場合、暗号化ブロックを明確に解析できるように、データDはゼロ以外のオクテットで始まるか、長さがわかっている必要があります。ブロックタイプ01および02の場合、パディング文字列PSには値00のオクテットが含まれておらず、パディング文字列は値DのオクテットによってデータDから分離されているため、暗号化ブロックを明確に解析できます。

3. Block type 01 is recommended for private-key operations. Block type 01 has the property that the encryption block, converted to an integer, is guaranteed to be large, which prevents certain attacks of the kind proposed by Desmedt and Odlyzko [DO86].

3. 秘密鍵の操作には、ブロックタイプ01をお勧めします。ブロックタイプ01には、整数に変換された暗号化ブロックが大きいことが保証されており、Desmedt and Odlyzko [DO86]によって提案された種類の特定の攻撃を防ぐという特性があります。

4. Block types 01 and 02 are compatible with PEM RSA encryption of content-encryption keys and message digests as described in RFC 1423.

4. RFC 1423で説明されているように、ブロックタイプ01および02は、コンテンツ暗号化キーおよびメッセージダイジェストのPEM RSA暗号化と互換性があります。

5. For block type 02, it is recommended that the pseudorandom octets be generated independently for each encryption process, especially if the same data is input to more than one encryption process. Hastad's results [Has88] motivate this recommendation.

5. ブロックタイプ02の場合、特に同じデータが複数の暗号化プロセスに入力される場合は、疑似ランダムオクテットを暗号化プロセスごとに個別に生成することをお勧めします。 Hastadの結果[Has88]は、この推奨事項を動機付けています。

6. For block type 02, the padding string is at least eight octets long, which is a security condition for public-key operations that prevents an attacker from recoving data by trying all possible encryption blocks. For simplicity, the minimum length is the same for block type 01.

6. ブロックタイプ02の場合、パディング文字列は少なくとも8オクテットの長さです。これは、攻撃者がすべての可能な暗号化ブロックを試行してデータを取り戻すのを防ぐ公開鍵操作のセキュリティ条件です。簡単にするため、ブロックタイプ01の最小長は同じです。

7. This document may be extended in the future to include other block types.

7. このドキュメントは、将来、他のブロックタイプを含めるように拡張される可能性があります。

8.2 Octet-string-to-integer conversion
8.2 オクテット文字列から整数への変換

The encryption block EB shall be converted to an integer x, the integer encryption block. Let EB1, ..., EBk be the octets of EB from first to last. Then the integer x shall satisfy

暗号化ブロックEBは、整数x、つまり整数暗号化ブロックに変換されます。 EB1、...、EBkを最初から最後までのEBのオクテットとする。次に整数xは

k x = SUM 2^(8(k-i)) EBi . (2) i = 1

k x = SUM 2 ^(8(k-i))EBi。 (2)i = 1

In other words, the first octet of EB has the most significance in the integer and the last octet of EB has the least significance.

言い換えると、EBの最初のオクテットは整数で最も重要であり、EBの最後のオクテットは最も重要ではありません。

Note. The integer encryption block x satisfies 0 <= x < n since EB1 = 00 and 2^(8(k-1)) <= n.

注意。 EB1 = 00および2 ^(8(k-1))<= nであるため、整数暗号化ブロックxは0 <= x <nを満たします。

8.3 RSA computation
8.3 RSA計算

The integer encryption block x shall be raised to the power c modulo n to give an integer y, the integer encrypted data.

整数暗号化ブロックxをnを法とする累乗cに累乗して、整数暗号化データである整数yを与えます。

y = x^c mod n, 0 <= y < n .

y = x ^ c mod n、0 <= y <n。

This is the classic RSA computation.

これは、古典的なRSA計算です。

8.4 Integer-to-octet-string conversion
8.4 整数からオクテット文字列への変換

The integer encrypted data y shall be converted to an octet string ED of length k, the encrypted data. The encrypted data ED shall satisfy

整数の暗号化されたデータyは、長さkのオクテットストリングEDである暗号化されたデータに変換されます。暗号化されたデータEDは、

k y = SUM 2^(8(k-i)) EDi . (3) i = 1

kおよび= ESSENCE 2 ^(8(k-i))食品。 (3)u = 1

where ED1, ..., EDk are the octets of ED from first to last.

ここで、ED1、...、EDkは、最初から最後までのEDのオクテットです。

In other words, the first octet of ED has the most significance in the integer and the last octet of ED has the least significance.

つまり、EDの最初のオクテットは整数で最も重要であり、EDの最後のオクテットは最も重要度が低いです。

9. Decryption process
9. 復号化プロセス

This section describes the RSA decryption process.

このセクションでは、RSA復号化プロセスについて説明します。

The decryption process consists of four steps: octet-string-to-integer conversion, RSA computation, integer-to-octet-string conversion, and encryption-block parsing. The input to the decryption process shall be an octet string ED, the encrypted data; an integer n, the modulus; and an integer c, the exponent. For a public-key operation, the integer c shall be an entity's public exponent e; for a private-key operation, it shall be an entity's private exponent d. The output from the decryption process shall be an octet string D, the data.

復号化プロセスは、オクテット文字列から整数への変換、RSA計算、整数からオクテット文字列への変換、暗号化ブロックの解析の4つのステップで構成されます。復号化プロセスへの入力は、暗号化されたデータであるオクテットストリングEDです。整数n、モジュラス。整数c、指数。公開鍵操作の場合、整数cはエンティティの公開指数eです。秘密鍵操作の場合、それはエンティティの秘密指数です。復号化プロセスからの出力は、データであるオクテット文字列Dです。

It is an error if the length of the encrypted data ED is not k.

暗号化データEDの長さがkでない場合、エラーになります。

For brevity, the decryption process is described in terms of the encryption process.

簡潔にするために、復号化プロセスは暗号化プロセスの観点から説明されています。

9.1 Octet-string-to-integer conversion
9.1 オクテット文字列から整数への変換

The encrypted data ED shall be converted to an integer y, the integer encrypted data, according to Equation (3).

暗号化されたデータEDは、式(3)に従って整数yに変換されます。

It is an error if the integer encrypted data y does not satisfy 0 <= y < n.

整数暗号化データyが0 <= y <nを満たさない場合、エラーになります。

9.2 RSA computation
9.2 RSA計算

The integer encrypted data y shall be raised to the power c modulo n to give an integer x, the integer encryption block.

整数暗号化データyは、nを法とする累乗cに累乗されて、整数暗号化ブロックである整数xを与えます。

x = y^c mod n, 0 <= x < n .

x = y ^ c mod n、0 <= x <n。

This is the classic RSA computation.

これは、古典的なRSA計算です。

9.3 Integer-to-octet-string conversion
9.3 整数からオクテット文字列への変換

The integer encryption block x shall be converted to an octet string EB of length k, the encryption block, according to Equation (2).

整数暗号化ブロックxは、式(2)に従って、暗号化ブロックである長さkのオクテット文字列EBに変換されます。

9.4 Encryption-block parsing
9.4 暗号化ブロックの解析

The encryption block EB shall be parsed into a block type BT, a padding string PS, and the data D according to Equation (1).

暗号化ブロックEBは、式(1)に従って、ブロックタイプBT、パディング文字列PS、およびデータDに解析されます。

It is an error if any of the following conditions occurs:

次のいずれかの条件が発生した場合、エラーになります。

o The encryption block EB cannot be parsed unambiguously (see notes to Section 8.1).

o 暗号化ブロックEBを明確に解析することはできません(セクション8.1の注を参照)。

o The padding string PS consists of fewer than eight octets, or is inconsistent with the block type BT.

o パディング文字列PSは8オクテット未満で構成されているか、ブロックタイプBTと矛盾しています。

o The decryption process is a public-key operation and the block type BT is not 00 or 01, or the decryption process is a private-key operation and the block type is not 02.

o 復号化プロセスは公開鍵操作であり、ブロックタイプBTは00または01ではありません。または、復号化プロセスは秘密鍵操作であり、ブロックタイプは02ではありません。

10. Signature algorithms
10. 署名アルゴリズム

This section defines three signature algorithms based on the RSA encryption process described in Sections 8 and 9. The intended use of the signature algorithms is in signing X.509/PEM certificates and certificate-revocation lists, PKCS #6 extended certificates, and other objects employing digital signatures such as X.401 message tokens. The algorithms are not intended for use in constructing digital signatures in PKCS #7. The first signature algorithm (informally, "MD2 with RSA") combines the MD2 message-digest algorithm with RSA, the second (informally, "MD4 with RSA") combines the MD4 message-digest algorithm with RSA, and the third (informally, "MD5 with RSA") combines the MD5 message-digest algorithm with RSA.

このセクションでは、セクション8および9で説明したRSA暗号化プロセスに基づく3つの署名アルゴリズムを定義します。署名アルゴリズムの使用目的は、X.509 / PEM証明書と証明書失効リスト、PKCS#6拡張証明書、およびその他のオブジェクトへの署名です。 X.401メッセージトークンなどのデジタル署名を使用する。このアルゴリズムは、PKCS#7でのデジタル署名の作成に使用するためのものではありません。最初の署名アルゴリズム(非公式には「MD2 with RSA」)はMD2メッセージダイジェストアルゴリズムとRSAを組み合わせ、2番目(非公式には「MD4とRSA」)はMD4メッセージダイジェストアルゴリズムとRSAを組み合わせ、3番目(非公式には「MD5 with RSA」)は、MD5メッセージダイジェストアルゴリズムとRSAを組み合わせたものです。

This section describes the signature process and the verification process for the two algorithms. The "selected" message-digest algorithm shall be either MD2 or MD5, depending on the signature algorithm. The signature process shall be performed with an entity's private key and the verification process shall be performed with an entity's public key. The signature process transforms an octet string (the message) to a bit string (the signature); the verification process determines whether a bit string (the signature) is the signature of an octet string (the message).

このセクションでは、2つのアルゴリズムの署名プロセスと検証プロセスについて説明します。 「選択された」メッセージダイジェストアルゴリズムは、署名アルゴリズムに応じて、MD2またはMD5のいずれかになります。署名プロセスはエンティティの秘密鍵で実行され、検証プロセスはエンティティの公開鍵で実行されるものとします。署名プロセスは、オクテット文字列(メッセージ)をビット文字列(署名)に変換します。検証プロセスでは、ビット文字列(署名)がオクテット文字列(メッセージ)の署名であるかどうかを判断します。

Note. The only difference between the signature algorithms defined here and one of the the methods by which signatures (encrypted message digests) are constructed in PKCS #7 is that signatures here are represented here as bit strings, for consistency with the X.509 SIGNED macro. In PKCS #7 encrypted message digests are octet strings.

注意。ここで定義された署名アルゴリズムと、PKCS#7で署名(暗号化されたメッセージダイジェスト)を作成する方法の1つとの唯一の違いは、X.509 SIGNEDマクロとの一貫性を保つために、ここで署名がビット文字列として表されることです。 PKCS#7では、暗号化されたメッセージダイジェストはオクテット文字列です。

10.1 Signature process
10.1 署名プロセス

The signature process consists of four steps: message digesting, data encoding, RSA encryption, and octet-string-to-bit-string conversion. The input to the signature process shall be an octet string M, the message; and a signer's private key. The output from the signature process shall be a bit string S, the signature.

署名プロセスは、メッセージダイジェスト、データエンコーディング、RSA暗号化、オクテット文字列からビット文字列への変換の4つのステップで構成されます。署名プロセスへの入力は、メッセージであるオクテット文字列Mです。署名者の秘密鍵。署名プロセスからの出力は、ビット文字列S、署名です。

10.1.1 Message digesting
10.1.1 メッセージのダイジェスト

The message M shall be digested with the selected message- digest algorithm to give an octet string MD, the message digest.

メッセージMは、選択されたメッセージダイジェストアルゴリズムでダイジェストされ、メッセージダイジェストであるオクテット文字列MDが与えられます。

10.1.2 Data encoding
10.1.2 データのエンコード

The message digest MD and a message-digest algorithm identifier shall be combined into an ASN.1 value of type DigestInfo, described below, which shall be BER-encoded to give an octet string D, the data.

メッセージダイジェストMDとメッセージダイジェストアルゴリズム識別子は、以下に説明するタイプDigestInfoのASN.1値に結合されます。これは、BERエンコードされてオクテット文字列Dのデータを提供します。

   DigestInfo ::= SEQUENCE {
     digestAlgorithm DigestAlgorithmIdentifier,
     digest Digest }
        
   DigestAlgorithmIdentifier ::= AlgorithmIdentifier
        
   Digest ::= OCTET STRING
        

The fields of type DigestInfo have the following meanings:

タイプDigestInfoのフィールドには次の意味があります。

o digestAlgorithm identifies the message-digest algorithm (and any associated parameters). For this application, it should identify the selected message-digest algorithm, MD2, MD4 or MD5. For reference, the relevant object identifiers are the following:

o digestAlgorithmは、メッセージダイジェストアルゴリズム(および関連するパラメーター)を識別します。このアプリケーションでは、選択したメッセージダイジェストアルゴリズムであるMD2、MD4、またはMD5を識別する必要があります。参考までに、関連するオブジェクト識別子は次のとおりです。

   md2 OBJECT IDENTIFIER ::=
        
     { iso(1) member-body(2) US(840) rsadsi(113549)
         digestAlgorithm(2) 2 } md4 OBJECT IDENTIFIER ::=
     { iso(1) member-body(2) US(840) rsadsi(113549)
         digestAlgorithm(2) 4 } md5 OBJECT IDENTIFIER ::=
     { iso(1) member-body(2) US(840) rsadsi(113549)
         digestAlgorithm(2) 5 }
        

For these object identifiers, the parameters field of the digestAlgorithm value should be NULL.

これらのオブジェクト識別子の場合、digestAlgorithm値のパラメーターフィールドはNULLである必要があります。

o digest is the result of the message-digesting process, i.e., the message digest MD.

o ダイジェストは、メッセージダイジェストプロセスの結果、つまりメッセージダイジェストMDです。

Notes.

ノート。

1. A message-digest algorithm identifier is included in the DigestInfo value to limit the damage resulting from the compromise of one message-digest algorithm. For instance, suppose an adversary were able to find messages with a given MD2 message digest. That adversary might try to forge a signature on a message by finding an innocuous-looking message with the same MD2 message digest, and coercing a signer to sign the innocuous-looking message. This attack would succeed only if the signer used MD2. If the DigestInfo value contained only the message digest, however, an adversary could attack signers that use any message digest.

1. メッセージダイジェストアルゴリズムの識別子がDigestInfo値に含まれているため、1つのメッセージダイジェストアルゴリズムの侵害による被害を制限できます。たとえば、攻撃者が特定のMD2メッセージダイジェストを持つメッセージを見つけられたとします。その攻撃者は、同じMD2メッセージダイジェストで無害に見えるメッセージを見つけ、無害に見えるメッセージに署名するように署名者を強制することによって、メッセージの署名を偽造しようとする可能性があります。この攻撃は、署名者がMD2を使用した場合にのみ成功します。ただし、DigestInfo値にメッセージダイジェストのみが含まれている場合、攻撃者は任意のメッセージダイジェストを使用する署名者を攻撃する可能性があります。

2. Although it may be claimed that the use of a SEQUENCE type violates the literal statement in the X.509 SIGNED and SIGNATURE macros that a signature is an ENCRYPTED OCTET STRING (as opposed to ENCRYPTED SEQUENCE), such a literal interpretation need not be required, as I'Anson and Mitchell point out [IM90].

2. SEQUENCEタイプの使用は、X.509 SIGNEDマクロおよびSIGNATUREマクロのリテラルステートメントに違反していると主張される場合がありますが、シグニチャは(ENCRYPTED SEQUENCEではなく)ENCRYPTED OCTET STRINGです。このようなリテラル解釈は必要ありません。 I'AnsonとMitchellが指摘しているように[IM90]。

3. No reason is known that MD4 would not be for very high security digital signature schemes, but because MD4 was designed to be exceptionally fast, it is "at the edge" in terms of risking successful cryptanalytic attack. A message-digest algorithm can be considered "broken" if someone can find a collision: two messages with the same digest. While collisions have been found in variants of MD4 with only two digesting "rounds"

3. MD4が非常に高いセキュリティのデジタル署名方式に適さないという理由はわかりませんが、MD4は非常に高速であるように設計されているため、暗号解読攻撃が成功する危険性の点で「最先端」です。誰かが衝突を見つけることができる場合、メッセージダイジェストアルゴリズムは「壊れている」と考えることができます:同じダイジェストを持つ2つのメッセージ。 MD4のバリアントでは衝突が発見されていますが、ダイジェスト「ラウンド」が2つしかありません

[Mer90][dBB92], none have been found in MD4 itself, which has three rounds. After further critical review, it may be appropriate to consider MD4 for very high security applications.

[Mer90] [dBB92]、3ラウンドのMD4自体には何も見つかりませんでした。さらに重要なレビューを行った後、非常に高度なセキュリティアプリケーションに対してMD4を検討することが適切な場合があります。

MD5, which has four rounds and is proportionally slower than MD4, is recommended until the completion of MD4's review. The reported "pseudocollisions" in MD5's internal compression function [dBB93] do not appear to have any practical impact on MD5's security.

MD4のレビューが完了するまで、4ラウンドあり、MD4よりも比例して遅いMD5をお勧めします。 MD5の内部圧縮機能[dBB93]で報告された「疑似衝突」は、MD5のセキュリティに実際的な影響を与えていないようです。

MD2, the slowest of the three, has the most conservative design. No attacks on MD2 have been published.

3つの中で最も遅いMD2は、最も保守的な設計です。 MD2に対する攻撃は公開されていません。

10.1.3 RSA encryption
10.1.3 RSA暗号化

The data D shall be encrypted with the signer's RSA private key as described in Section 7 to give an octet string ED, the encrypted data. The block type shall be 01. (See Section 8.1.)

データDは、セクション7で説明されているように署名者のRSA秘密鍵で暗号化され、暗号化されたデータであるオクテット文字列EDが提供されます。ブロックタイプは01です(セクション8.1を参照)。

10.1.4 Octet-string-to-bit-string conversion
10.1.4 オクテット文字列からビット文字列への変換

The encrypted data ED shall be converted into a bit string S, the signature. Specifically, the most significant bit of the first octet of the encrypted data shall become the first bit of the signature, and so on through the least significant bit of the last octet of the encrypted data, which shall become the last bit of the signature.

暗号化されたデータEDは、ビット列S、署名に変換されます。具体的には、暗号化データの最初のオクテットの最上位ビットが署名の最初のビットになり、暗号化データの最後のオクテットの最下位ビットが署名の最後のビットになります。

Note. The length in bits of the signature S is a multiple of eight.

注意。署名Sのビット長は8の倍数です。

10.2 Verification process
10.2 検証プロセス

The verification process for both signature algorithms consists of four steps: bit-string-to-octet-string conversion, RSA decryption, data decoding, and message digesting and comparison. The input to the verification process shall be an octet string M, the message; a signer's public key; and a bit string S, the signature. The output from the verification process shall be an indication of success or failure.

両方の署名アルゴリズムの検証プロセスは、ビット文字列からオクテット文字列への変換、RSA復号化、データのデコード、メッセージのダイジェストと比較の4つのステップで構成されています。検証プロセスへの入力は、メッセージであるオクテット文字列Mです。署名者の公開鍵。ビット列S、署名。検証プロセスからの出力は、成功または失敗を示します。

10.2.1 Bit-string-to-octet-string conversion
10.2.1 ビット文字列からオクテット文字列への変換

The signature S shall be converted into an octet string ED, the encrypted data. Specifically, assuming that the length in bits of the signature S is a multiple of eight, the first bit of the signature shall become the most significant bit of the first octet of the encrypted data, and so on through the last bit of the signature, which shall become the least significant bit of the last octet of the encrypted data.

署名Sは、暗号化されたデータであるオクテット文字列EDに変換されます。具体的には、署名Sのビット長が8の倍数であるとすると、署名の最初のビットは、暗号化データの最初のオクテットの最上位ビットとなり、署名の最後のビットまで続きます。これは、暗号化されたデータの最後のオクテットの最下位ビットになります。

It is an error if the length in bits of the signature S is not a multiple of eight.

署名Sのビット長が8の倍数でない場合、エラーになります。

10.2.2 RSA decryption
10.2.2 RSA復号

The encrypted data ED shall be decrypted with the signer's RSA public key as described in Section 8 to give an octet string D, the data.

暗号化されたデータEDは、セクション8で説明されているように、署名者のRSA公開鍵で復号化され、オクテット文字列D、つまりデータが提供されます。

It is an error if the block type recovered in the decryption process is not 01. (See Section 9.4.)

復号化プロセスで復元されたブロックタイプが01でない場合はエラーになります(9.4項を参照)。

10.2.3 Data decoding
10.2.3 データのデコード

The data D shall be BER-decoded to give an ASN.1 value of type DigestInfo, which shall be separated into a message digest MD and a message-digest algorithm identifier. The message-digest algorithm identifier shall determine the "selected" message-digest algorithm for the next step.

データDは、タイプDigestInfoのASN.1値を与えるためにBERデコードされます。これは、メッセージダイジェストMDとメッセージダイジェストアルゴリズム識別子に分離されます。メッセージダイジェストアルゴリズム識別子は、次のステップの「選択された」メッセージダイジェストアルゴリズムを決定します。

It is an error if the message-digest algorithm identifier does not identify the MD2, MD4 or MD5 message-digest algorithm.

メッセージダイジェストアルゴリズム識別子がMD2、MD4、またはMD5メッセージダイジェストアルゴリズムを識別しない場合、エラーになります。

10.2.4 Message digesting and comparison
10.2.4 メッセージのダイジェストと比較

The message M shall be digested with the selected message-digest algorithm to give an octet string MD', the comparative message digest. The verification process shall succeed if the comparative message digest MD' is the same as the message digest MD, and the verification process shall fail otherwise.

メッセージMは、選択されたメッセージダイジェストアルゴリズムでダイジェストされて、比較メッセージダイジェストであるオクテット文字列MD 'が与えられます。比較メッセージダイジェストMD 'がメッセージダイジェストMDと同じ場合、検証プロセスは成功し、それ以外の場合、検証プロセスは失敗します。

11. Object identifiers
11. オブジェクト識別子

This document defines five object identifiers: pkcs-1, rsaEncryption, md2WithRSAEncryption, md4WithRSAEncryption, and md5WithRSAEncryption.

このドキュメントでは、pkcs-1、rsaEncryption、md2WithRSAEncryption、md4WithRSAEncryption、およびmd5WithRSAEncryptionの5つのオブジェクト識別子を定義しています。

The object identifier pkcs-1 identifies this document.

オブジェクト識別子pkcs-1は、このドキュメントを識別します。

   pkcs-1 OBJECT IDENTIFIER ::=
        
     { iso(1) member-body(2) US(840) rsadsi(113549)
         pkcs(1) 1 }
        

The object identifier rsaEncryption identifies RSA public and private keys as defined in Section 7 and the RSA encryption and decryption processes defined in Sections 8 and 9.

オブジェクト識別子rsaEncryptionは、セクション7で定義されているRSA公開鍵と秘密鍵、およびセクション8と9で定義されているRSA暗号化および復号化プロセスを識別します。

   rsaEncryption OBJECT IDENTIFIER ::= { pkcs-1 1 }
        

The rsaEncryption object identifier is intended to be used in the algorithm field of a value of type AlgorithmIdentifier. The parameters field of that type, which has the algorithm-specific syntax ANY DEFINED BY algorithm, would have ASN.1 type NULL for this algorithm.

rsaEncryptionオブジェクト識別子は、AlgorithmIdentifierタイプの値のalgorithmフィールドで使用するためのものです。アルゴリズム固有の構文ANY DEFINED BYアルゴリズムを持つそのタイプのパラメーターフィールドは、このアルゴリズムではASN.1タイプNULLになります。

The object identifiers md2WithRSAEncryption, md4WithRSAEncryption, md5WithRSAEncryption, identify, respectively, the "MD2 with RSA," "MD4 with RSA," and "MD5 with RSA" signature and verification processes defined in Section 10.

オブジェクト識別子md2WithRSAEncryption、md4WithRSAEncryption、md5WithRSAEncryptionは、セクション10で定義された「RSA付きMD2」、「RSA付きMD4」、「RSA付きMD5」の署名と検証プロセスをそれぞれ識別します。

   md2WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 2 }
   md4WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 3 }
   md5WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 4 }
        

These object identifiers are intended to be used in the algorithm field of a value of type AlgorithmIdentifier. The parameters field of that type, which has the algorithm-specific syntax ANY DEFINED BY algorithm, would have ASN.1 type NULL for these algorithms.

これらのオブジェクト識別子は、AlgorithmIdentifierタイプの値のalgorithmフィールドで使用することを目的としています。アルゴリズム固有の構文ANY DEFINED BYアルゴリズムを持つそのタイプのパラメーターフィールドは、これらのアルゴリズムに対してASN.1タイプNULLを持ちます。

Note. X.509's object identifier rsa also identifies RSA public keys as defined in Section 7, but does not identify private keys, and identifies different encryption and decryption processes. It is expected that some applications will identify public keys by rsa. Such public keys are compatible with this document; an rsaEncryption process under an rsa public key is the same as the rsaEncryption process under an rsaEncryption public key.

注意。 X.509のオブジェクト識別子rsaは、セクション7で定義されているRSA公開鍵も識別しますが、秘密鍵は識別せず、さまざまな暗号化および復号化プロセスを識別します。一部のアプリケーションは、RSAによって公開鍵を識別することが期待されています。このような公開鍵はこのドキュメントと互換性があります。 rsa公開鍵でのrsaEncryptionプロセスは、rsaEncryption公開鍵でのrsaEncryptionプロセスと同じです。

Security Considerations

セキュリティに関する考慮事項

Security issues are discussed throughout this memo.

セキュリティの問題は、このメモ全体で議論されています。

Revision history

改訂履歴

Versions 1.0-1.3

バージョン1.0-1.3

Versions 1.0-1.3 were distributed to participants in RSA Data Security, Inc.'s Public-Key Cryptography Standards meetings in February and March 1991.

バージョン1.0〜1.3は、1991年2月と3月にRSA Data Security、Inc.の公開鍵暗号規格会議の参加者に配布されました。

Version 1.4

バージョン1.4

Version 1.4 is part of the June 3, 1991 initial public release of PKCS. Version 1.4 was published as NIST/OSI Implementors' Workshop document SEC-SIG-91-18.

バージョン1.4は、1991年6月3日のPKCSの最初のパブリックリリースの一部です。バージョン1.4は、NIST / OSI実装者向けワークショップドキュメントSEC-SIG-91-18として公開されました。

Version 1.5

バージョン1.5

Version 1.5 incorporates several editorial changes, including updates to the references and the addition of a revision history. The following substantive changes were made:

バージョン1.5には、参照の更新や改訂履歴の追加など、いくつかの編集上の変更が組み込まれています。次の実質的な変更が行われました。

o Section 10: "MD4 with RSA" signature and verification processes are added.

o セクション10:「RSAを使用するMD4」の署名および検証プロセスが追加されました。

o Section 11: md4WithRSAEncryption object identifier is added.

o セクション11:md4WithRSAEncryptionオブジェクト識別子が追加されました。

Supersedes June 3, 1991 version, which was also published as NIST/OSI Implementors' Workshop document SEC-SIG-91-18.

1991年6月3日バージョンに取って代わり、NIST / OSI実装者向けワークショップドキュメントSEC-SIG-91-18としても発行されました。

Acknowledgements

謝辞

This document is based on a contribution of RSA Laboratories, a division of RSA Data Security, Inc. Any substantial use of the text from this document must acknowledge RSA Data Security, Inc. RSA Data Security, Inc. requests that all material mentioning or referencing this document identify this as "RSA Data Security, Inc. PKCS #1".

このドキュメントは、RSA Data Security、Incの一部門であるRSA Laboratoriesの寄稿に基づいています。このドキュメントのテキストを実質的に使用する場合は、RSA Data Security、Inc.に同意する必要があります。RSAData Security、Inc.は、すべての資料について言及または参照することを要求します。このドキュメントでは、これを「RSA Data Security、Inc. PKCS#1」と識別しています。

Author's Address

著者のアドレス

Burt Kaliski RSA Laboratories East 20 Crosby Drive Bedford, MA 01730

Burt Kaliski RSA Laboratories East 20 Crosby Drive Bedford、MA 01730

Phone: (617) 687-7000 EMail: burt@rsa.com

電話:(617)687-7000メール:burt@rsa.com

Full Copyright Statement

完全な著作権表示

Copyright (C) The Internet Society (1998). All Rights Reserved.

Copyright(C)The Internet Society(1998)。全著作権所有。

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.

このドキュメントとその翻訳はコピーして他のユーザーに提供することができ、コメントまたはその他の方法で説明したり、その実装を支援する二次的著作物は、いかなる種類の制限なしに、全体または一部を準備、コピー、公開、および配布することができますただし、上記の著作権表示とこの段落は、そのようなすべてのコピーと派生物に含まれています。ただし、このドキュメント自体は、著作権に関する通知を削除したり、インターネットソサエティや他のインターネット組織への参照を削除したりするなど、いかなる方法でも変更できません。ただし、インターネット標準を開発する目的で必要な場合は除きます。インターネット標準のプロセスに従うか、または必要に応じて、それを英語以外の言語に翻訳する必要があります。

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.

上記で付与された制限付きのアクセス許可は永続的であり、インターネットソサエティまたはその後継者または譲受人によって取り消されることはありません。

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

このドキュメントとここに含まれる情報は「現状有姿」で提供され、インターネット社会およびインターネット技術タスクフォースは、明示または黙示を問わず、ここに記載されている情報の使用が保証するものに限定されない一切の保証を含みません。商品性または特定の目的への適合性に関する権利または黙示の保証を侵害すること。