RFC2437 日本語訳

2437 PKCS #1: RSA Cryptography Specifications Version 2.0. B. Kaliski,J. Staddon. October 1998. (Format: TXT=73529 bytes) (Obsoletes RFC2313) (Obsoleted by RFC3447) (Status: INFORMATIONAL)
プログラムでの自動翻訳です。
英語原文

Network Working Group                                         B. Kaliski
Request for Comments: 2437                                    J. Staddon
Obsoletes: 2313                                         RSA Laboratories
Category: Informational                                     October 1998

Kaliskiがコメントのために要求するワーキンググループB.をネットワークでつないでください: 2437J.Staddonは以下を時代遅れにします。 2313年のRSA研究所カテゴリ: 情報の1998年10月

                PKCS #1: RSA Cryptography Specifications
                              Version 2.0

PKCS#1: RSA暗号仕様バージョン、2.0

Status of this Memo

この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)インターネット協会(1998)。 All rights reserved。

Table of Contents

目次

   1.       Introduction.....................................2
   1.1      Overview.........................................3
   2.       Notation.........................................3
   3.       Key types........................................5
   3.1      RSA public key...................................5
   3.2      RSA private key..................................5
   4.       Data conversion primitives.......................6
   4.1      I2OSP............................................6
   4.2      OS2IP............................................7
   5.       Cryptographic primitives.........................8
   5.1      Encryption and decryption primitives.............8
   5.1.1    RSAEP............................................8
   5.1.2    RSADP............................................9
   5.2      Signature and verification primitives...........10
   5.2.1    RSASP1..........................................10
   5.2.2    RSAVP1..........................................11
   6.       Overview of schemes.............................11
   7.       Encryption schemes..............................12
   7.1      RSAES-OAEP......................................13
   7.1.1    Encryption operation............................13
   7.1.2    Decryption operation............................14
   7.2      RSAES-PKCS1-v1_5................................15
   7.2.1    Encryption operation............................17
   7.2.2    Decryption operation............................17
   8.       Signature schemes with appendix.................18
   8.1      RSASSA-PKCS1-v1_5...............................19
   8.1.1    Signature generation operation..................20

1. 序論…2 1.1概観…3 2. 記法…3 3. キーはタイプされます…5 3.1RSA公開鍵…5 3.2RSA秘密鍵…5 4. データ変換基関数…6 4.1I2OSP…6 4.2 OS2IP…7 5. 暗号の基関数…8 5.1暗号化と復号化基関数…8 5.1 .1RSAEP…8 5.1 .2RSADP…9 5.2署名と検証基関数…10 5.2 .1RSASP1…10 5.2 .2RSAVP1…11 6. 計画の概観…11 7. 暗号化は計画されます…12 7.1RSAES-OAEP…13 7.1 .1 暗号化操作…13 7.1 .2 復号化操作…14 7.2 RSAES-PKCS1-v1_5…15 7.2 .1 暗号化操作…17 7.2 .2 復号化操作…17 8. 署名は付録で計画されます…18 8.1 RSASSA-PKCS1-v1_5…19 8.1 .1 署名世代操作…20

Kaliski & Staddon            Informational                      [Page 1]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[1ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

   8.1.2    Signature verification operation................21
   9.       Encoding methods................................22
   9.1      Encoding methods for encryption.................22
   9.1.1    EME-OAEP........................................22
   9.1.2    EME-PKCS1-v1_5..................................24
   9.2      Encoding methods for signatures with appendix...26
   9.2.1    EMSA-PKCS1-v1_5.................................26
   10.      Auxiliary Functions.............................27
   10.1     Hash Functions..................................27
   10.2     Mask Generation Functions.......................28
   10.2.1   MGF1............................................28
   11.      ASN.1 syntax....................................29
   11.1     Key representation..............................29
   11.1.1   Public-key syntax...............................30
   11.1.2   Private-key syntax..............................30
   11.2     Scheme identification...........................31
   11.2.1   Syntax for RSAES-OAEP...........................31
   11.2.2   Syntax for RSAES-PKCS1-v1_5.....................32
   11.2.3   Syntax for RSASSA-PKCS1-v1_5....................33
   12       Patent Statement................................33
   12.1     Patent statement for the RSA algorithm..........34
   13.      Revision history................................35
   14.      References......................................35
            Security Considerations.........................37
            Acknowledgements................................37
            Authors' Addresses..............................38
            Full Copyright Statement........................39

8.1.2 署名照合操作…21 9. 方法をコード化します…22 9.1 暗号化のための方法をコード化します…22 9.1 .1EME-OAEP…22 9.1 .2 EME-PKCS1-v1_5…24 9.2 付録による署名のための方法をコード化します…26 9.2 .1 EMSA-PKCS1-v1_5…26 10. 補助物は機能します…27 10.1 機能を論じ尽くしてください…27 10.2 世代機能にマスクをかけてください…28 10.2.1 MGF1…28 11. ASN.1構文…29 11.1 主要な表現…29 11.1.1 公開カギ構文…30 11.1.2 秘密鍵構文…30 11.2 識別を計画してください…31 11.2.1 RSAES-OAEPのための構文…31 11.2.2 RSAES-PKCS1-v1_5のための構文…32 11.2.3 RSASSA-PKCS1-v1_5のための構文…33 12は声明の特許をとります…33 12.1 RSAアルゴリズムのために声明の特許をとってください…34 13. 改正歴史…35 14. 参照…35 セキュリティ問題…37の承認…37人の作者のアドレス…38 完全な著作権宣言文…39

1. Introduction

1. 序論

   This memo is the successor to RFC 2313. This document provides
   recommendations for the implementation of public-key cryptography
   based on the RSA algorithm [18], covering the following aspects:

このメモはRFC2313の後継者です。 このドキュメントは以下の局面をカバーしていて、RSAアルゴリズム[18]に基づく公開カギ暗号の実現のための推薦を提供します:

      -cryptographic primitives
      -encryption schemes
      -signature schemes with appendix
      -ASN.1 syntax for representing keys and for identifying the
       schemes

-暗号の基関数暗号化はキーを表して、計画を特定するための付録-ASN.1構文で署名計画を計画します。

   The recommendations are intended for general application within
   computer and communications systems, and as such include a fair
   amount of flexibility. It is expected that application standards
   based on these specifications may include additional constraints. The
   recommendations are intended to be compatible with draft standards
   currently being developed by the ANSI X9F1 [1] and IEEE P1363 working
   groups [14].  This document supersedes PKCS #1 version 1.5 [20].

推薦は、コンピュータの中の一般的適用と通信網のために意図して、そういうものとして公正な量の柔軟性を含んでいます。 これらの仕様に基づくアプリケーション規格が追加規制を含むかもしれないと予想されます。 ANSI X9F1[1]とIEEE P1363ワーキンググループ[14]によって開発されながら、推薦は現在草稿規格と互換性があることを意図します。 このドキュメントはPKCS#1バージョン1.5[20]に取って代わります。

Kaliski & Staddon            Informational                      [Page 2]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[2ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

   Editor's note. It is expected that subsequent versions of PKCS #1 may
   cover other aspects of the RSA algorithm such as key size, key
   generation, key validation, and signature schemes with message
   recovery.

編集者注。 PKCS#1のその後のバージョンがメッセージ回復でRSAアルゴリズムの主要なサイズや、キー生成や、主要な合法化や、署名計画などの他の局面を覆うかもしれないと予想されます。

1.1 Overview

1.1 概観

   The organization of this document is as follows:

このドキュメントの組織は以下の通りです:

      -Section 1 is an introduction.
      -Section 2 defines some notation used in this document.
      -Section 3 defines the RSA public and private key types.
      -Sections 4 and 5 define several primitives, or basic mathematical
       operations. Data conversion primitives are in Section 4, and
       cryptographic primitives (encryption-decryption,
       signature-verification) are in Section 5.
      -Section 6, 7 and 8 deal with the encryption and signature schemes
       in this document. Section 6 gives an overview. Section 7 defines
       an OAEP-based [2] encryption scheme along with the method found
       in PKCS #1 v1.5.  Section 8 defines a signature scheme with
       appendix; the method is identical to that of PKCS #1 v1.5.
      -Section 9 defines the encoding methods for the encryption and
       signature schemes in Sections 7 and 8.
      -Section 10 defines the hash functions and the mask generation
       function used in this document.
      -Section 11 defines the ASN.1 syntax for the keys defined in
       Section 3 and the schemes gives in Sections 7 and 8.
      -Section 12 outlines the revision history of PKCS #1.
      -Section 13 contains references to other publications and
       standards.

-セクション1は序論です。 -セクション2は本書では使用される何らかの記法を定義します。 -セクション3はRSA公衆と秘密鍵タイプを定義します。 -セクション4と5はいくつかの基関数、または基本的な数学の操作を定義します。 データ変換基関数がセクション4にあります、そして、暗号の基関数(暗号化復号化、署名照合)がセクション5にあります。 -セクション6、7、および8は本書では暗号化と署名計画に対処します。 セクション6は概観を与えます。 セクション7はPKCS#1v1.5で見つけられた方法に伴うOAEPベースの[2]暗号化計画を定義します。 セクション8は付録で署名計画を定義します。 方法はPKCS#1v1.5のものと同じです。 -セクション9は暗号化と署名計画のためにセクション7と8でコード化方法を定義します。 -セクション10は機能が本書では費やしたハッシュ関数とマスク世代を定義します。 -セクション11はセクション3で定義されたキーと計画のための.1構文がセクション7と8で与えるASNを定義します。 -セクション12はPKCS#1に関する改訂履歴について概説します。 -セクション13は他の刊行物と規格の参照を含みます。

2. Notation

2. 記法

   (n, e)        RSA public key

(n、e) RSA公開鍵

   c             ciphertext representative, an integer between 0 and n-1

c暗号文代表、0とn-1の間の整数

   C             ciphertext, an octet string

C暗号文、八重奏ストリング

   d             private exponent

d個人的な解説者

   dP            p's exponent, a positive integer such that:
                  e(dP)\equiv 1 (mod(p-1))

dP pの解説者、正の整数、以下のことのようなもの equiv1e(dP)円(モッズ(p-1))

   dQ            q's exponent, a positive integer such that:
                  e(dQ)\equiv 1 (mod(q-1))

dQ qの解説者、正の整数、以下のことのようなもの equiv1e(dQ)円(モッズ(q-1))

   e             public exponent

e公共の解説者

Kaliski & Staddon            Informational                      [Page 3]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[3ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

   EM            encoded message, an octet string

EMはメッセージ、八重奏ストリングをコード化しました。

   emLen         intended length in octets of an encoded message

コード化されたメッセージの八重奏におけるemLen意図している長さ

   H             hash value, an output of Hash

Hハッシュ値、Hashの出力

   Hash          hash function

細切れ肉料理ハッシュ関数

   hLen          output length in octets of hash function Hash

ハッシュ関数Hashの八重奏におけるhLen出力の長さ

   K             RSA private key

K RSA秘密鍵

   k             length in octets of the modulus

係数の八重奏におけるkの長さ

   l             intended length of octet string

lは八重奏ストリングの長さを意図しました。

   lcm(.,.)      least common multiple of two
                 nonnegative integers

lcm、()、2つの非負整数の最小公倍数

   m             message representative, an integer between
                 0 and n-1

mはメッセージ代表、0とn-1の間の整数です。

   M             message, an octet string

Mはメッセージ、八重奏ストリングです。

   MGF           mask generation function

MGFマスク世代機能

   n             modulus

n係数

   P             encoding parameters, an octet string

パラメタ、八重奏ストリングをコード化するP

   p,q           prime factors of the modulus

p、係数に関するq主要因

   qInv          CRT coefficient, a positive integer less
                 than p such: q(qInv)\equiv 1 (mod p)

qInv CRT係数的、そして、a積極的な整数pより少ないそのようなもの、: equiv1q(qInv)円(モッズp)

   s             signature representative, an integer
                 between 0 and n-1

s署名代表、0とn-1の間の整数

   S             signature, an octet string

S署名、八重奏ストリング

   x             a nonnegative integer

xは非負整数です。

   X             an octet string corresponding to x

Xはxに対応する八重奏ストリングです。

   \xor          bitwise exclusive-or of two octet strings

2八重奏のxor bitwise排他的論理和が結ぶ\

   \lambda(n)    lcm(p-1, q-1), where n = pq

\λ(n)lcm(p-1、q-1)。(そこでは、nがpqと等しいです)。

Kaliski & Staddon            Informational                      [Page 4]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[4ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

   ||            concatenation operator

|| 連結オペレータ

   ||.||         octet length operator

||.|| 八重奏長さのオペレータ

3. Key types

3. 主要なタイプ

   Two key types are employed in the primitives and schemes defined in
   this document: RSA public key and RSA private key. Together, an RSA
   public key and an RSA private key form an RSA key pair.

2つの主要なタイプが本書では定義された基関数と計画で雇われます: RSA公開鍵とRSA秘密鍵。 RSA公開鍵とRSA秘密鍵はRSA主要な組を一緒に、形成します。

3.1 RSA public key

3.1 RSA公開鍵

   For the purposes of this document, an RSA public key consists of two
   components:

このドキュメントの目的のために、RSA公開鍵は2つのコンポーネントから成ります:

   n, the modulus, a nonnegative integer
   e, the public exponent, a nonnegative integer

n、係数、非負整数e、公共の解説者、非負整数

   In a valid RSA public key, the modulus n is a product of two odd
   primes p and q, and the public exponent e is an integer between 3 and
   n-1 satisfying gcd (e, \lambda(n)) = 1, where \lambda(n) = lcm (p-
   1,q-1).  A recommended syntax for interchanging RSA public keys
   between implementations is given in Section 11.1.1; an
   implementation's internal representation may differ.

有効なRSA公開鍵では、係数nは2変な盛りpとqの製品です、そして、公共の解説者eは最大公約数を満たす3とn-1の間の整数です。(e、\λ(n))は1と等しいです。そこでは、\λ(n)はlcm(p1、q-1)と等しいです。 セクション11.1.1で実現の間のRSA公開鍵を交換するためのお勧めの構文を与えます。 実現の内部の表現は異なるかもしれません。

3.2 RSA private key

3.2 RSA秘密鍵

   For the purposes of this document, an RSA private key may have either
   of two representations.

このドキュメントの目的のために、RSA秘密鍵には、2つの表現のどちらかがあるかもしれません。

   1. The first representation consists of the pair (n, d), where the
   components have the following meanings:

1. 最初の表現は組(n、d)から成ります:(そこでは、コンポーネントが以下の意味を持っています)。

   n, the modulus, a nonnegative integer
   d, the private exponent, a nonnegative integer

n、係数、非負整数d、個人的な解説者、非負整数

   2. The second representation consists of a quintuple (p, q, dP, dQ,
   qInv), where the components have the following meanings:

2. コンポーネントには以下の意味があるところで2番目の表現は5倍(p、q、dP、dQ、qInv)から成ります:

   p, the first factor, a nonnegative integer
   q, the second factor, a nonnegative integer
   dP, the first factor's exponent, a nonnegative integer
   dQ, the second factor's exponent, a nonnegative integer
   qInv, the CRT coefficient, a nonnegative integer

p、最初の要素、非負整数q、2番目の要素、非負整数dP、最初の要素の解説者、非負整数dQ、2番目の要素の解説者、非負整数qInv、CRT係数、非負整数

   In a valid RSA private key with the first representation, the modulus
   n is the same as in the corresponding public key and is the product
   of two odd primes p and q, and the private exponent d is a positive

最初の表現がある有効なRSA秘密鍵では、係数nは、対応する公開鍵と同じであり、2変な盛りpとqの製品です、そして、個人的な解説者dは正数です。

Kaliski & Staddon            Informational                      [Page 5]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[5ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

   integer less than n satisfying:

整数nの満足させること:

   ed \equiv 1 (mod \lambda(n))

教育equiv1円(モッズ\λ(n))

   where e is the corresponding public exponent and \lambda(n) is as
   defined above.

eが対応する公共の解説者と\であるところに、λ(n)が上で定義されるとしてあります。

   In a valid RSA private key with the second representation, the two
   factors p and q are the prime factors of the modulus n, the exponents
   dP and dQ are positive integers less than p and q respectively
   satisfying

2番目の表現がある有効なRSA秘密鍵では、2つの要素pとqが係数nに関する主要因である、解説者のdPとdQはpよりそれほど正の整数であり、qはそれぞれ満足させることです。

   e(dP)\equiv 1(mod(p-1))
   e(dQ)\equiv 1(mod(q-1)),

equiv1equiv1e(dP)円(モッズ(p-1))のe(dQ)円です(モッズ(q-1))。

   and the CRT coefficient qInv is a positive integer less than p
   satisfying:

そして、CRT係数qInvはpの満足させるより少ない正の整数です:

   q(qInv)\equiv 1 (mod p).

equiv1q(qInv)円です(モッズp)。

   A recommended syntax for interchanging RSA private keys between
   implementations, which includes components from both representations,
   is given in Section 11.1.2; an implementation's internal
   representation may differ.

セクション11.1.2で実現の間のRSA秘密鍵を交換するためのお勧めの構文(両方の表現からのコンポーネントを含んでいる)を与えます。 実現の内部の表現は異なるかもしれません。

4. Data conversion primitives

4. データ変換基関数

   Two data conversion primitives are employed in the schemes defined in
   this document:

2つのデータ変換基関数が本書では定義された計画で使われます:

   I2OSP: Integer-to-Octet-String primitive
   OS2IP: Octet-String-to-Integer primitive

I2OSP: 整数から八重奏ストリングへの原始のOS2IP: 八重奏ストリングから整数に、原始的です。

   For the purposes of this document, and consistent with ASN.1 syntax, an
   octet string is an ordered sequence of octets (eight-bit bytes). The
   sequence is indexed from first (conventionally, leftmost) to last
   (rightmost). For purposes of conversion to and from integers, the first
   octet is considered the most significant in the following conversion
   primitives

このドキュメント、ASN.1構文と一致することの目的のために、八重奏ストリングは八重奏(8ビットのバイト)の規則正しい系列です。 系列は、持続する(一番右の)ように最初に(慣習上と、一番左)から索引をつけられます。 整数と整数からの変換の目的のために、最初の八重奏は以下の変換基関数で最も重要であると考えられます。

4.1 I2OSP

4.1 I2OSP

   I2OSP converts a nonnegative integer to an octet string of a specified
   length.

I2OSPは非負の整数に指定された長さの八重奏ストリングに変えます。

   I2OSP (x, l)

I2OSP(x、l)

Kaliski & Staddon            Informational                      [Page 6]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[6ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

   Input:
   x         nonnegative integer to be converted
   l         intended length of the resulting octet string

以下を入力してください。 結果として起こる八重奏ストリングの変換されたl意図している長さであるx非負整数

   Output:
   X         corresponding octet string of length l; or
             "integer too large"

出力: 長さlのX対応する八重奏ストリング。 または、「整数、大き過ぎる、」

   Steps:

以下のステップ:

   1. If x>=256^l, output "integer too large" and stop.

1. x>が256^l、出力と等しい、「整数、大き過ぎる、」 止まってください。

   2. Write the integer x in its unique l-digit representation base 256:

2. ユニークなl-ケタ表現ベース256の中に整数xを書いてください:

   x = x_{l-1}256^{l-1} + x_{l-2}256^{l-2} +... + x_1 256 + x_0

x_l-1 256^l-1+x_l-2 256^l-2x=+… + x_1 256+x_0

   where 0 <= x_i < 256 (note that one or more leading digits will be
   zero if x < 256^{l-1}).

0<がx_i<256と等しい(複数の主なケタがx<256^l-1であるならゼロになることに注意します)ところ。

   3. Let the octet X_i have the value x_{l-i} for 1 <= i <= l.  Output
   the octet string:

3. 八重奏X_iで、値xのi_1<のためのl-i=<をlとの等しさにしてください。 八重奏ストリングを出力してください:

   X = X_1 X_2 ... X_l.

XはX_1X_2と等しいです… X_l。

4.2 OS2IP

4.2 OS2IP

   OS2IP converts an octet string to a nonnegative integer.

OS2IPは八重奏ストリングを非負整数に変換します。

   OS2IP (X)

OS2IP(X)

   Input:
   X         octet string to be converted

以下を入力してください。 変換されるべきX八重奏ストリング

   Output:
   x         corresponding nonnegative integer

出力: x対応する非負整数

   Steps:

以下のステップ:

   1. Let X_1 X_2 ... X_l  be the octets of X from first to last, and
   let x{l-i} have value X_i for 1<= i <= l.

1. X_1X_2をさせてください… X_lは最初から最後まで間のXの八重奏であり、x l-iで1<のための値X_iがi<=lとの等しさにします。

   2. Let x = x{l-1} 256^{l-1} + x_{l-2} 256^{l-2} +...+ x_1 256 + x_0.

2. xをx l-1 256^l-1+x_l-2 256^l-2+との等しさにしてください…+ x_1 256+x_0。

   3. Output x.

3. xを出力してください。

Kaliski & Staddon            Informational                      [Page 7]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[7ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

5. Cryptographic primitives

5. 暗号の基関数

   Cryptographic primitives are basic mathematical operations on which
   cryptographic schemes can be built. They are intended for
   implementation in hardware or as software modules, and are not
   intended to provide security apart from a scheme.

暗号の基関数は暗合方式を築き上げることができる基本的な数学の操作です。 彼らは、ハードウェアかソフトウェア・モジュールとして実現のために意図して、計画は別としてセキュリティを提供することを意図しません。

   Four types of primitive are specified in this document, organized in
   pairs: encryption and decryption; and signature and verification.

原始の4つのタイプが、このドキュメントで指定されていて、対になって組織化されています: 暗号化と復号化。 署名と検証。

   The specifications of the primitives assume that certain conditions
   are met by the inputs, in particular that public and private keys are
   valid.

基関数の仕様はある条件が入力で満たされて、公衆と秘密鍵が特に、有効であると仮定します。

5.1 Encryption and decryption primitives

5.1 暗号化と復号化基関数

   An encryption primitive produces a ciphertext representative from a
   message representative under the control of a public key, and a
   decryption primitive recovers the message representative from the
   ciphertext representative under the control of the corresponding
   private key.

暗号化基関数はメッセージ代表から公開鍵のコントロールの下で暗号文代表を生産します、そして、復号化基関数は対応する秘密鍵のコントロールの下でメッセージ代表を暗号文代表から取り戻します。

   One pair of encryption and decryption primitives is employed in the
   encryption schemes defined in this document and is specified here:
   RSAEP/RSADP. RSAEP and RSADP involve the same mathematical operation,
   with different keys as input.

1組の暗号化と復号化基関数は、本書では定義された暗号化計画で使われて、ここで指定されます: RSAEP/RSADP。 RSAEPとRSADPは入力されるように異なったキーによる同じ数学の操作にかかわります。

   The primitives defined here are the same as in the draft IEEE P1363
   and are compatible with PKCS #1 v1.5.

ここで定義された基関数は、草稿IEEE P1363と同じであり、PKCS#1v1.5と互換性があります。

   The main mathematical operation in each primitive is exponentiation.

それぞれの原始の主な数学の操作は羃法です。

5.1.1 RSAEP

5.1.1 RSAEP

   RSAEP((n, e), m)

RSAEP(n、e)、m)

   Input:
   (n, e)    RSA public key
   m         message representative, an integer between 0 and n-1

以下を入力してください。 (n、e) RSA公開鍵mはメッセージ代表、0とn-1の間の整数です。

   Output:
   c         ciphertext representative, an integer between 0 and n-1;
             or "message representative out of range"

出力: c暗号文代表、0とn-1の間の整数。 または、「範囲からのメッセージ代表」

   Assumptions: public key (n, e) is valid

仮定: 公開鍵(n、e)は有効です。

   Steps:

以下のステップ:

Kaliski & Staddon            Informational                      [Page 8]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[8ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

   1. If the message representative m is not between 0 and n-1, output
   message representative out of range and stop.

1. 0とn-1の間には、メッセージ代表mがないなら、範囲からメッセージ代表を出力してください、そして、止まってください。

   2. Let c = m^e mod n.

2. cをm^eモッズnとの等しさにしてください。

   3. Output c.

3. cを出力してください。

5.1.2 RSADP

5.1.2 RSADP

   RSADP (K, c)

RSADP(K、c)

   Input:

以下を入力してください。

   K         RSA private key, where K has one of the following forms
                 -a pair (n, d)
                 -a quintuple (p, q, dP, dQ, qInv)
   c         ciphertext representative, an integer between 0 and n-1

以下のフォーム-aの1つが0とn-1の間でKで-aの5倍(p、q、dP、dQ、qInv)のc暗号文代表、整数を対にする(n、d)ところのK RSA秘密鍵

   Output:
   m         message representative, an integer between 0 and n-1; or
             "ciphertext representative out of range"

出力: mのメッセージ代表、0の間の整数、およびn-1。 または、「範囲からの暗号文代表」

   Assumptions: private key K is valid

仮定: 秘密鍵Kは有効です。

   Steps:

以下のステップ:

   1. If the ciphertext representative c is not between 0 and n-1,
   output "ciphertext representative out of range" and stop.

1. 0とn-1の間には、暗号文代表cがないなら、「範囲からの暗号文代表」を出力してください、そして、止まってください。

   2. If the first form (n, d) of K is used:

2. 最初のフォーム(n、d)のKが使用されているなら:

   2.1 Let m = c^d mod n.          Else, if the second form (p, q, dP,
   dQ, qInv) of K is used:

2.1はc^dモッズnとmと等しいです。 ほかに、Kのフォーム(p、q、dP、dQ、qInv)は2番目であるなら使用されています:

   2.2 Let m_1 = c^dP mod p.

2.2はc^dPモッズpとm_1と等しいです。

   2.3 Let m_2 = c^dQ mod q.

2.3はc^dQモッズqとm_2と等しいです。

   2.4 Let h = qInv ( m_1 - m_2 ) mod p.

2.4はqInv(m_1--m_2)モッズpとhと等しいです。

   2.5 Let m = m_2 + hq.

2.5はm_2+hqとmと等しいです。

   3. Output m.

3. mを出力してください。

Kaliski & Staddon            Informational                      [Page 9]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[9ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

5.2 Signature and verification primitives

5.2 署名と検証基関数

   A signature primitive produces a signature representative from a
   message representative under the control of a private key, and a
   verification primitive recovers the message representative from the
   signature representative under the control of the corresponding
   public key. One pair of signature and verification primitives is
   employed in the signature schemes defined in this document and is
   specified here: RSASP1/RSAVP1.

署名基関数はメッセージ代表から秘密鍵のコントロールの下で署名代表を生産します、そして、検証基関数は対応する公開鍵のコントロールの下でメッセージ代表を署名代表から取り戻します。 1組の署名と検証基関数は、本書では定義された署名計画で使われて、ここで指定されます: RSASP1/RSAVP1。

   The primitives defined here are the same as in the draft IEEE P1363
   and are compatible with PKCS #1 v1.5.

ここで定義された基関数は、草稿IEEE P1363と同じであり、PKCS#1v1.5と互換性があります。

   The main mathematical operation in each primitive is exponentiation,
   as in the encryption and decryption primitives of Section 5.1. RSASP1
   and RSAVP1 are the same as RSADP and RSAEP except for the names of
   their input and output arguments; they are distinguished as they are
   intended for different purposes.

それぞれの原始の主な数学の操作はセクション5.1に関する暗号化と復号化基関数のように羃法です。 RSASP1とRSAVP1はRSADPと彼らの入出力議論の名前以外のRSAEPと同じです。 彼らは、異なる役割のために意図するので、顕著です。

5.2.1 RSASP1

5.2.1 RSASP1

   RSASP1 (K, m)

RSASP1(K、m)

   Input:
   K             RSA private key, where K has one of the following
                 forms:
                    -a pair (n, d)
                    -a quintuple (p, q, dP, dQ, qInv)

以下を入力してください。 Kには以下のフォームの1つがあるところのK RSA秘密鍵 -1組(n、d)-a5倍(p、q、dP、dQ、qInv)

   m             message representative, an integer between 0 and n-1

mはメッセージ代表、0とn-1の間の整数です。

   Output:
   s             signature representative, an integer between  0 and
                 n-1, or "message representative out of range"

出力: s署名代表、0とn-1の間の整数、または「範囲からのメッセージ代表」

   Assumptions:
   private key K is valid

仮定: 秘密鍵Kは有効です。

   Steps:

以下のステップ:

   1. If the message representative m is not between 0 and n-1, output
   "message representative out of range" and stop.

1. 0とn-1の間には、メッセージ代表mがないなら、「範囲からのメッセージ代表」を出力してください、そして、止まってください。

   2. If the first form (n, d) of K is used:

2. 最初のフォーム(n、d)のKが使用されているなら:

   2.1 Let s = m^d mod n.          Else, if the second form (p, q, dP,
   dQ, qInv) of K is used:

2.1はm^dモッズnとsと等しいです。 ほかに、Kのフォーム(p、q、dP、dQ、qInv)は2番目であるなら使用されています:

Kaliski & Staddon            Informational                     [Page 10]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[10ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

   2.2 Let s_1 = m^dP mod p.

2.2はm^dPモッズpとs_1と等しいです。

   2.3 Let s_2 = m^dQ mod q.

2.3はm^dQモッズqとs_2と等しいです。

   2.4 Let h = qInv ( s_1 - s_2 ) mod p.

2.4はqInv(s_1--s_2)モッズpとhと等しいです。

   2.5 Let s = s_2 + hq.

2.5はs_2+hqとsと等しいです。

   3. Output S.

3. Sを出力してください。

5.2.2 RSAVP1

5.2.2 RSAVP1

   RSAVP1 ((n, e), s)

RSAVP1(n、e)、s)

   Input:
   (n, e)  RSA public key
   s       signature representative, an integer between 0 and n-1

以下を入力してください。 (n、e) RSA公開鍵s署名代表、0とn-1の間の整数

   Output:
   m       message representative, an integer between 0 and n-1;
           or "invalid"

出力: mのメッセージ代表、0の間の整数、およびn-1。 または、「無効」

   Assumptions:
   public key (n, e) is valid

仮定: 公開鍵(n、e)は有効です。

   Steps:

以下のステップ:

   1. If the signature representative s is not between 0 and n-1, output
   "invalid" and stop.

1. 0とn-1の間には、署名代表sがないなら、「病人」を出力してください、そして、止まってください。

   2. Let m = s^e mod n.

2. mをs^eモッズnとの等しさにしてください。

   3. Output m.

3. mを出力してください。

6. Overview of schemes

6. 計画の概観

   A scheme combines cryptographic primitives and other techniques to
   achieve a particular security goal. Two types of scheme are specified
   in this document: encryption schemes and signature schemes with
   appendix.

計画は、特定のセキュリティ目標を達成するために暗号の基関数と他のテクニックを結合します。 2つのタイプの計画は本書では指定されています: 暗号化は計画されます、そして、署名は付録で計画されます。

   The schemes specified in this document are limited in scope in that
   their operations consist only of steps to process data with a key,
   and do not include steps for obtaining or validating the key. Thus,
   in addition to the scheme operations, an application will typically
   include key management operations by which parties may select public
   and private keys for a scheme operation. The specific additional
   operations and other details are outside the scope of this document.

本書では指定された計画は、彼らの操作がキーでデータを処理するためにステップだけから成るので範囲で制限されて、キーを得るか、または有効にするためにステップを含んでいません。 したがって、計画操作に加えて、アプリケーションはパーティーが計画操作のために公衆と秘密鍵を選ぶかもしれないかぎ管理操作を通常含むでしょう。 このドキュメントの範囲の外に特定の兼業と他の詳細があります。

Kaliski & Staddon            Informational                     [Page 11]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[11ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

   As was the case for the cryptographic primitives (Section 5), the
   specifications of scheme operations assume that certain conditions
   are met by the inputs, in particular that public and private keys are
   valid. The behavior of an implementation is thus unspecified when a
   key is invalid. The impact of such unspecified behavior depends on
   the application. Possible means of addressing key validation include
   explicit key validation by the application; key validation within the
   public-key infrastructure; and assignment of liability for operations
   performed with an invalid key to the party who generated the key.

暗号の基関数(セクション5)のためのケースのように、計画操作の仕様はある条件が入力で満たされて、公衆と秘密鍵が特に、有効であると仮定します。 キーが無効であるときに、その結果、実現の振舞いは不特定です。 そのような不特定の振舞いの影響はアプリケーションに依存します。 主要な合法化を記述する可能な手段はアプリケーションで明白な主要な合法化を含んでいます。 公開カギインフラストラクチャの中の主要な合法化。 そして、操作のための責任の課題はキーを発生させたパーティーの無効のキーで働きました。

7. Encryption schemes

7. 暗号化計画

   An encryption scheme consists of an encryption operation and a
   decryption operation, where the encryption operation produces a
   ciphertext from a message with a recipient's public key, and the
   decryption operation recovers the message from the ciphertext with
   the recipient's corresponding private key.

暗号化計画は暗号化操作と復号化操作から成ります、暗号化操作が受取人の公開鍵でメッセージから暗号文を生産して、復号化操作が受取人の対応する秘密鍵がある暗号文からメッセージを取り戻すところで。

   An encryption scheme can be employed in a variety of applications. A
   typical application is a key establishment protocol, where the
   message contains key material to be delivered confidentially from one
   party to another. For instance, PKCS #7 [21] employs such a protocol
   to deliver a content-encryption key from a sender to a recipient; the
   encryption schemes defined here would be suitable key-encryption
   algorithms in that context.

さまざまなアプリケーションで暗号化計画を使うことができます。 主用途は主要な設立プロトコルです。(そこでは、メッセージが1回のパーティーから別のパーティーまで秘密に届けられる主要な材料を含みます)。 例えば、PKCS#7[21]は送付者から受取人まで主要な満足している暗号化を提供するのにそのようなプロトコルを使います。 ここで定義された暗号化計画はその文脈の適当な主要な暗号化アルゴリズムでしょう。

   Two encryption schemes are specified in this document: RSAES-OAEP and
   RSAES-PKCS1-v1_5. RSAES-OAEP is recommended for new applications;
   RSAES-PKCS1-v1_5 is included only for compatibility with existing
   applications, and is not recommended for new applications.

2つの暗号化計画が本書では指定されます: RSAES-OAEPとRSAES-PKCS1-v1_5。 RSAES-OAEPは新しいアプリケーションのために推薦されます。 RSAES-PKCS1-v1_5は、既存のアプリケーションとの互換性のためだけに含まれていて、新しいアプリケーションのために推薦されません。

   The encryption schemes given here follow a general model similar to
   that employed in IEEE P1363, by combining encryption and decryption
   primitives with an encoding method for encryption. The encryption
   operations apply a message encoding operation to a message to produce
   an encoded message, which is then converted to an integer message
   representative. An encryption primitive is applied to the message
   representative to produce the ciphertext. Reversing this, the
   decryption operations apply a decryption primitive to the ciphertext
   to recover a message representative, which is then converted to an
   octet string encoded message. A message decoding operation is applied
   to the encoded message to recover the message and verify the
   correctness of the decryption.

ここに与えられた暗号化計画はIEEE P1363で使われたそれと同様の一般的なモデルに従います、暗号化と復号化基関数を暗号化のためのコード化方法に結合することによって。 暗号化操作は次に整数メッセージ代表に変換されるコード化されたメッセージを出すメッセージに操作をコード化するメッセージを適用します。 暗号化基関数は、暗号文を生産するためにメッセージ代表に適用されます。 これを逆にして、復号化操作はメッセージ代表を回復するために暗号文への原始の復号化を適用して、次に、どれが八重奏ストリングに変換されるかがメッセージをコード化しました。 操作を解読するメッセージはメッセージを回復して、復号化の正当性について確かめるコード化されたメッセージに適用されます。

Kaliski & Staddon            Informational                     [Page 12]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[12ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

7.1 RSAES-OAEP

7.1 RSAES-OAEP

   RSAES-OAEP combines the RSAEP and RSADP primitives (Sections 5.1.1
   and 5.1.2) with the EME-OAEP encoding method (Section 9.1.1) EME-OAEP
   is based on the method found in [2]. It is compatible with the IFES
   scheme defined in the draft P1363 where the encryption and decryption
   primitives are IFEP-RSA and IFDP-RSA and the message encoding method
   is EME-OAEP. RSAES-OAEP can operate on messages of length up to k-2-
   2hLen octets, where hLen is the length of the hash function output
   for EME-OAEP and k is the length in octets of the recipient's RSA
   modulus.  Assuming that the hash function in EME-OAEP has appropriate
   properties, and the key size is sufficiently large, RSAEP-OAEP
   provides "plaintext-aware encryption," meaning that it is
   computationally infeasible to obtain full or partial information
   about a message from a ciphertext, and computationally infeasible to
   generate a valid ciphertext without knowing the corresponding
   message.  Therefore, a chosen-ciphertext attack is ineffective
   against a plaintext-aware encryption scheme such as RSAES-OAEP.

RSAES-OAEPがRSAEPとRSADP基関数を結合する、(セクション5.1.1と見つけられた方法に基づいてEME-OAEPが方法(セクション9.1.1)EME-OAEPをコード化している.2が)ある5.1、[2]。 それは暗号化と復号化基関数がIFEP-RSAとIFDP-RSAであり、方法をコード化するメッセージがEME-OAEPである草稿P1363で定義されるIFES計画と互換性があります。 RSAES-OAEPはk-2- 2hLen八重奏までの長さに関するメッセージを作動させることができます。そこでは、hLenがEME-OAEPのためのハッシュ関数出力の長さであり、kは受取人のRSA係数の八重奏で長さです。 適切な特性がEME-OAEPのハッシュ関数にあって、主要なサイズが十分大きいと仮定して、RSAEP-OAEPは「平文意識している暗号化」を提供します、対応するメッセージを知らないで有効な暗号文を発生させるのが暗号文からメッセージの完全であるか部分的な情報を得るのにおいて計算上実行不可能であって、計算上実行不可能であることを意味して。 したがって、選ばれた暗号文攻撃はRSAES-OAEPなどの平文意識している暗号化計画に対して効力がありません。

   Both the encryption and the decryption operations of RSAES-OAEP take
   the value of the parameter string P as input. In this version of PKCS
   #1, P is an octet string that is specified explicitly. See Section
   11.2.1 for the relevant ASN.1 syntax. We briefly note that to receive
   the full security benefit of RSAES-OAEP, it should not be used in a
   protocol involving RSAES-PKCS1-v1_5. It is possible that in a
   protocol on which both encryption schemes are present, an adaptive
   chosen ciphertext attack such as [4] would be useful.

暗号化とRSAES-OAEPの復号化操作の両方が入力されるようにパラメタストリングPの値を取ります。 PKCS#1のこのバージョンでは、Pは明らかに指定される八重奏ストリングです。 関連ASN.1構文に関してセクション11.2.1を見てください。 私たちは、RSAES-OAEPの完全なセキュリティ利益を受け取るのに、それがRSAES-PKCS1-v1_5を伴うプロトコルに使用されるべきでないことに簡潔に注意します。 両方の暗号化計画が存在しているプロトコルでは、[4]などの適応型の選ばれた暗号文攻撃が役に立つのは、可能です。

   Both the encryption and the decryption operations of RSAES-OAEP take
   the value of the parameter string P as input. In this version of PKCS
   #1, P is an octet string that is specified explicitly. See Section
   11.2.1 for the relevant ASN.1 syntax.

暗号化とRSAES-OAEPの復号化操作の両方が入力されるようにパラメタストリングPの値を取ります。 PKCS#1のこのバージョンでは、Pは明らかに指定される八重奏ストリングです。 関連ASN.1構文に関してセクション11.2.1を見てください。

7.1.1 Encryption operation

7.1.1 暗号化操作

   RSAES-OAEP-ENCRYPT ((n, e), M, P)

RSAES-OAEPコード化します。(n、e)、M、P)

   Input:
   (n, e)    recipient's RSA public key

以下を入力してください。 (n、e) 受取人のRSA公開鍵

   M         message to be encrypted, an octet string of length at
             most k-2-2hLen, where k is the length in octets of the
             modulus n and hLen is the length in octets of the hash
             function output for EME-OAEP

Mはコード化されるために通信します、高々長さのk-2-2hLenの八重奏ストリング、kが係数nの八重奏で長さであり、hLenがEME-OAEPのためのハッシュ関数出力の八重奏で長さであるところで

   P         encoding parameters, an octet string that may be empty

パラメタ、空であるかもしれない八重奏ストリングをコード化するP

Kaliski & Staddon            Informational                     [Page 13]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[13ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

   Output:
   C         ciphertext, an octet string of length k; or "message too
             long"

出力: C暗号文、長さkの八重奏ストリング。 または、「あまりに長い間、通信してください」

   Assumptions: public key (n, e) is valid

仮定: 公開鍵(n、e)は有効です。

   Steps:

以下のステップ:

   1. Apply the EME-OAEP encoding operation (Section 9.1.1.2) to the
   message M and the encoding parameters P to produce an encoded message
   EM of length k-1 octets:

1. 操作をコード化するEME-OAEPを適用してください、(セクション9.1 .1 .2) メッセージへのMと長さのk-1八重奏のコード化されたメッセージEMを生産するコード化パラメタP:

   EM = EME-OAEP-ENCODE (M, P, k-1)

イエムはEME-OAEP-エンコードと等しいです。(M、P、k-1)

   If the encoding operation outputs "message too long," then output
   "message too long" and stop.

コード化作業であるなら、出力は、「あまりに長い間、通信してください」を次に、出力されて、「あまりに長い間、通信し」て、止まります。

   2. Convert the encoded message EM to an integer message
   representative m: m = OS2IP (EM)

2. 整数メッセージ代表mにコード化されたメッセージEMを変換してください: m=OS2IP(イエム)

   3. Apply the RSAEP encryption primitive (Section 5.1.1) to the public
   key (n, e) and the message representative m to produce an integer
   ciphertext representative c:

3. 公開鍵(n、e)と整数暗号文代表cを生産するメッセージ代表mに原始的に(セクション5.1.1)RSAEP暗号化を適用してください:

   c = RSAEP ((n, e), m)

cはRSAEPと等しいです。(n、e)、m)

   4. Convert the ciphertext representative c to a ciphertext C of
   length k octets: C = I2OSP (c, k)

4. 長さのk八重奏の暗号文Cに暗号文代表cを変換してください: CはI2OSPと等しいです。(c、k)

   5. Output the ciphertext C.

5. 暗号文Cを出力してください。

7.1.2 Decryption operation

7.1.2 復号化操作

   RSAES-OAEP-DECRYPT (K, C, P)

RSAES-OAEP解読します。(K、C、P)

   Input:
   K          recipient's RSA private key
   C          ciphertext to be decrypted, an octet string of length
              k, where k is the length in octets of the modulus n
   P          encoding parameters, an octet string that may be empty

以下を入力してください。 解読されるK受取人のRSA秘密鍵C暗号文であり、長さkの八重奏ストリングでありパラメタ、八重奏ストリングをコード化する係数n Pがそれはkが八重奏で長さであるところでないかもしれません。

   Output:
   M          message, an octet string of length at most k-2-2hLen,
              where hLen is the length in octets of the hash
              function output for EME-OAEP; or "decryption error"

出力: Mは通信します、高々長さのk-2-2hLenの八重奏ストリング、hLenがEME-OAEPのためのハッシュ関数出力の八重奏で長さであるところで。 または、「復号化誤り」

Kaliski & Staddon            Informational                     [Page 14]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[14ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

   Steps:

以下のステップ:

   1. If the length of the ciphertext C is not k octets, output
   "decryption error" and stop.

1. 暗号文Cの長さがk八重奏でないなら、「復号化誤り」を出力してください、そして、止まってください。

   2. Convert the ciphertext C to an integer ciphertext representative
   c: c = OS2IP (C).

2. 整数暗号文代表cに暗号文Cを変換してください: cはOS2IP(C)と等しいです。

   3. Apply the RSADP decryption primitive (Section 5.1.2) to the
   private key K and the ciphertext representative c to produce an
   integer message representative m:

3. 整数メッセージ代表mを生産する秘密鍵Kと暗号文代表cに原始的に(セクション5.1.2)RSADP復号化を適用してください:

   m = RSADP (K, c)

m=RSADP(K、c)

   If RSADP outputs "ciphertext out of range," then output "decryption
   error" and stop.

RSADPが「範囲からの暗号文」を出力するなら、「復号化誤り」を出力してください、そして、止まってください。

   4. Convert the message representative m to an encoded message EM of
   length k-1 octets: EM = I2OSP (m, k-1)

4. 長さのk-1八重奏のコード化されたメッセージEMにメッセージ代表mを変換してください: イエムはI2OSPと等しいです。(m、k-1)

   If I2OSP outputs "integer too large," then output "decryption error"
   and stop.

I2OSP出力である、「整数、大き過ぎる、」、次に、「復号化誤り」を出力してください、そして、止まってください。

   5. Apply the EME-OAEP decoding operation to the encoded message EM
   and the encoding parameters P to recover a message M:

5. コード化されたメッセージEMとコード化パラメタPに操作を解読するEME-OAEPを適用して、メッセージMを回復してください:

   M = EME-OAEP-DECODE (EM, P)

M=はEME-OAEP解読します。(イエム、P)

   If the decoding operation outputs "decoding error," then output
   "decryption error" and stop.

解読操作が「誤りを解読します」を出力するなら、「復号化誤り」を出力してください、そして、止まってください。

   6. Output the message M.

6. メッセージMを出力してください。

   Note. It is important that the error messages output in steps 4 and 5
   be the same, otherwise an adversary may be able to extract useful
   information from the type of error message received. Error message
   information is used to mount a chosen-ciphertext attack on PKCS #1
   v1.5 encrypted messages in [4].

注意します。 ステップ4と5におけるエラーメッセージ出力が同じであることが、重要である、さもなければ、敵はエラーメッセージのタイプからの役に立つ情報が受けた抽出にできるかもしれません。 エラーメッセージ情報は、[4]のPKCS#1v1.5暗号化メッセージに対する選ばれた暗号文攻撃を仕掛けるのに使用されます。

7.2 RSAES-PKCS1-v1_5

7.2 RSAES-PKCS1-v1_5

   RSAES-PKCS1-v1_5 combines the RSAEP and RSADP primitives with the
   EME-PKCS1-v1_5 encoding method. It is the same as the encryption
   scheme in PKCS #1 v1.5. RSAES-PKCS1-v1_5 can operate on messages of
   length up to k-11 octets, although care should be taken to avoid
   certain attacks on low-exponent RSA due to Coppersmith, et al. when
   long messages are encrypted (see the third bullet in the notes below
   and [7]).

RSAES-PKCS1-v1_5は方法をコード化するEME-PKCS1-v1_5にRSAEPとRSADP基関数を結合します。 それはPKCS#1v1.5で暗号化計画と同じです。 RSAES-PKCS1-v1_5はk-11八重奏までの長さに関するメッセージを作動させることができます、Coppersmithのため低い解説者RSAに対する、ある攻撃を避けるために注意するべきですが、長いメッセージがコード化されている他。(以下での注意と[7])における3番目の弾丸を見てください。

Kaliski & Staddon            Informational                     [Page 15]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[15ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

   RSAES-PKCS1-v1_5 does not provide "plaintext aware" encryption. In
   particular, it is possible to generate valid ciphertexts without
   knowing the corresponding plaintexts, with a reasonable probability
   of success. This ability can be exploited in a chosen ciphertext
   attack as shown in [4]. Therefore, if RSAES-PKCS1-v1_5 is to be used,
   certain easily implemented countermeasures should be taken to thwart
   the attack found in [4]. The addition of structure to the data to be
   encoded, rigorous checking of PKCS #1 v1.5 conformance and other
   redundancy in decrypted messages, and the consolidation of error
   messages in a client-server protocol based on PKCS #1 v1.5 can all be
   effective countermeasures and don't involve changes to a PKCS #1
   v1.5-based protocol. These and other countermeasures are discussed in
   [5].

RSAES-PKCS1-v1_5は「平文意識している」暗号化を提供しません。 成功の妥当な確率で対応する平文を知らないで有効な暗号文を発生させるのは特に、可能です。 [4]に示されるように選ばれた暗号文攻撃でこの能力を開発できます。 したがって、RSAES-PKCS1-v1_5が使用されていることであるなら、[4]で見つけられた攻撃を阻むためにある容易に実行された対策を取るべきです。 コード化されるべきデータへの構造の追加、解読されたメッセージにおける、PKCS#1のv1.5順応と他の冗長の厳しい照合、およびPKCS#1v1.5に基づくクライアント/サーバプロトコルにおける、エラーメッセージの強化は、すべて、効果的な対策であることができ、PKCS#1のv1.5ベースのプロトコルへの変化にかかわりません。 [5]でこれらと他の対策について議論します。

   Notes. The following passages describe some security recommendations
   pertaining to the use of RSAES-PKCS1-v1_5. Recommendations from
   version 1.5 of this document are included as well as new
   recommendations motivated by cryptanalytic advances made in the
   intervening years.

注意。 以下の通路はRSAES-PKCS1-v1_5の使用に関係するいくつかのセキュリティ推薦について説明します。 このドキュメントのバージョン1.5からの推薦は介入している数年間されたcryptanalytic進歩で動機づけられた含まれていて新しい推薦です。

   -It is recommended that the pseudorandom octets in EME-PKCS1-v1_5 be
   generated independently for each encryption process, especially if
   the same data is input to more than one encryption process. Hastad's
   results [13] are one motivation for this recommendation.

-EME-PKCS1-v1_5における擬似ランダム八重奏がそれぞれの暗号化の過程のために独自に発生するのは、お勧めです、特に同じデータが1つ以上の暗号化の過程に入力されるなら。 Hastadの結果[13]はこの推薦に関する1つの動機です。

   -The padding string PS in EME-PKCS1-v1_5 is at least eight octets
   long, which is a security condition for public-key operations that
   prevents an attacker from recovering data by trying all possible
   encryption blocks.

-長い間、EME-PKCS1-v1_5における詰め物ストリングPSは少なくとも8つの八重奏です(公開カギ操作のための攻撃者がすべての可能な暗号化ブロックを試すことによってデータを回復できない治安状況です)。

   -The pseudorandom octets can also help thwart an attack due to
   Coppersmith et al. [7] when the size of the message to be encrypted
   is kept small. The attack works on low-exponent RSA when similar
   messages are encrypted with the same public key. More specifically,
   in one flavor of the attack, when two inputs to RSAEP agree on a
   large fraction of bits (8/9) and low-exponent RSA (e = 3) is used to
   encrypt both of them, it may be possible to recover both inputs with
   the attack. Another flavor of the attack is successful in decrypting
   a single ciphertext when a large fraction (2/3) of the input to RSAEP
   is already known. For typical applications, the message to be
   encrypted is short (e.g., a 128-bit symmetric key) so not enough
   information will be known or common between two messages to enable
   the attack.  However, if a long message is encrypted, or if part of a
   message is known, then the attack may be a concern. In any case, the
   RSAEP-OAEP scheme overcomes the attack.

-また、擬似ランダム八重奏は邪魔するCoppersmith他による攻撃助けることができます。 [7] コード化されるべきメッセージのサイズが小さく保たれるとき。 同様のメッセージが同じ公開鍵でコード化されるとき、攻撃は低い解説者RSAに働いています。 RSAEPへの2つの入力がビット(8/9)の大きい何分の一に同意して、低い解説者RSA(e=3)がそれらの両方をコード化するのに使用されるとき、より明確に、攻撃の1つの風味では、攻撃で両方の入力を回復するのは可能であるかもしれません。 攻撃の別の風味はRSAEPへの入力の大きい部分(2/3)が既に知られているとただ一つの暗号文を解読するのに成功しています。 十分な情報は、どんな攻撃を可能にする2つのメッセージの間で主用途に、コード化されるべきメッセージが短く(例えば、128ビットの対称鍵)、知られるので一般的にならないでしょう。 しかしながら、長いメッセージがコード化されているか、またはメッセージの一部が知られているなら、攻撃は関心であるかもしれません。 どのような場合でも、RSAEP-OAEP計画は攻撃に打ち勝ちます。

Kaliski & Staddon            Informational                     [Page 16]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[16ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

7.2.1 Encryption operation

7.2.1 暗号化操作

   RSAES-PKCS1-V1_5-ENCRYPT ((n, e), M)

RSAES-PKCS1-V1_5、-、コード化(n、e)、M)

   Input:
   (n, e)  recipient's RSA public key
   M       message to be encrypted, an octet string of length at
           most k-11 octets, where k is the length in octets of the
           modulus n

以下を入力してください。 (n、e) 受取人のRSA公開鍵Mはコード化されるために通信します、ほとんどのk-11八重奏における長さの八重奏ストリング、kが係数nの八重奏で長さであるところで

   Output:
   C       ciphertext, an octet string of length k; or "message too
           long"

出力: C暗号文、長さkの八重奏ストリング。 または、「あまりに長い間、通信してください」

   Steps:

以下のステップ:

   1. Apply the EME-PKCS1-v1_5 encoding operation (Section 9.1.2.1) to
   the message M to produce an encoded message EM of length k-1 octets:

1. 操作をコード化するEME-PKCS1-v1_5を適用してください、(セクション9.1 .2 .1) 長さのk-1八重奏のコード化されたメッセージEMを生産するメッセージMに:

   EM = EME-PKCS1-V1_5-ENCODE (M, k-1)

イエムはEME-PKCS1-V1_5エンコードと等しいです。(M、k-1)

   If the encoding operation outputs "message too long," then output
   "message too long" and stop.

コード化作業であるなら、出力は、「あまりに長い間、通信してください」を次に、出力されて、「あまりに長い間、通信し」て、止まります。

   2. Convert the encoded message EM to an integer message
   representative m: m = OS2IP (EM)

2. 整数メッセージ代表mにコード化されたメッセージEMを変換してください: m=OS2IP(イエム)

   3. Apply the RSAEP encryption primitive (Section 5.1.1) to the public
   key (n, e) and the message representative m to produce an integer
   ciphertext representative c: c = RSAEP ((n, e), m)

3. 公開鍵(n、e)と整数暗号文代表cを生産するメッセージ代表mに原始的に(セクション5.1.1)RSAEP暗号化を適用してください: cはRSAEPと等しいです。(n、e)、m)

   4. Convert the ciphertext representative c to a ciphertext C of
   length k octets: C = I2OSP (c, k)

4. 長さのk八重奏の暗号文Cに暗号文代表cを変換してください: CはI2OSPと等しいです。(c、k)

   5. Output the ciphertext C.

5. 暗号文Cを出力してください。

7.2.2 Decryption operation

7.2.2 復号化操作

   RSAES-PKCS1-V1_5-DECRYPT (K, C)

RSAES-PKCS1-V1_5、-、解読する。(K、C)

   Input:
   K       recipient's RSA private key
   C       ciphertext to be decrypted, an octet string of length k,
           where k is the length in octets of the modulus n

以下を入力してください。 解読されるK受取人のRSA秘密鍵C暗号文、長さkの八重奏ストリング。(そこでは、kが係数nの八重奏で長さです)。

   Output:
   M       message, an octet string of length at most k-11; or
           "decryption error"

出力: Mメッセージ、高々長さのk-11の八重奏ストリング。 または、「復号化誤り」

Kaliski & Staddon            Informational                     [Page 17]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[17ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

   Steps:

以下のステップ:

   1. If the length of the ciphertext C is not k octets, output
   "decryption error" and stop.

1. 暗号文Cの長さがk八重奏でないなら、「復号化誤り」を出力してください、そして、止まってください。

   2. Convert the ciphertext C to an integer ciphertext representative
   c: c = OS2IP (C).

2. 整数暗号文代表cに暗号文Cを変換してください: cはOS2IP(C)と等しいです。

   3. Apply the RSADP decryption primitive to the private key (n, d) and
   the ciphertext representative c to produce an integer message
   representative m: m = RSADP ((n, d), c).

3. 秘密鍵(n、d)と暗号文代表cにおける、原始のRSADP復号化を適用して、整数メッセージ代表mを生産してください: mはRSADP(n、d)、c)と等しいです。

   If RSADP outputs "ciphertext out of range," then output "decryption
   error" and stop.

RSADPが「範囲からの暗号文」を出力するなら、「復号化誤り」を出力してください、そして、止まってください。

   4. Convert the message representative m to an encoded message EM of
   length k-1 octets: EM = I2OSP (m, k-1)

4. 長さのk-1八重奏のコード化されたメッセージEMにメッセージ代表mを変換してください: イエムはI2OSPと等しいです。(m、k-1)

   If I2OSP outputs "integer too large," then output "decryption error"
   and stop.

I2OSP出力である、「整数、大き過ぎる、」、次に、「復号化誤り」を出力してください、そして、止まってください。

   5. Apply the EME-PKCS1-v1_5 decoding operation to the encoded message
   EM to recover a message M: M = EME-PKCS1-V1_5-DECODE (EM).

5. メッセージMを回復するコード化されたメッセージEMに操作を解読するEME-PKCS1-v1_5を適用してください: MはEME-PKCS1-V1_5と等しいです。-(イエム)を解読してください。

   If the decoding operation outputs "decoding error," then output
   "decryption error" and stop.

解読操作が「誤りを解読します」を出力するなら、「復号化誤り」を出力してください、そして、止まってください。

   6. Output the message M.

6. メッセージMを出力してください。

   Note. It is important that only one type of error message is output
   by EME-PKCS1-v1_5, as ensured by steps 4 and 5. If this is not done,
   then an adversary may be able to use information extracted form the
   type of error message received to mount a chosen-ciphertext attack
   such as the one found in [4].

注意します。 1つのタイプに関するエラーメッセージだけがEME-PKCS1-v1_5つ出力されるのは、重要です、ステップ4と5で確実にされるように。 これが完了していないなら、敵はエラーメッセージのタイプが[4]で見つけられたものなどの選ばれた暗号文攻撃を仕掛けるために受け取った情報の抽出された書式を使用できるかもしれません。

8. Signature schemes with appendix

8. 付録がある署名計画

   A signature scheme with appendix consists of a signature generation
   operation and a signature verification operation, where the signature
   generation operation produces a signature from a message with a
   signer's private key, and the signature verification operation
   verifies the signature on the message with the signer's corresponding
   public key.  To verify a signature constructed with this type of
   scheme it is necessary to have the message itself. In this way,
   signature schemes with appendix are distinguished from signature
   schemes with message recovery, which are not supported in this
   document.

付録がある署名計画は署名世代操作と署名照合操作から成ります、署名世代操作が署名者の秘密鍵でメッセージから署名を起こして、署名照合操作がメッセージで署名者の対応する公開鍵で署名について確かめるところで。 このタイプの計画で構成された署名について確かめるために、メッセージ自体を持つのが必要です。 このように、付録がある署名計画はメッセージ回復に伴う署名計画と区別されます。(計画は本書では支持されません)。

Kaliski & Staddon            Informational                     [Page 18]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[18ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

   A signature scheme with appendix can be employed in a variety of
   applications. For instance, X.509 [6] employs such a scheme to
   authenticate the content of a certificate; the signature scheme with
   appendix defined here would be a suitable signature algorithm in that
   context. A related signature scheme could be employed in PKCS #7
   [21], although for technical reasons, the current version of PKCS #7
   separates a hash function from a signature scheme, which is different
   than what is done here.

さまざまなアプリケーションで付録がある署名計画を使うことができます。 例えば、X.509[6]は証明書の中身を認証するのにそのような計画を使います。 付録がここで定義されている署名計画はその文脈の適当な署名アルゴリズムでしょう。 PKCS#7[21]で関連する署名計画を使うことができました、PKCS#7の最新版は技術的な理由で署名計画(ここで行われることと異なっている)とハッシュ関数を切り離しますが。

   One signature scheme with appendix is specified in this document:
   RSASSA-PKCS1-v1_5.

付録がある1つの署名計画が本書では指定されます: RSASSA-PKCS1-v1_5。

   The signature scheme with appendix given here follows a general model
   similar to that employed in IEEE P1363, by combining signature and
   verification primitives with an encoding method for signatures. The
   signature generation operations apply a message encoding operation to
   a message to produce an encoded message, which is then converted to
   an integer message representative. A signature primitive is then
   applied to the message representative to produce the signature. The
   signature verification operations apply a signature verification
   primitive to the signature to recover a message representative, which
   is then converted to an octet string. The message encoding operation
   is again applied to the message, and the result is compared to the
   recovered octet string. If there is a match, the signature is
   considered valid. (Note that this approach assumes that the signature
   and verification primitives have the message-recovery form and the
   encoding method is deterministic, as is the case for RSASP1/RSAVP1
   and EMSA-PKCS1-v1_5. The signature generation and verification
   operations have a different form in P1363 for other primitives and
   encoding methods.)

付録をここに与えている署名計画はIEEE P1363で使われたそれと同様の一般的なモデルに従います、署名と検証基関数を署名のためのコード化方法に結合することによって。 署名世代操作は次に整数メッセージ代表に変換されるコード化されたメッセージを出すメッセージに操作をコード化するメッセージを適用します。 そして、署名基関数は、署名を起こすためにメッセージ代表に適用されます。 署名照合操作は、メッセージ代表を回復するために署名への原始の署名照合を適用します。(次に、その代表は、八重奏ストリングに変換されます)。 操作をコード化するメッセージは再びメッセージに適用されます、そして、結果は回復している八重奏ストリングにたとえられます。 マッチがあれば、署名は有効であると考えられます。 (このアプローチがメッセージ回復が署名と検証基関数によって形成されて、コード化方法が決定論的であると仮定するというメモ、RSASP1/RSAVP1とEMSA-PKCS1-v1_5のためのケースのように、署名世代と検証操作には、他の基関数と方法をコード化するためのP1363の異なったフォームがあります。)

   Editor's note. RSA Laboratories is investigating the possibility of
   including a scheme based on the PSS encoding methods specified in
   [3], which would be recommended for new applications.

編集者注。 RSA研究所は新しいアプリケーションのために推薦されるだろう[3]で指定された方法をコード化するPSSに基づく計画を含んでいる可能性を調査しています。

8.1 RSASSA-PKCS1-v1_5

8.1 RSASSA-PKCS1-v1_5

   RSASSA-PKCS1-v1_5 combines the RSASP1 and RSAVP1 primitives with the
   EME-PKCS1-v1_5 encoding method. It is compatible with the IFSSA
   scheme defined in the draft P1363 where the signature and
   verification primitives are IFSP-RSA1 and IFVP-RSA1 and the message
   encoding method is EMSA-PKCS1-v1_5 (which is not defined in P1363).
   The length of messages on which RSASSA-PKCS1-v1_5 can operate is
   either unrestricted or constrained by a very large number, depending
   on the hash function underlying the message encoding method.

RSASSA-PKCS1-v1_5は方法をコード化するEME-PKCS1-v1_5にRSASP1とRSAVP1基関数を結合します。 それは署名と検証基関数がIFSP-RSA1とIFVP-RSA1である草稿P1363で定義されるIFSSA計画と互換性があります、そして、方法をコード化するメッセージはEMSA-PKCS1-v1_5(P1363で定義されない)です。 RSASSA-PKCS1-v1_5が作動できるメッセージの長さは、無制限であり、非常に大きい数によって抑制されます、方法をコード化するメッセージの基礎となるハッシュ関数によって。

Kaliski & Staddon            Informational                     [Page 19]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[19ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

   Assuming that the hash function in EMSA-PKCS1-v1_5 has appropriate
   properties and the key size is sufficiently large, RSASSA-PKCS1-v1_5
   provides secure signatures, meaning that it is computationally
   infeasible to generate a signature without knowing the private key,
   and computationally infeasible to find a message with a given
   signature or two messages with the same signature. Also, in the
   encoding method EMSA-PKCS1-v1_5, a hash function identifier is
   embedded in the encoding.  Because of this feature, an adversary must
   invert or find collisions of the particular hash function being used;
   attacking a different hash function than the one selected by the
   signer is not useful to the adversary.

適切な特性がEMSA-PKCS1-v1_5におけるハッシュ関数にあって、主要なサイズが十分大きいと仮定して、RSASSA-PKCS1-v1_5は安全な署名を提供します、同じ署名がある与えられた署名か2つのメッセージでメッセージを見つけるのが秘密鍵を知らないで署名を発生させるのにおいて計算上実行不可能であって、計算上実行不可能であることを意味して。 また、コード化方法EMSA-PKCS1-v1_5で、ハッシュ関数識別子はコード化に埋め込まれています。 この特徴のために、敵は、使用される特定のハッシュ関数の衝突を逆にしなければならないか、または見つけなければなりません。 異なった細切れ肉料理を攻撃するのは署名者によって選択されたのが敵の役に立たないより機能します。

8.1.1 Signature generation operation

8.1.1 署名世代操作

   RSASSA-PKCS1-V1_5-SIGN (K, M)
   Input:
   K         signer's RSA private ke
   M         message to be signed, an octet string

RSASSA-PKCS1-V1_5サイン(K、M)の入力: K署名者のRSAの個人的なke Mはサインされるために通信して、八重奏はストリングです。

   Output:
   S         signature, an octet string of length k, where k is the
             length in octets of the modulus n; "message too long" or
             "modulus too short"
   Steps:

出力: S署名、長さkの八重奏ストリングそこでは、kが係数nの八重奏で長さです。 「あまりに長い間、通信してください」「係数もショートする」というSteps:

   1. Apply the EMSA-PKCS1-v1_5 encoding operation (Section 9.2.1) to
   the message M to produce an encoded message EM of length k-1 octets:

1. 長さのk-1八重奏のコード化されたメッセージEMを生産するメッセージMに操作(セクション9.2.1)をコード化するEMSA-PKCS1-v1_5を適用してください:

   EM = EMSA-PKCS1-V1_5-ENCODE (M, k-1)

イエムはEMSA-PKCS1-V1_5エンコードと等しいです。(M、k-1)

   If the encoding operation outputs "message too long," then output
   "message too long" and stop. If the encoding operation outputs
   "intended encoded message length too short" then output "modulus too
   short".

コード化作業であるなら、出力は、「あまりに長い間、通信してください」を次に、出力されて、「あまりに長い間、通信し」て、止まります。 コード化作業が「コード化されていた状態で意図して、長さをあまりに簡潔に通信させてください」という当時の出力を出力するなら、「係数もショートします」。

   2. Convert the encoded message EM to an integer message
   representative m: m = OS2IP (EM)

2. 整数メッセージ代表mにコード化されたメッセージEMを変換してください: m=OS2IP(イエム)

   3. Apply the RSASP1 signature primitive (Section 5.2.1) to the
   private key K and the message representative m to produce an integer
   signature representative s: s = RSASP1 (K, m)

3. 整数署名代表sを生産する秘密鍵Kとメッセージ代表mに原始的に(セクション5.2.1)RSASP1署名を適用してください: sはRSASP1と等しいです。(K、m)

   4. Convert the signature representative s to a signature S of length
   k octets: S = I2OSP (s, k)

4. 長さのk八重奏の署名Sに署名代表sを変換してください: SはI2OSPと等しいです。(s、k)

   5. Output the signature S.

5. 署名Sを出力してください。

Kaliski & Staddon            Informational                     [Page 20]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[20ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

8.1.2 Signature verification operation

8.1.2 署名照合操作

   RSASSA-PKCS1-V1_5-VERIFY ((n, e), M, S)

RSASSA-PKCS1-V1_5、-、検証(n、e)、M、S)

   Input:
   (n, e)    signer's RSA public key
   M         message whose signature is to be verified, an octet string
   S         signature to be verified, an octet string of length k,
             where k is the length in octets of the modulus n

以下を入力してください。 (n、e) 確かめられる署名がことである署名者のRSA公開鍵Mメッセージ、八重奏は確かめられるためにS署名を結びます、長さkの八重奏ストリング、kが係数nの八重奏で長さであるところで

   Output: "valid signature," "invalid signature," or "message too
   long", or "modulus too short"

出力: 「有効な署名」、「無効の署名」、「あまりに長い間、通信してください」「係数もショートします」。

   Steps:

以下のステップ:

   1. If the length of the signature S is not k octets, output "invalid
   signature" and stop.

1. 署名Sの長さがk八重奏でないなら、「無効の署名」を出力してください、そして、止まってください。

   2. Convert the signature S to an integer signature representative s:

2. 整数署名代表sに署名Sを変換してください:

   s = OS2IP (S)

sはOS2IPと等しいです。(S)

   3. Apply the RSAVP1 verification primitive (Section 5.2.2) to the
   public key (n, e) and the signature representative s to produce an
   integer message representative m:

3. 公開鍵(n、e)と整数メッセージ代表mを生産する署名代表sに原始的に(セクション5.2.2)RSAVP1検証を適用してください:

   m = RSAVP1 ((n, e), s)                  If RSAVP1 outputs "invalid"
   then output "invalid signature" and stop.

m=RSAVP1(n、e)、s) RSAVP1が「病人」を出力するなら、「無効の署名」を出力してください、そして、止まってください。

   4. Convert the message representative m to an encoded message EM of
   length k-1 octets: EM = I2OSP (m, k-1)

4. 長さのk-1八重奏のコード化されたメッセージEMにメッセージ代表mを変換してください: イエムはI2OSPと等しいです。(m、k-1)

   If I2OSP outputs "integer too large," then output "invalid signature"
   and stop.

I2OSP出力である、「整数、大き過ぎる、」、次に、「無効の署名」を出力してください、そして、止まってください。

   5. Apply the EMSA-PKCS1-v1_5 encoding operation (Section 9.2.1) to
   the message M to produce a second encoded message EM' of length k-1
   octets:

5. 長さのk-1八重奏の'コード化された1秒間、メッセージEMを生産するメッセージMに操作(セクション9.2.1)をコード化するEMSA-PKCS1-v1_5を適用してください':

   EM' = EMSA-PKCS1-V1_5-ENCODE (M, k-1)

'イエム'はEMSA-PKCS1-V1_5エンコードと等しいです。(M、k-1)

   If the encoding operation outputs "message too long," then output
   "message too long" and stop. If the encoding operation outputs
   "intended encoded message length too short" then output "modulus too
   short".

コード化作業であるなら、出力は、「あまりに長い間、通信してください」を次に、出力されて、「あまりに長い間、通信し」て、止まります。 コード化作業が「コード化されていた状態で意図して、長さをあまりに簡潔に通信させてください」という当時の出力を出力するなら、「係数もショートします」。

Kaliski & Staddon            Informational                     [Page 21]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[21ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

   6. Compare the encoded message EM and the second encoded message EM'.
   If they are the same, output "valid signature"; otherwise, output
   "invalid signature."

6. 'コード化されたメッセージEMと2番目のコード化されたメッセージEMを比較してください'。 それらが同じであるなら、「有効な署名」を出力してください。 さもなければ、「無効の署名」を出力してください。

9. Encoding methods

9. 方法をコード化します。

   Encoding methods consist of operations that map between octet string
   messages and integer message representatives.

コード化方法は八重奏ストリングメッセージと整数メッセージの間で代表を写像する操作から成ります。

   Two types of encoding method are considered in this document:
   encoding methods for encryption, encoding methods for signatures with
   appendix.

2つのタイプについて方法をコード化するのは本書では考えられます: 付録による署名のための方法をコード化して、暗号化のための方法をコード化します。

9.1 Encoding methods for encryption

9.1 暗号化のための方法をコード化すること。

   An encoding method for encryption consists of an encoding operation
   and a decoding operation. An encoding operation maps a message M to a
   message representative EM of a specified length; the decoding
   operation maps a message representative EM back to a message. The
   encoding and decoding operations are inverses.

暗号化のためのコード化方法はコード化作業と解読操作から成ります。 コード化作業は指定された長さのメッセージEM代表にメッセージMを写像します。 解読操作はメッセージEM代表をメッセージに写像して戻します。 コード化と操作を解読するのは、逆です。

   The message representative EM will typically have some structure that
   can be verified by the decoding operation; the decoding operation
   will output "decoding error" if the structure is not present. The
   encoding operation may also introduce some randomness, so that
   different applications of the encoding operation to the same message
   will produce different representatives.

メッセージEM代表には、解読操作で確かめることができる何らかの構造が通常あるでしょう。 解読操作は構造が存在していないなら「誤りを解読します」を出力するでしょう。 また、コード化作業は何らかの偶発性を導入するかもしれません、同じメッセージへのコード化作業の異なった応用が異なった代表を生産するように。

   Two encoding methods for encryption are employed in the encryption
   schemes and are specified here: EME-OAEP and EME-PKCS1-v1_5.

暗号化のための方法をコード化する2が、暗号化計画で使われて、ここで指定されます: EME-OAEPとEME-PKCS1-v1_5。

9.1.1 EME-OAEP

9.1.1 EME-OAEP

   This encoding method is parameterized by the choice of hash function
   and mask generation function. Suggested hash and mask generation
   functions are given in Section 10. This encoding method is based on
   the method found in [2].

このコード化方法はハッシュ関数とマスク世代機能の選択でparameterizedされます。 セクション10で提案された細切れ肉料理とマスク世代機能を与えます。 このコード化方法は[2]で見つけられた方法に基づいています。

9.1.1.1 Encoding operation

9.1.1.1 操作をコード化すること。

   EME-OAEP-ENCODE (M, P, emLen)

EME-OAEP-エンコード(M、P、emLen)

   Options:
   Hash      hash function (hLen denotes the length in octet of the
             hash function output)
   MGF       mask generation function

オプション: 細切れ肉料理ハッシュ関数(hLenはハッシュ関数出力の八重奏における長さを指示します)MGFマスク世代機能

Kaliski & Staddon            Informational                     [Page 22]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[22ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

   Input:
   M         message to be encoded, an octet string of length at most
             emLen-1-2hLen
   P         encoding parameters, an octet string
   emLen     intended length in octets of the encoded message, at least
             2hLen+1

以下を入力してください。 コード化されるべきMメッセージ、パラメタをコード化するほとんどのemLen-1-2hLen Pの長さの八重奏ストリング、八重奏ストリングemLenはコード化されたメッセージの八重奏における長さを意図しました、少なくとも2hLen+1

   Output:
   EM        encoded message, an octet string of length emLen;
             "message too long" or "parameter string too long"

出力: EMはメッセージ、長さのemLenの八重奏ストリングをコード化しました。 「あまりに長い間、通信してください」「パラメタストリングも切望します」。

   Steps:

以下のステップ:

   1. If the length of P is greater than the input limitation for the
   hash function (2^61-1 octets for SHA-1) then output "parameter string
   too long" and stop.

1. Pの長さは「パラメタはあまりに長い間、結ぶ」ハッシュ関数(SHA-1のための2^61-1の八重奏)の当時の出力のための入力制限より大きいかどうか、そして、停止。

   2. If ||M|| > emLen-2hLen-1 then output "message too long" and stop.

2. if||M|| 次にemLen-2hLen-1が出力した>は「あまりに長い間、通信し」て、止まります。

   3. Generate an octet string PS consisting of emLen-||M||-2hLen-1 zero
   octets. The length of PS may be 0.

3. emLenの八重奏ストリングPSの成ることを発生させてください。||M||-2hLen-1は八重奏のゼロに合っています。 PSの長さは0であるかもしれません。

   4. Let pHash = Hash(P), an octet string of length hLen.

4. pHashに細切れ肉料理(P)、長さのhLenの八重奏ストリングと等しくしいさせてください。

   5. Concatenate pHash, PS, the message M, and other padding to form a
   data block DB as: DB = pHash || PS || 01 || M

5. pHashを連結してください、そして、データを形成するPS、メッセージM、および他の詰め物は以下としてDBを妨げます。 DBはpHashと等しいです。|| PS|| 01 || M

   6. Generate a random octet string seed of length hLen.

6. 長さのhLenの無作為の八重奏ストリング種子を発生させてください。

   7. Let dbMask = MGF(seed, emLen-hLen).

7. dbMaskにMGFと等しくしいさせてください(emLen-hLen、種を蒔いてください)。

   8. Let maskedDB = DB \xor dbMask.

8. maskedDBにDB\xor dbMaskと等しくしいさせてください。

   9. Let seedMask = MGF(maskedDB, hLen).

9. seedMaskにMGF(maskedDB、hLen)と等しくしいさせてください。

   10. Let maskedSeed = seed \xor seedMask.

10. maskedSeedに種子\xor seedMaskと等しくしいさせてください。

   11. Let EM = maskedSeed || maskedDB.

11. EMにmaskedSeedと等しくしいさせてください。|| maskedDB。

   12. Output EM.

12. EMを出力してください。

9.1.1.2 Decoding operation EME-OAEP-DECODE (EM, P)

9.1.1.2 操作EME-OAEP-DECODEを解読すること。(イエム、P)

   Options:
   Hash      hash function (hLen denotes the length in octet of the hash
             function output)

オプション: 細切れ肉料理ハッシュ関数(hLenはハッシュ関数出力の八重奏における長さを指示します)

   MGF       mask generation function

MGFマスク世代機能

Kaliski & Staddon            Informational                     [Page 23]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[23ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

   Input:

以下を入力してください。

   EM        encoded message, an octet string of length at least 2hLen+1
   P         encoding parameters, an octet string

EMがメッセージをコード化して、少なくとも長さの八重奏ストリングがパラメタをコード化する2hLen+1Pであり、八重奏はストリングです。

   Output:
   M         recovered message, an octet string of length at most
             ||EM||-1-2hLen; or "decoding error"

出力: Mはメッセージ、高々長さの八重奏ストリングを回収しました。||イエム||-1-2hLen。 または、「誤りを解読します」

   Steps:

以下のステップ:

   1. If the length of P is greater than the input limitation for the
   hash function (2^61-1 octets for SHA-1) then output "parameter string
   too long" and stop.

1. Pの長さは「パラメタはあまりに長い間、結ぶ」ハッシュ関数(SHA-1のための2^61-1の八重奏)の当時の出力のための入力制限より大きいかどうか、そして、停止。

   2. If ||EM|| < 2hLen+1, then output "decoding error" and stop.

2. if||イエム|| <2hLen+1、次に、「誤りを解読します」を出力してください、そして、止まってください。

   3. Let maskedSeed be the first hLen octets of EM and let maskedDB be
   the remaining ||EM|| - hLen octets.

3. maskedSeedにEMの最初のhLen八重奏であり、maskedDBが残りであることであるのをさせてください。||イエム|| - hLen八重奏。

   4. Let seedMask = MGF(maskedDB, hLen).

4. seedMaskにMGF(maskedDB、hLen)と等しくしいさせてください。

   5. Let seed = maskedSeed \xor seedMask.

5. 種子にmaskedSeed\xor seedMaskと等しくしいさせてください。

   6. Let dbMask = MGF(seed, ||EM|| - hLen).

6. dbMaskにMGFと等しくしいさせてください、(| | 種子、EM|、|、--、hLen)

   7. Let DB = maskedDB \xor dbMask.

7. DBにmaskedDB\xor dbMaskと等しくしいさせてください。

   8. Let pHash = Hash(P), an octet string of length hLen.

8. pHashに細切れ肉料理(P)、長さのhLenの八重奏ストリングと等しくしいさせてください。

   9. Separate DB into an octet string pHash' consisting of the first
   hLen octets of DB, a (possibly empty) octet string PS consisting of
   consecutive zero octets following pHash', and a message M as:

9. '八重奏への別々のDBは'DBの最初のhLen八重奏から成りながら、pHashを結んで、pHashに続いて、連続するのから成る(ことによると空の)八重奏ストリングPSは八重奏のゼロに合う'、および以下としてのメッセージM

   DB = pHash' || PS || 01 || M

'DBはpHashと等しいです'|| PS|| 01 || M

   If there is no 01 octet to separate PS from M, output "decoding
   error" and stop.

MとPSを切り離すために01八重奏が全くなければ、「誤りを解読します」を出力してください、そして、止まってください。

   10. If pHash' does not equal pHash, output "decoding error" and stop.

10. 'pHashであるなら'。pHashと等しく、「誤りを解読します」を出力して、止まりません。

   11. Output M.

11. Mを出力してください。

9.1.2 EME-PKCS1-v1_5

9.1.2 EME-PKCS1-v1_5

   This encoding method is the same as in PKCS #1 v1.5, Section 8:
   Encryption Process.

このコード化方法はPKCS#1v1.5、セクション8と同じです: 暗号化の過程。

Kaliski & Staddon            Informational                     [Page 24]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[24ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

9.1.2.1 Encoding operation

9.1.2.1 操作をコード化すること。

   EME-PKCS1-V1_5-ENCODE (M, emLen)

EME-PKCS1-V1_5エンコード(M、emLen)

   Input:
   M         message to be encoded, an octet string of length at most
             emLen-10
   emLen     intended length in octets of the encoded message

以下を入力してください。 Mはコード化されるために通信して、高々長さのemLen-10 emLenの八重奏ストリングはコード化されたメッセージの八重奏で意図している長さです。

   Output:
   EM        encoded message, an octet string of length emLen; or
             "message too long"

出力: EMはメッセージ、長さのemLenの八重奏ストリングをコード化しました。 または、「あまりに長い間、通信してください」

   Steps:

以下のステップ:

   1. If the length of the message M is greater than emLen - 10 octets,
   output "message too long" and stop.

1. --メッセージMの長さがemLenより大きいなら10の八重奏、出力は、「あまりに長い間、通信し」て、止まります。

   2. Generate an octet string PS of length emLen-||M||-2 consisting of
   pseudorandomly generated nonzero octets. The length of PS will be at
   least 8 octets.

2. 長さemLenの八重奏ストリングPSを発生させてください。||M||-2 擬似ランダムから成るのは非零八重奏を発生させました。 PSの長さは少なくとも8つの八重奏になるでしょう。

   3. Concatenate PS, the message M, and other padding to form the
   encoded message EM as:

3. 以下としてコード化されたメッセージEMを形成するPS、メッセージM、および他の詰め物を連結してください。

   EM = 02 || PS || 00 || M

イエム=02|| PS|| 00 || M

   4. Output EM.

4. EMを出力してください。

9.1.2.2 Decoding operation

9.1.2.2 操作を解読すること。

   EME-PKCS1-V1_5-DECODE (EM)

EME-PKCS1-V1_5、-解読してください。(イエム)

   Input:
   EM      encoded message, an octet string of length at least 10

以下を入力してください。 EMはメッセージ、少なくとも10の長さの八重奏ストリングをコード化しました。

   Output:
   M       recovered message, an octet string of length at most
           ||EM||-10; or "decoding error"

出力: Mはメッセージ、高々長さの八重奏ストリングを回収しました。||イエム||-10; または、「誤りを解読します」

   Steps:

以下のステップ:

   1. If the length of the encoded message EM is less than 10, output
   "decoding error" and stop.

1. コード化されたメッセージEMの長さが10未満であるなら、「誤りを解読します」を出力してください、そして、止まってください。

   2. Separate the encoded message EM into an octet string PS consisting
   of nonzero octets and a message M as: EM = 02 || PS || 00 || M.

2. 以下として八重奏へのEMが非零八重奏とメッセージMから成るPSを結ぶというコード化されたメッセージを切り離してください。 イエム=02|| PS|| 00 || M。

Kaliski & Staddon            Informational                     [Page 25]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[25ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

   If the first octet of EM is not 02, or if there is no 00 octet to
   separate PS from M, output "decoding error" and stop.

EMの最初の八重奏が02でない、またはMとPSを切り離すために00八重奏が全くなければ、「誤りを解読します」を出力してください、そして、止まってください。

   3. If the length of PS is less than 8 octets, output "decoding error"
   and stop.

3. PSの長さが8つ未満の八重奏であるなら、「誤りを解読します」を出力してください、そして、止まってください。

   4. Output M.

4. Mを出力してください。

9.2 Encoding methods for signatures with appendix

9.2 付録による署名のための方法をコード化すること。

   An encoding method for signatures with appendix, for the purposes of
   this document, consists of an encoding operation. An encoding
   operation maps a message M to a message representative EM of a
   specified length. (In future versions of this document, encoding
   methods may be added that also include a decoding operation.)

付録による署名、このドキュメントの目的のためのコード化方法はコード化作業から成ります。 コード化作業は指定された長さのメッセージEM代表にメッセージMを写像します。 (このドキュメントの将来のバージョンでは、また、解読操作を含んでいるコード化方法は加えられるかもしれません。)

   One encoding method for signatures with appendix is employed in the
   encryption schemes and is specified here: EMSA-PKCS1-v1_5.

付録による署名のための方法をコード化する1つが、暗号化計画で使われて、ここで指定されます: EMSA-PKCS1-v1_5。

9.2.1 EMSA-PKCS1-v1_5

9.2.1 EMSA-PKCS1-v1_5

   This encoding method only has an encoding operation.

このコード化方法には、コード化作業があるだけです。

   EMSA-PKCS1-v1_5-ENCODE (M, emLen)

EMSA-PKCS1-v1_5エンコード(M、emLen)

   Option:
   Hash      hash function (hLen denotes the length in octet of the hash
             function output)

オプション: 細切れ肉料理ハッシュ関数(hLenはハッシュ関数出力の八重奏における長さを指示します)

   Input:
   M         message to be encoded
   emLen     intended length in octets of the encoded message, at least
             ||T|| + 10, where T is the DER encoding of a certain value
             computed during the encoding operation

以下を入力してください。 コード化されたemLenがコード化されたメッセージの八重奏における長さを意図したということである少なくともMメッセージ||T|| + 10。(そこではTはコード化作業の間に計算されたある値のDERコード化です)。

   Output:
   EM        encoded message, an octet string of length emLen; or "message
             too long" or "intended encoded message length too short"

出力: EMはメッセージ、長さのemLenの八重奏ストリングをコード化しました。 または、「あまりに長い間、通信してください」か「コード化されていた状態で意図して、長さをあまりに簡潔に通信させてください」

   Steps:

以下のステップ:

   1. Apply the hash function to the message M to produce a hash value
   H:

1. ハッシュ値Hを生産するメッセージMにハッシュ関数を適用してください:

   H = Hash(M).

Hは細切れ肉料理(M)と等しいです。

   If the hash function outputs "message too long," then output "message
   too long".

ハッシュ関数出力が「あまりに長い間、通信する」なら「あまりに長い間、通信してください。」出力されて、

Kaliski & Staddon            Informational                     [Page 26]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[26ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

   2. Encode the algorithm ID for the hash function and the hash value
   into an ASN.1 value of type DigestInfo (see Section 11) with the
   Distinguished Encoding Rules (DER), where the type DigestInfo has the
   syntax

2. ハッシュ関数とハッシュ値のためにDistinguished Encoding Rules(DER)と共にタイプDigestInfo(セクション11を見る)のASN.1値にアルゴリズムIDをコード化してください。そこでは、タイプDigestInfoが構文を持っています。

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

DigestInfo:、:=系列digestAlgorithm AlgorithmIdentifier、ダイジェストOCTET STRING

   The first field identifies the hash function and the second contains
   the hash value. Let T be the DER encoding.

最初の分野はハッシュ関数を特定します、そして、2番目はハッシュ値を含んでいます。 TがDERコード化であることをさせてください。

   3. If emLen is less than ||T|| + 10 then output "intended encoded
   message length too short".

3. emLenは、より少ないです。||T|| + 10の当時の出力は「あまりに急にコード化されたメッセージ長を意図しました」。

   4. Generate an octet string PS consisting of emLen-||T||-2 octets
   with value FF (hexadecimal). The length of PS will be at least 8
   octets.

4. emLenの八重奏ストリングPSの成ることを発生させてください。||T||-値のFF(16進)との2つの八重奏。 PSの長さは少なくとも8つの八重奏になるでしょう。

   5. Concatenate PS, the DER encoding T, and other padding to form the
   encoded message EM as: EM = 01 || PS || 00 || T

5. PS、以下としてコード化されたメッセージEMを形成するためにT、および他の詰め物をコード化するDERを連結してください。 イエム=01|| PS|| 00 || T

   6. Output EM.

6. EMを出力してください。

10. Auxiliary Functions

10. 補助の機能

   This section specifies the hash functions and the mask generation
   functions that are mentioned in the encoding methods (Section 9).

このセクションはコード化方法(セクション9)で言及されるハッシュ関数とマスク世代機能を指定します。

10.1 Hash Functions

10.1 細切れ肉料理機能

   Hash functions are used in the operations contained in Sections 7, 8
   and 9. Hash functions are deterministic, meaning that the output is
   completely determined by the input. Hash functions take octet strings
   of variable length, and generate fixed length octet strings. The hash
   functions used in the operations contained in Sections 7, 8 and 9
   should be collision resistant. This means that it is infeasible to
   find two distinct inputs to the hash function that produce the same
   output. A collision resistant hash function also has the desirable
   property of being one-way; this means that given an output, it is
   infeasible to find an input whose hash is the specified output. The
   property of collision resistance is especially desirable for RSASSA-
   PKCS1-v1_5, as it makes it infeasible to forge signatures. In
   addition to the requirements, the hash function should yield a mask
   generation function  (Section 10.2) with pseudorandom output.

ハッシュ関数はセクション7、8、および9に含まれた操作に使用されます。 出力が入力で完全に決定していることを意味して、ハッシュ関数は決定論的です。 ハッシュ関数は、可変長の八重奏ストリングを取って、固定長八重奏ストリングを発生させます。 耐、べきですセクション7、8、および9に含まれた操作に使用されるハッシュ関数衝突の。 これは、ハッシュ関数への同じ出力を起こす2つの異なった入力を見つけるのが実行不可能であることを意味します。 また、衝突の抵抗力があるハッシュ関数に、片道であることの望ましい特性があります。 これは、出力を考えて、細切れ肉料理が指定された出力である入力を見つけるのが実行不可能であることを意味します。 署名を鍛造するのを実行不可能にするので、RSASSA- PKCS1-v1_5には、衝突抵抗の特性は特に望ましいです。 要件に加えて、ハッシュ関数は擬似ランダム出力があるマスク世代機能(セクション10.2)をもたらすべきです。

Kaliski & Staddon            Informational                     [Page 27]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[27ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

   Three hash functions are recommended for the encoding methods in this
   document: MD2 [15], MD5 [17], and SHA-1 [16]. For the EME-OAEP
   encoding method, only SHA-1 is recommended. For the EMSA-PKCS1-v1_5
   encoding method, SHA-1 is recommended for new applications. MD2 and
   MD5 are recommended only for compatibility with existing applications
   based on PKCS #1 v1.5.

3つのハッシュ関数がコード化方法のために本書では推薦されます: MD2[15]、MD5[17]、およびSHA-1[16]。 方法をコード化するEME-OAEPに関しては、SHA-1だけがお勧めです。 方法をコード化するEMSA-PKCS1-v1_5において、SHA-1は新しいアプリケーションのために推薦されます。 PKCS#1v1.5に基づく既存のアプリケーションとの互換性だけに、MD2とMD5はお勧めです。

   The hash functions themselves are not defined here; readers are
   referred to the appropriate references ([15], [17] and [16]).

ハッシュ関数自体はここで定義されません。 読者は適切な参照([15]、[17]、および[16])を参照されます。

   Note. Version 1.5 of this document also allowed for the use of MD4 in
   signature schemes. The cryptanalysis of MD4 has progressed
   significantly in the intervening years. For example, Dobbertin [10]
   demonstrated how to find collisions for MD4 and that the first two
   rounds of MD4 are not one-way [11]. Because of these results and
   others (e.g. [9]), MD4 is no longer recommended. There have also been
   advances in the cryptanalysis of MD2 and MD5, although not enough to
   warrant removal from existing applications. Rogier and Chauvaud [19]
   demonstrated how to find collisions in a modified version of MD2. No
   one has demonstrated how to find collisions for the full MD5
   algorithm, although partial results have been found (e.g. [8]). For
   new applications, to address these concerns, SHA-1 is preferred.

注意します。 また、このドキュメントのバージョン1.5は署名計画におけるMD4の使用を考慮しました。 MD4の暗号文解読術は介入している数年間かなり進歩をしています。 例えば、Dobbertin[10]は、MD4に関してどう衝突を見つけるか、そして、MD4の最初の2ラウンドが片道[11]でないことを示しました。 これらの結果と他のもの、(例えば、[9])、MD4はもうお勧めではありません。 また、MD2とMD5の暗号文解読術には進歩がありました、既存のアプリケーションから取り外しを保証するためには十分ではありませんが。 ロジエとChauvaud[19]はどうMD2の変更されたバージョンにおける衝突を見つけるかを示しました。 だれもどう完全なMD5アルゴリズムのための衝突を見つけるかを示していません、部分的な結果は見つけられましたが。(例えば、[8])。 新しいアプリケーションにおいて、これらの関心を記述するために、SHA-1は好まれます。

10.2 Mask Generation Functions

10.2 マスク世代機能

   A mask generation function takes an octet string of variable length
   and a desired output length as input, and outputs an octet string of
   the desired length. There may be restrictions on the length of the
   input and output octet strings, but such bounds are generally very
   large. Mask generation functions are deterministic; the octet string
   output is completely determined by the input octet string. The output
   of a mask generation function should be pseudorandom, that is, if the
   seed to the function is unknown, it should be infeasible to
   distinguish the output from a truly random string. The plaintext-
   awareness of RSAES-OAEP relies on the random nature of the output of
   the mask generation function, which in turn relies on the random
   nature of the underlying hash.

マスク世代機能は、入力されるように可変長と必要な出力の長さの八重奏ストリングを取って、必要な長さの八重奏ストリングを出力します。 制限が入出力八重奏ストリングの長さにあるかもしれませんが、一般に、そのような領域は非常に大きいです。 マスク世代機能は決定論的です。 八重奏ストリング出力は入力八重奏ストリングで完全に決定しています。 マスク世代機能の出力は擬似ランダムであるべきです、すなわち、機能への種子が未知であるなら、本当に無作為のストリングと出力を区別するのが実行不可能であるべきです。 RSAES-OAEPの平文認識は順番に基本的な細切れ肉料理のランダム性を当てにするマスク世代機能の出力のランダム性を当てにします。

   One mask generation function is recommended for the encoding methods
   in this document, and is defined here: MGF1, which is based on a hash
   function. Future versions of this document may define other mask
   generation functions.

1つのマスク世代機能が、コード化方法のために本書では推薦されて、ここで定義されます: MGF1。(そのMGF1はハッシュ関数に基づいています)。 このドキュメントの将来のバージョンは他のマスク世代機能を定義するかもしれません。

10.2.1 MGF1

10.2.1 MGF1

   MGF1 is a Mask Generation Function based on a hash function.

MGF1はハッシュ関数に基づくMask Generation Functionです。

   MGF1 (Z, l)

MGF1(Z、l)

Kaliski & Staddon            Informational                     [Page 28]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[28ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

   Options:
   Hash    hash function (hLen denotes the length in octets of the hash
           function output)

オプション: 細切れ肉料理ハッシュ関数(hLenはハッシュ関数出力の八重奏における長さを指示します)

   Input:
   Z       seed from which mask is generated, an octet string
   l       intended length in octets of the mask, at most 2^32(hLen)

以下を入力してください。 Z種子はどのマスクから発生するか、そして、八重奏ストリングlはマスクの八重奏で意図している長さです、ほとんどの2^32で(hLen)

   Output:
   mask    mask, an octet string of length l; or "mask too long"

出力: マスク、長さlの八重奏ストリングにマスクをかけてください。 または、「また、長さマスクをかけてください」

   Steps:

以下のステップ:

   1.If l > 2^32(hLen), output "mask too long" and stop.

1. l>2^32である(hLen)なら、「また、長さマスクをかけてください」、出力されて、止まってください。

   2.Let T  be the empty octet string.

2. Tが空の八重奏ストリングであることをさせてください。

   3.For counter from 0 to \lceil{l / hLen}\rceil-1, do the following:

3. 0〜\lceil l/hLen\rceil-1までのカウンタに関して、以下をしてください:

   a.Convert counter to an octet string C of length 4 with the primitive
   I2OSP: C = I2OSP (counter, 4)

a. 原始のI2OSPと共に長さ4の八重奏ストリングCにカウンタを変換してください: CはI2OSPと等しいです。(カウンタ、4)

   b.Concatenate the hash of the seed Z and C to the octet string T: T =
   T || Hash (Z || C)

b. 種子ZとCの細切れ肉料理を八重奏ストリングTに連結してください: TはTと等しいです。|| 細切れ肉料理(Z| | C)

   4.Output the leading l octets of T as the octet string mask.

4. 八重奏ストリングマスクとしてTの主なl八重奏を出力してください。

11. ASN.1 syntax

11. ASN.1構文

11.1 Key representation

11.1 主要な表現

   This section defines ASN.1 object identifiers for RSA public and
   private keys, and defines the types RSAPublicKey and RSAPrivateKey.
   The intended application of these definitions includes X.509
   certificates, PKCS #8 [22], and PKCS #12 [23].

このセクションは、RSA公衆と秘密鍵のためのASN.1物の識別子を定義して、タイプのRSAPublicKeyとRSAPrivateKeyを定義します。 これらの定義の意図している応用はX.509証明書、PKCS#8[22]、およびPKCS#12[23]を含んでいます。

   The object identifier rsaEncryption identifies RSA public and private
   keys as defined in Sections 11.1.1 and 11.1.2. The parameters field
   associated with this OID in an AlgorithmIdentifier shall have type
   NULL.

物の識別子rsaEncryptionはセクション11.1.1と11.1で.2に定義されるようにRSA公衆と秘密鍵を特定します。 AlgorithmIdentifierのこのOIDに関連しているパラメタ分野には、タイプNULLがあるものとします。

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

rsaEncryption物の識別子:、:= pkcs-1 1

   All of the definitions in this section are the same as in PKCS #1
   v1.5.

このセクションとの定義のすべてがPKCS#1v1.5と同じです。

Kaliski & Staddon            Informational                     [Page 29]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[29ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

11.1.1 Public-key syntax

11.1.1 公開カギ構文

   An RSA public key should be represented with the ASN.1 type
   RSAPublicKey:

RSA公開鍵はASN.1タイプRSAPublicKeyと共に表されるべきです:

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

RSAPublicKey:、:=系列係数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:
   -modulus is the modulus n.
   -publicExponent is the public exponent e.

タイプRSAPublicKeyの分野には、以下の意味があります: -係数は係数nです。 -publicExponentは公共の解説者eです。

11.1.2 Private-key syntax

11.1.2 秘密鍵構文

   An RSA private key should be represented with 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 }

RSAPrivateKey:、:= 系列バージョンバージョン、係数INTEGER--n publicExponent INTEGER--e privateExponent INTEGER--d prime1 INTEGER--p prime2 INTEGER--q exponent1 INTEGER--dモッズ(p-1)exponent2 INTEGER--dモッズ(q-1)係数INTEGER--(qの逆)モッズp

   Version ::= INTEGER

バージョン:、:= 整数

   The fields of type RSAPrivateKey have the following meanings:

タイプRSAPrivateKeyの分野には、以下の意味があります:

   -version is the version number, for compatibility with future
   revisions of this document. It shall be 0 for this version of the
   document.
   -modulus is the modulus n.
   -publicExponent is the public exponent e.
   -privateExponent is the private exponent d.
   -prime1 is the prime factor p of n.
   -prime2 is the prime factor q of n.
   -exponent1 is d mod (p-1).
   -exponent2 is d mod (q-1).
   -coefficient is the Chinese Remainder Theorem coefficient q-1 mod p.

-バージョンはこのドキュメントの今後の改正との互換性のバージョン番号です。 それはドキュメントのこのバージョンのために0になるでしょう。 -係数は係数nです。 -publicExponentは公共の解説者eです。 -privateExponentは個人的な解説者dです。 -prime1はnに関する主要因pです。 -prime2はnに関する主要因qです。 -exponent1はdモッズ(p-1)です。 -exponent2はdモッズ(q-1)です。 -係数は中国人のRemainder Theorem係数q-1モッズpです。

Kaliski & Staddon            Informational                     [Page 30]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[30ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

11.2 Scheme identification

11.2 計画識別

   This section defines object identifiers for the encryption and
   signature schemes. The schemes compatible with PKCS #1 v1.5 have the
   same definitions as in PKCS #1 v1.5. The intended application of
   these definitions includes X.509 certificates and PKCS #7.

このセクションは暗号化と署名計画のための物の識別子を定義します。 PKCS#1v1.5とのコンパチブル計画には、同じ定義がPKCS#1v1.5のようにあります。 これらの定義の意図している応用はX.509証明書とPKCS#7、を含んでいます。

11.2.1 Syntax for RSAES-OAEP

11.2.1 RSAES-OAEPのための構文

   The object identifier id-RSAES-OAEP identifies the RSAES-OAEP
   encryption scheme.

物の識別子イド-RSAES-OAEPはRSAES-OAEP暗号化計画を特定します。

   id-RSAES-OAEP OBJECT IDENTIFIER ::= {pkcs-1 7}

イド-RSAES-OAEP物の識別子:、:= pkcs-1 7

   The parameters field associated with this OID in an
   AlgorithmIdentifier shall have type RSAEP-OAEP-params:

AlgorithmIdentifierのこのOIDに関連しているパラメタ分野には、タイプRSAEP-OAEP-paramsがあるものとします:

   RSAES-OAEP-params ::=  SEQUENCE {
     hashFunc [0] AlgorithmIdentifier {{oaepDigestAlgorithms}}
       DEFAULT sha1Identifier,
     maskGenFunc [1] AlgorithmIdentifier {{pkcs1MGFAlgorithms}}
       DEFAULT mgf1SHA1Identifier,
     pSourceFunc [2] AlgorithmIdentifier
       {{pkcs1pSourceAlgorithms}}
       DEFAULT pSpecifiedEmptyIdentifier }

RSAES-OAEP-params:、:= 系列hashFunc[0]AlgorithmIdentifieroaepDigestAlgorithmsデフォルトsha1Identifier、maskGenFunc[1]AlgorithmIdentifierpkcs1MGFAlgorithmsデフォルトmgf1SHA1Identifier、pSourceFunc[2]AlgorithmIdentifierpkcs1pSourceAlgorithmsデフォルトpSpecifiedEmptyIdentifier

   The fields of type RSAES-OAEP-params have the following meanings:

タイプRSAES-OAEP-paramsの分野には、以下の意味があります:

   -hashFunc identifies the hash function. It shall be an algorithm ID
   with an OID in the set oaepDigestAlgorithms, which for this version
   shall consist of id-sha1, identifying the SHA-1 hash function. The
   parameters field for id-sha1 shall have type NULL.

-hashFuncはハッシュ関数を特定します。 それはこのバージョンのためにイド-sha1から成るものとするセットoaepDigestAlgorithmsにおけるOIDをもってアルゴリズムIDになるでしょう、SHA-1ハッシュ関数を特定して。 イド-sha1のためのパラメタ分野には、タイプNULLがあるものとします。

   oaepDigestAlgorithms ALGORITHM-IDENTIFIER ::= {
     {NULL IDENTIFIED BY id-sha1} }

oaepDigestAlgorithmsアルゴリズム識別子:、:= NULL IDENTIFIED BYイド-sha1

   id-sha1 OBJECT IDENTIFIER ::=
     {iso(1) identified-organization(3) oiw(14) secsig(3)
       algorithms(2) 26}

イド-sha1 OBJECT IDENTIFIER:、:= iso(1)の特定された組織(3)oiw(14) secsig(3)アルゴリズム(2)26

   The default hash function is SHA-1:
   sha1Identifier ::= AlgorithmIdentifier {id-sha1, NULL}

デフォルトハッシュ関数はSHA-1です: sha1Identifier:、:= AlgorithmIdentifierイド-sha1、ヌル

   -maskGenFunc identifies the mask generation function. It shall be an
   algorithm ID with an OID in the set pkcs1MGFAlgorithms, which for
   this version shall consist of id-mgf1, identifying the MGF1 mask
   generation function (see Section 10.2.1). The parameters field for

-maskGenFuncはマスク世代機能を特定します。 それはセットpkcs1MGFAlgorithmsにおけるOIDをもってアルゴリズムIDになるでしょう(セクション10.2.1を見てください)。(MGF1マスク世代を特定して、このバージョンがイド-mgf1から成るものとするので、pkcs1MGFAlgorithmsは機能します)。 パラメタはさばきます。

Kaliski & Staddon            Informational                     [Page 31]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[31ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

   id-mgf1 shall have type AlgorithmIdentifier, identifying the hash
   function on which MGF1 is based, where the OID for the hash function
   shall be in the set oaepDigestAlgorithms.

イド-mgf1にはタイプAlgorithmIdentifierがあるものとします、MGF1が基づいているハッシュ関数を特定して、セットoaepDigestAlgorithmsにハッシュ関数のためのOIDがあるものとするところで。

   pkcs1MGFAlgorithms ALGORITHM-IDENTIFIER ::= {
     {AlgorithmIdentifier {{oaepDigestAlgorithms}} IDENTIFIED
       BY id-mgf1} }

pkcs1MGFAlgorithmsアルゴリズム識別子:、:= AlgorithmIdentifieroaepDigestAlgorithmsIDENTIFIED BYイド-mgf1

   id-mgf1 OBJECT IDENTIFIER ::= {pkcs-1 8}

イド-mgf1 OBJECT IDENTIFIER:、:= pkcs-1 8

   The default mask generation function is MGF1 with SHA-1:

デフォルトマスク世代機能はSHA-1とMGF1です:

   mgf1SHA1Identifier ::= AlgorithmIdentifier {
     id-mgf1, sha1Identifier }

mgf1SHA1Identifier:、:= AlgorithmIdentifierイド-mgf1、sha1Identifier

   -pSourceFunc identifies the source (and possibly the value) of the
   encoding parameters P. It shall be an algorithm ID with an OID in the
   set pkcs1pSourceAlgorithms, which for this version shall consist of
   id-pSpecified, indicating that the encoding parameters are specified
   explicitly. The parameters field for id-pSpecified shall have type
   OCTET STRING, containing the encoding parameters.

-pSourceFuncはセットにおけるOIDがあるアルゴリズムIDがpkcs1pSourceAlgorithmsであるつもりであったならコード化パラメタP.Itの源(そして、ことによると値)を特定します、コード化パラメタが明らかに指定されるのを示して。(このバージョンのために、pkcs1pSourceAlgorithmsはイド-pSpecifiedから成るものとします)。 イド-pSpecifiedのためのパラメタ分野には、コード化パラメタを含んでいて、タイプOCTET STRINGがあるものとします。

   pkcs1pSourceAlgorithms ALGORITHM-IDENTIFIER ::= {
     {OCTET STRING IDENTIFIED BY id-pSpecified} }

pkcs1pSourceAlgorithmsアルゴリズム識別子:、:= イド-pSpecifiedによって特定された八重奏ストリング

   id-pSpecified OBJECT IDENTIFIER ::= {pkcs-1 9}

イド-pSpecified物の識別子:、:= pkcs-1 9

   The default encoding parameters is an empty string (so that pHash in
   EME-OAEP will contain the hash of the empty string):

パラメタをコード化するデフォルトは空のストリング(EME-OAEPのpHashが空のストリングの細切れ肉料理を含むように)です:

   pSpecifiedEmptyIdentifier ::= AlgorithmIdentifier {
     id-pSpecified, OCTET STRING SIZE (0) }

pSpecifiedEmptyIdentifier:、:= AlgorithmIdentifierイド-pSpecified、八重奏ストリングサイズ(0)

   If all of the default values of the fields in RSAES-OAEP-params are
   used, then the algorithm identifier will have the following value:

RSAES-OAEP-paramsの分野のデフォルト値のすべてが使用されていると、アルゴリズム識別子には、以下の値があるでしょう:

   RSAES-OAEP-Default-Identifier ::= AlgorithmIdentifier {
     id-RSAES-OAEP,
     {sha1Identifier,
      mgf1SHA1Identifier,
      pSpecifiedEmptyIdentifier } }

RSAES-OAEPデフォルト識別子:、:= AlgorithmIdentifierイド-RSAES-OAEP、sha1Identifier、mgf1SHA1Identifier、pSpecifiedEmptyIdentifier

11.2.2 Syntax for RSAES-PKCS1-v1_5

11.2.2 RSAES-PKCS1-v1_5のための構文

   The object identifier rsaEncryption (Section 11.1) identifies the
   RSAES-PKCS1-v1_5 encryption scheme. The parameters field associated
   with this OID in an AlgorithmIdentifier shall have type NULL. This is
   the same as in PKCS #1 v1.5.

物の識別子rsaEncryption(セクション11.1)はRSAES-PKCS1-v1_5暗号化計画を特定します。 AlgorithmIdentifierのこのOIDに関連しているパラメタ分野には、タイプNULLがあるものとします。 これはPKCS#1v1.5と同じです。

Kaliski & Staddon            Informational                     [Page 32]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[32ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

   RsaEncryption   OBJECT IDENTIFIER ::= {PKCS-1 1}

RsaEncryption物の識別子:、:= PKCS-1 1

11.2.3 Syntax for RSASSA-PKCS1-v1_5

11.2.3 RSASSA-PKCS1-v1_5のための構文

   The object identifier for RSASSA-PKCS1-v1_5 shall be one of the
   following. The choice of OID depends on the choice of hash algorithm:
   MD2, MD5 or SHA-1. Note that if either MD2 or MD5 is used then the
   OID is just as in PKCS #1 v1.5. For each OID, the parameters field
   associated with this OID in an AlgorithmIdentifier shall have type
   NULL.

RSASSA-PKCS1-v1_5のための物の識別子は以下の1つになるでしょう。 OIDのこの選択は細切れ肉料理アルゴリズムの選択次第です: MD2、MD5またはSHA-1。 MD2かMD5のどちらかが使用されているならOIDがPKCS#1v1.5のように正当であることに注意してください。 各OIDに関しては、AlgorithmIdentifierのこのOIDに関連しているパラメタ分野には、タイプNULLがあるものとします。

   If the hash function to be used is MD2, then the OID should be:

使用されるべきハッシュ関数がMD2であるなら、OIDは以下の通りであるべきです。

   md2WithRSAEncryption ::= {PKCS-1 2}

md2WithRSAEncryption:、:= PKCS-1 2

   If the hash function to be used is MD5, then the OID should be:

使用されるべきハッシュ関数がMD5であるなら、OIDは以下の通りであるべきです。

   md5WithRSAEncryption ::= {PKCS-1 4}

md5WithRSAEncryption:、:= PKCS-1 4

   If the hash function to be used is SHA-1, then the OID should be:

使用されるべきハッシュ関数がSHA-1であるなら、OIDは以下の通りであるべきです。

   sha1WithRSAEncryption ::= {pkcs-1 5}

sha1WithRSAEncryption:、:= pkcs-1 5

   In the digestInfo type mentioned in Section 9.2.1 the OIDS for the
   digest algorithm are the following:

セクション9.2.1で言及したdigestInfoタイプで、ダイジェストアルゴリズムのためのOIDSは以下です:

   id-SHA1 OBJECT IDENTIFIER ::=
           {iso(1) identified-organization(3) oiw(14) secsig(3)
            algorithms(2) 26 }

イド-SHA1物の識別子:、:= iso(1)の特定された組織(3)oiw(14) secsig(3)アルゴリズム(2)26

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

md2 OBJECT IDENTIFIER:、:= iso(1)は(2) 米国(840)rsadsi(113549) digestAlgorithm(2)2をメンバーと同じくらい具体化させます。

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

md5 OBJECT IDENTIFIER:、:= iso(1)は(2) 米国(840)rsadsi(113549) digestAlgorithm(2)5をメンバーと同じくらい具体化させます。

   The parameters field of the digest algorithm has ASN.1 type NULL for
   these OIDs.

ダイジェストアルゴリズムのパラメタ分野で、ASN.1はこれらのOIDsのためにNULLをタイプします。

12. Patent statement

12. 特許声明

   The Internet Standards Process as defined in RFC 1310 requires a
   written statement from the Patent holder that a license will be made
   available to applicants under reasonable terms and conditions prior
   to approving a specification as a Proposed, Draft or Internet
   Standard.

RFC1310で定義されるインターネットStandards ProcessはPatent所有者からのProposed、DraftまたはインターネットStandardとして仕様を承認する前に無理のない条件と条件のもとでライセンスを応募者にとって利用可能にするという書かれた声明を必要とします。

Kaliski & Staddon            Informational                     [Page 33]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[33ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

   The Internet Society, Internet Architecture Board, Internet
   Engineering Steering Group and the Corporation for National Research
   Initiatives take no position on the validity or scope of the
   following patents and patent applications, nor on the appropriateness
   of the terms of the assurance. The Internet Society and other groups
   mentioned above have not made any determination as to any other
   intellectual property rights which may apply to the practice of this
   standard.  Any further consideration of these matters is the user's
   responsibility.

インターネット協会、インターネット・アーキテクチャ委員会、インターネットEngineering Steering Group、およびNational Research Initiativesのための社は以下の特許と特許出願の正当性か範囲の上と、そして、保証に関する諸条件の適切さの上の立場を全く取りません。 前記のようにインターネット協会と他のグループはこの規格の習慣に申請されるかもしれないいかなる他の知的所有権に関しても少しの決断もしていません。 これらの件のどんなさらなる考慮もユーザの責任です。

12.1 Patent statement for the RSA algorithm

12.1 RSAアルゴリズムのための特許声明

   The Massachusetts Institute of Technology has granted RSA Data
   Security, Inc., exclusive sub-licensing rights to the following
   patent issued in the United States:

マサチューセッツ工科大学はRSA Data Security Inc.を与えました、と以下の特許への独占的なサブ認可している権利は合衆国で発行しました:

   Cryptographic Communications System and Method ("RSA"), No. 4,405,829

暗号の通信網と方法("RSA")、いいえ、440万5829

   RSA Data Security, Inc. has provided the following statement with
   regard to this patent:

RSA Data Security Inc.はこの特許に関して以下の声明を提供しました:

   It is RSA's business practice to make licenses to its patents
   available on reasonable and nondiscriminatory terms. Accordingly, RSA
   is willing, upon request, to grant non-exclusive licenses to such
   patent on reasonable and non-discriminatory terms and conditions to
   those who respect RSA's intellectual property rights and subject to
   RSA's then current royalty rate for the patent licensed. The royalty
   rate for the RSA patent is presently set at 2% of the licensee's
   selling price for each product covered by the patent.  Any requests
   for license information may be directed to:

妥当、そして、nondiscriminatory諸条件で特許へのライセンスを利用可能にするのは、RSAの商習慣です。それに従って、RSAは、要求のときに特許のためのRSAの当時の現在の著作権料への敬意RSAの知的所有権と対象が認可したものへの妥当で非差別している条件でそのような特許に通常実施権を与えるために望んでいます。 RSA特許のための著作権料は現在、免許所有者の販売価格の2%で特許でカバーされた各製品に設定されます。 ライセンス情報に関するどんな要求による以下のことようも指示されるかもしれません。

            Director of Licensing
            RSA Data Security, Inc.
            2955 Campus Drive
            Suite 400
            San Mateo, CA 94403

サンマテオ、RSA Data Security Inc.2955キャンパスドライブSuite400カリフォルニア 94403を認可するディレクター

   A license under RSA's patent(s) does not include any rights to know-
   how or other technical information or license under other
   intellectual property rights.  Such license does not extend to any
   activities which constitute infringement or inducement thereto. A
   licensee must make his own determination as to whether a license is
   necessary under patents of others.

RSAの特許の下におけるライセンスは他の知的所有権の下でどんなどれくらい何らかの知る権利技術資料やライセンスも含んでいないか。 そのようなライセンスはそれに加えて侵害か誘導を構成する少しの活動にも達しません。 免許所有者はライセンスが他のものの特許の下で必要であるかどうかに関して彼自身の決断をしなければなりません。

Kaliski & Staddon            Informational                     [Page 34]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[34ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

13. Revision history

13. 改訂履歴

   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は2月のRSA Data Security Inc.の公開鍵暗号化標準ミーティングと1991年3月に関係者に分配されました。

   Version 1.4

バージョン1.4

   Version 1.4 was 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はPKCSの1991年6月3日の初期の公共のリリースの一部でした。 NIST/OSI ImplementorsのWorkshopがSEC SIG91-18を記録するとき、バージョン1.4は発行されました。

   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: -Section 10: "MD4 with RSA"
   signature and verification processes were added.

バージョン1.5は改訂履歴の参照と添加にアップデートを含む数回の編集の変化を取り入れます。 以下の実質的な変更は行われました: -セクション10: 「RSAとMD4」署名と検証の過程は加えられました。

   -Section 11: md4WithRSAEncryption object identifier was added.

-セクション11: md4WithRSAEncryption物の識別子は加えられました。

   Version 2.0 [DRAFT]

バージョン2.0[草稿]

   Version 2.0 incorporates major editorial changes in terms of the
   document structure, and introduces the RSAEP-OAEP encryption scheme.
   This version continues to support the encryption and signature
   processes in version 1.5, although the hash algorithm MD4 is no
   longer allowed due to cryptanalytic advances in the intervening
   years.

バージョン2.0は、ドキュメント構造に関して主要な編集の変化を取り入れて、RSAEP-OAEP暗号化計画を導入します。 このバージョンは、バージョン1.5の暗号化と署名の過程を支持し続けています、細切れ肉料理アルゴリズムMD4は介入している数年間でcryptanalytic進歩のためもう許容されていませんが。

14. References

14. 参照

   [1] ANSI, ANSI X9.44: Key Management Using Reversible Public Key
       Cryptography for the Financial Services Industry. Work in
       Progress.

[1] ANSI、ANSI X9.44: 金融サービス業界にリバーシブルの公開鍵暗号を使用するKey Management。 進行中で、働いてください。

   [2] M. Bellare and P. Rogaway. Optimal Asymmetric Encryption - How to
       Encrypt with RSA. In Advances in Cryptology-Eurocrypt '94, pp.
       92-111, Springer-Verlag, 1994.

[2] M.BellareとP.Rogaway。 最適の非対称の暗号化--、どのように、RSAと共にコード化するために。 Cryptology-Eurocrypt94年、ページのAdvancesで 92-111、追出石-Verlag、1994。

   [3] M. Bellare and P. Rogaway. The Exact Security of Digital
       Signatures - How to Sign with RSA and Rabin. In Advances in
       Cryptology-Eurocrypt '96, pp. 399-416, Springer-Verlag, 1996.

[3] M.BellareとP.Rogaway。 デジタル署名の正確なセキュリティ--RSAとラビンと契約する方法。 Cryptology-Eurocrypt96年、ページのAdvancesで 399-416、追出石-Verlag、1996。

Kaliski & Staddon            Informational                     [Page 35]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[35ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

   [4] D. Bleichenbacher. Chosen Ciphertext Attacks against Protocols
       Based on the RSA Encryption Standard PKCS #1. To appear in
       Advances in Cryptology-Crypto '98.

[4] D.Bleichenbacher。 プロトコルに対する選ばれた暗号文攻撃は暗号化規格PKCS#1をRSAに基礎づけました。 Cryptology-暗号98年にAdvancesに現れるように。

   [5] D. Bleichenbacher, B. Kaliski and J. Staddon. Recent Results on
       PKCS #1: RSA Encryption Standard. RSA Laboratories' Bulletin,
       Number 7, June 24, 1998.

[5] D.Bleichenbacher、B.Kaliski、およびJ.Staddon。 PKCS#1の最近の結果: RSA暗号化規格。 RSA研究所の報告、No.7、1998年6月24日。

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

[6] CCITT。 推薦X.509: ディレクトリ認証枠組み。 1988.

   [7] D. Coppersmith, M. Franklin, J. Patarin and M. Reiter. Low-
       Exponent RSA with Related Messages. In Advances in Cryptology-
       Eurocrypt '96, pp. 1-9, Springer-Verlag, 1996

[7] D.銅細工師(M.フランクリン)J.PatarinとM.ライター症候群。 安値関連メッセージがある解説者RSA。 Cryptology- Eurocrypt96年、ページのAdvancesで 1-9 追出石-Verlag、1996

   [8] B. Den Boer and Bosselaers. Collisions for the Compression
       Function of MD5. In Advances in Cryptology-Eurocrypt '93, pp
       293-304, Springer-Verlag, 1994.

[8] B.穴のボーア人とBosselaers。 MD5の圧縮機能のための衝突。 Cryptology-Eurocrypt93年、pp293-304、Springer-Verlag、1994におけるAdvancesで

   [9] B. den Boer, and A. Bosselaers. An Attack on the Last Two Rounds
       of MD4. In Advances in Cryptology-Crypto '91, pp.194-203,
       Springer-Verlag, 1992.

[9] B.穴のボーア人、およびA.Bosselaers。 MD4の最後の2ラウンドに対する攻撃。 Cryptology-暗号91年、pp.194-203、Springer-Verlag、1992のAdvancesで。

   [10] H. Dobbertin. Cryptanalysis of MD4. Fast Software Encryption.
        Lecture Notes in Computer Science, Springer-Verlag 1996, pp.
        55-72.

[10] H.Dobbertin。 MD4の暗号文解読術。 速いソフトウェア暗号化。 コンピュータScience、Springer-Verlag1996、ページの講演Notes 55-72.

   [11] H. Dobbertin. Cryptanalysis of MD5 Compress. Presented at the
        rump session of Eurocrypt `96, May 14, 1996

[11] H.Dobbertin。 MD5湿布の暗号文解読術。 Eurocrypt96年、1996年5月14日の臀部セッションのときに、提示されます。

   [12] H. Dobbertin.The First Two Rounds of MD4 are Not One-Way. Fast
        Software Encryption. Lecture Notes in Computer Science,
        Springer-Verlag 1998, pp. 284-292.

[12] MD4のH.Dobbertin.The First Two RoundsはNot One-道です。 速いソフトウェア暗号化。 コンピュータScience、Springer-Verlag1998、ページの講演Notes 284-292.

   [13] J. Hastad. Solving Simultaneous Modular Equations of Low Degree.
        SIAM Journal of Computing, 17, 1988, pp. 336-341.

[13] J.Hastad。 低度の同時のモジュールの方程式を解決します。 Computing、17、1988、ページのシャムJournal 336-341.

   [14] IEEE. IEEE P1363: Standard Specifications for Public Key
        Cryptography. Draft Version 4.

[14] IEEE。 IEEE P1363: 公開鍵暗号のための標準の仕様。 バージョン4を作成してください。

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

[15]Kaliski、B.、「MD2メッセージダイジェストアルゴリズム」、RFC1319、1992年4月。

   [16] National Institute of Standards and Technology (NIST). FIPS
        Publication 180-1: Secure Hash Standard. April 1994.

[16] 米国商務省標準技術局(NIST)。 FIPS公表180-1: 細切れ肉料理規格を保証してください。 1994年4月。

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

[17] 1992年4月、最もRivestなR.、「MD5メッセージダイジェストアルゴリズム」RFC1321。

Kaliski & Staddon            Informational                     [Page 36]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[36ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

   [18] R. Rivest, A. Shamir and L. Adleman. A Method for Obtaining
        Digital Signatures and Public-Key Cryptosystems. Communications
        of the ACM, 21(2), pp. 120-126, February 1978.

[18] 最もRivestなR.A.シャミルとL.Adleman。 Public主要なCryptosystems Obtaining Digital SignaturesのためのMethodとACM、21(2)、ページのコミュニケーション 120-126と、1978年2月。

   [19] N. Rogier and P. Chauvaud. The Compression Function of MD2 is
        not Collision Free. Presented at Selected Areas of Cryptography
        `95. Carleton University, Ottawa, Canada. May 18-19, 1995.

[19] N.ロジエとP.Chauvaud。 MD2のCompression FunctionはCollision Freeではありません。 暗号の選択された領域では、95年を提示しました。 カールトン大学、オタワ、カナダ。 1995年5月18日〜19日。

   [20] RSA Laboratories. PKCS #1: RSA Encryption Standard. Version 1.5,
        November 1993.

[20] RSA研究所。 PKCS#1: RSA暗号化規格。 1993年11月のバージョン1.5。

   [21] RSA Laboratories. PKCS #7: Cryptographic Message Syntax
        Standard. Version 1.5, November 1993.

[21] RSA研究所。 PKCS#7: 暗号のメッセージ構文規格。 1993年11月のバージョン1.5。

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

[22] RSA研究所。 PKCS#8: 秘密鍵情報構文規格。 1993年11月のバージョン1.2。

   [23] RSA Laboratories. PKCS #12: Personal Information Exchange Syntax
        Standard. Version 1.0, Work in Progress, April 1997.

[23] RSA研究所。 PKCS#12: 個人情報交換構文規格。 バージョン1.0、処理中の作業、1997年4月。

Security Considerations

セキュリティ問題

   Security issues are discussed throughout this memo.

このメモ中で安全保障問題について議論します。

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
   v2.0".

このドキュメントはRSA研究所の貢献に基づいていて、このドキュメントからのテキストのRSA Data SecurityのInc.のAnyのかなりの使用の分割はこのドキュメントに言及するか、または参照をつけるすべての材料が、これが「RSA Data Security Inc.PKCS#1v2.0"」であると認識するというRSA Data Security Inc.RSA Data Security Inc.要求を承諾しなければなりません。

Kaliski & Staddon            Informational                     [Page 37]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[37ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

Authors' Addresses

作者のアドレス

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

バートKaliski RSA研究所東20のクロズビー・Driveベッドフォード、MA 01730

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

以下に電話をしてください。 (617) 687-7000 メールしてください: burt@rsa.com

   Jessica Staddon
   RSA Laboratories West
   2955 Campus Drive
   Suite 400
   San Mateo, CA 94403

サンマテオ、ジェシカStaddon RSA研究所西2955キャンパスドライブSuite400カリフォルニア 94403

   Phone: (650) 295-7600
   EMail: jstaddon@rsa.com

以下に電話をしてください。 (650) 295-7600 メールしてください: jstaddon@rsa.com

Kaliski & Staddon            Informational                     [Page 38]

RFC 2437        PKCS #1: RSA Cryptography Specifications    October 1998

Kaliski&Staddonの情報[38ページ]のRFC2437PKCS#1: RSA暗号仕様1998年10月

Full Copyright Statement

完全な著作権宣言文

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

Copyright(C)インターネット協会(1998)。 All rights reserved。

   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.

それに関するこのドキュメントと翻訳は、コピーして、それが批評するか、またはそうでなければわかる他のもの、および派生している作品に提供するか、または準備されているかもしれなくて、コピーされて、発行されて、全体か一部広げられた実現を助けるかもしれません、どんな種類の制限なしでも、上の版権情報とこのパラグラフがそのようなすべてのコピーと派生している作品の上に含まれていれば。 しかしながら、このドキュメント自体は何らかの方法で変更されないかもしれません、インターネット協会か他のインターネット組織の版権情報か参照を取り除くのなどように、それを英語以外の言語に翻訳するのが著作権のための手順がインターネットStandardsの過程で定義したどのケースに従わなければならないか、必要に応じてさもなければ、インターネット標準を開発する目的に必要であるのを除いて。

   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.

このドキュメントとそして、「そのままで」という基礎とインターネットの振興発展を目的とする組織に、インターネット・エンジニアリング・タスク・フォースが速達の、または、暗示しているすべての保証を放棄するかどうかというここにことであり、他を含んでいて、含まれて、情報の使用がここに侵害しないどんな保証も少しもまっすぐになるという情報か市場性か特定目的への適合性のどんな黙示的な保証。

Kaliski & Staddon            Informational                     [Page 39]

Kaliski&Staddon情報です。[39ページ]

一覧

 RFC 1〜100  RFC 1401〜1500  RFC 2801〜2900  RFC 4201〜4300 
 RFC 101〜200  RFC 1501〜1600  RFC 2901〜3000  RFC 4301〜4400 
 RFC 201〜300  RFC 1601〜1700  RFC 3001〜3100  RFC 4401〜4500 
 RFC 301〜400  RFC 1701〜1800  RFC 3101〜3200  RFC 4501〜4600 
 RFC 401〜500  RFC 1801〜1900  RFC 3201〜3300  RFC 4601〜4700 
 RFC 501〜600  RFC 1901〜2000  RFC 3301〜3400  RFC 4701〜4800 
 RFC 601〜700  RFC 2001〜2100  RFC 3401〜3500  RFC 4801〜4900 
 RFC 701〜800  RFC 2101〜2200  RFC 3501〜3600  RFC 4901〜5000 
 RFC 801〜900  RFC 2201〜2300  RFC 3601〜3700  RFC 5001〜5100 
 RFC 901〜1000  RFC 2301〜2400  RFC 3701〜3800  RFC 5101〜5200 
 RFC 1001〜1100  RFC 2401〜2500  RFC 3801〜3900  RFC 5201〜5300 
 RFC 1101〜1200  RFC 2501〜2600  RFC 3901〜4000  RFC 5301〜5400 
 RFC 1201〜1300  RFC 2601〜2700  RFC 4001〜4100  RFC 5401〜5500 
 RFC 1301〜1400  RFC 2701〜2800  RFC 4101〜4200 

スポンサーリンク

FROM句 データを取り出す(操作する)テーブルを選ぶ

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る