Network Working Group                                         R. Housley
Request for Comments: 3217                              RSA Laboratories
Category: Informational                                    December 2001
        
                    Triple-DES and RC2 Key Wrapping
        

Status of this Memo

このメモの位置付け

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

このメモはインターネットコミュニティのための情報を提供します。それはどんな種類のインターネット標準を指定しません。このメモの配布は無制限です。

Copyright Notice

著作権表示

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

著作権(C)インターネット協会(2001)。全著作権所有。

Abstract

抽象

This document specifies the algorithm for wrapping one Triple-DES key with another Triple-DES key and the algorithm for wrapping one RC2 key with another RC2 key. These key wrap algorithms were originally published in section 12.6 of RFC 2630. They are republished since these key wrap algorithms have been found to be useful in contexts beyond those supported by RFC 2630.

この文書では、別のトリプルDESのキーと別のRC2キーで1つのRC2キーを包むためのアルゴリズムと1トリプルDESキーを包むためのアルゴリズムを指定します。これらのキーラップアルゴリズムは、もともとこれらのキーラップアルゴリズムはRFC 2630でサポートされているもの以外の文脈において有用であることが判明しているので、彼らが再発行されているRFC 2630のセクション12.6に掲載されました。

1 Introduction

1はじめに

Management of symmetric cryptographic keys often leads to situations where one symmetric key is used to encrypt (or wrap) another. Key wrap algorithms are commonly used in two situations. First, key agreement algorithms (such as Diffie-Hellman [DH-X9.42]) generate a pairwise key-encryption key, and a key wrap algorithm is used to encrypt the content-encryption key or a multicast key with the pairwise key-encryption key. Second, a key wrap algorithm is used to encrypt the content-encryption key, multicast key, or session key in a locally generated storage key-encryption key or a key-encryption key that was distributed out-of-band.

対称暗号鍵の管理は、多くの場合、1つの対称鍵は別の暗号化(またはラップ)するために使用される状況につながります。キーラップアルゴリズムは、一般的に2つの状況で使用されています。まず、(例えば、ディフィー - ヘルマン[DH-X9.42]など)キー合意アルゴリズムは、ペアワイズ鍵暗号化鍵を生成し、キーラップアルゴリズムは、コンテンツ暗号化キーまたはペアワイズとマルチキャストキーを暗号化するために使用されますKEY-暗号化キー。第二に、キーラップアルゴリズムは、ローカルで生成されたストレージキー暗号化キーまたはアウトオブバンド分配されたキー暗号化キーのコンテンツ暗号化キー、マルチキャストキー、またはセッションキーを暗号化するために使用されます。

This document specifies the algorithm for wrapping one Triple-DES key with another Triple-DES key [3DES], and it specifies the algorithm for wrapping one RC2 key with another RC2 key [RC2]. Encryption of a Triple-DES key with another Triple-DES key uses the algorithm specified in section 3. Encryption of a RC2 key with another RC2 key uses the algorithm specified in section 4. Both of these algorithms rely on the key checksum algorithm specified in section 2. Triple-DES and RC2 content-encryption keys are encrypted in Cipher Block Chaining (CBC) mode [MODES].

この文書では、別のトリプルDESキー[3DES]で1トリプルDESキーを包むためのアルゴリズムを指定し、それが別のRC2キー[RC2]で1つのRC2キーを包むためのアルゴリズムを指定します。別のトリプルDES鍵でトリプルDES鍵の暗号化は、別のRC2キーでRC2キー3.暗号化は、これらのアルゴリズムの両方がで指定されたキーチェックサムアルゴリズムに頼る部4で指定されたアルゴリズムを使用してセクションに指定されたアルゴリズムを使用し部2トリプルDESとRC2コンテンツ暗号化キーは、暗号ブロック連鎖(CBC)モード[MODES]で暗号化されています。

In this document, the key words MUST, MUST NOT, REQUIRED, SHOULD, SHOULD NOT, RECOMMENDED, and MAY are to be interpreted as described by Scott Bradner in [STDWORDS].

この文書では、キーワードは、REQUIRED、推奨すべきでない、とMAYは[STDWORDS]にスコットブラドナーによって記載されるように解釈されるべきであるてはいけませんしなければなりません。

2 Key Checksum

2主なチェックサム

The key checksum algorithm is used to provide a key integrity check value. The algorithm is:

キーチェックサムアルゴリズムは、キーの整合性チェック値を提供するために使用されます。アルゴリズムは次のとおりです。

1. Compute a 20 octet SHA-1 [SHA1] message digest on the key that is to be wrapped. 2. Use the most significant (first) eight octets of the message digest value as the checksum value.

1. 20オクテットSHA1 [SHA1]メッセージが包まれるべきキーにダイジェストを計算します。 2.チェックサム値として値をメッセージダイジェストの最も重要な(最初の)8つのオクテットを使用してください。

3 Triple-DES Key Wrapping and Unwrapping

3トリプルDES鍵ラッピングとアンラッピング

This section specifies the algorithms for wrapping and unwrapping one Triple-DES key with another Triple-DES key [3DES].

このセクションでは、包装のためのアルゴリズムを指定し、別のトリプルDES鍵[3DES]を有するものトリプルDES鍵をアンラップ。

The same key wrap algorithm is used for both Two-key Triple-DES and Three-key Triple-DES keys. When a Two-key Triple-DES key is to be wrapped, a third DES key with the same value as the first DES key is created. Thus, all wrapped Triple-DES keys include three DES keys. However, a Two-key Triple-DES key MUST NOT be used to wrap a Three-key Triple-DES key that is comprised of three unique DES keys.

同じキーラップアルゴリズムは、2つのキーのトリプルDESと3キートリプルDESキーの両方に使用されます。 2キートリプルDES鍵がラップされるとき、最初のDES鍵と同じ値を持つ第三のDESキーが作成されます。このように、すべてのラップトリプルDESキーが3つのDESのキーがあります。しかし、2キートリプルDESキーは、3つのユニークなDESキーで構成された3キートリプルDESキーをラップするために使用してはいけません。

3.1 Triple-DES Key Wrap
3.1トリプルDESキーラップ

The Triple-DES key wrap algorithm encrypts a Triple-DES key with a Triple-DES key-encryption key. The Triple-DES key wrap algorithm is:

トリプルDESキーラップアルゴリズムがトリプルDESのキー暗号化キーを使用してトリプルDESのキーを暗号化します。トリプルDESキーラップアルゴリズムは次のとおりです。

1. Set odd parity for each of the DES key octets comprising the Three-Key Triple-DES key that is to be wrapped, call the result CEK. 2. Compute an 8 octet key checksum value on CEK as described above in Section 2, call the result ICV. 3. Let CEKICV = CEK || ICV. 4. Generate 8 octets at random, call the result IV. 5. Encrypt CEKICV in CBC mode using the key-encryption key. Use the random value generated in the previous step as the initialization vector (IV). Call the ciphertext TEMP1. 6. Let TEMP2 = IV || TEMP1. 7. Reverse the order of the octets in TEMP2. That is, the most significant (first) octet is swapped with the least significant (last) octet, and so on. Call the result TEMP3. 8. Encrypt TEMP3 in CBC mode using the key-encryption key. Use an initialization vector (IV) of 0x4adda22c79e82105. The ciphertext is 40 octets long.

ラップされる三つのキートリプルDESのキーを備えたDESキーオクテットごとに、1セットの奇数パリティ、結果CEKを呼び出します。 2.計算セクション2で説明したようにCEKに8オクテットキーチェックサム値は、結果のICVを呼び出します。 3. CEKICV = CEKをしてみましょう|| ICV。 4.結果のIVを呼び出し、ランダムに8オクテットを生成します。キー暗号化キーを使用してCBCモードでの暗号化5. CEKICV。初期化ベクトル(IV)のような、前のステップで生成したランダム値を使用します。暗号文TEMP1を呼び出します。 6. TEMP2 = IVましょう|| TEMP1。 7. TEMP2のオクテットの順序を逆にします。それは最も重要な(最初の)オクテットはそうで最下位(最後)のオクテットと交換、およびされています。結果TEMP3を呼び出します。キー暗号化キーを使用してCBCモードで8暗号化TEMP3。 0x4adda22c79e82105の初期化ベクトル(IV)を使用します。暗号文は、40オクテットの長さです。

Note: When the same Three-Key Triple-DES key is wrapped in different key-encryption keys, a fresh initialization vector (IV) must be generated for each invocation of the key wrap algorithm.

注意:同じ3キートリプルDESキーが異なるキー暗号化キーに包まれている場合には、新鮮な初期化ベクトル(IV)は、キーラップアルゴリズムの呼び出しごとに生成する必要があります。

3.2 Triple-DES Key Unwrap
3.2トリプルDESキーアンラップ

The Triple-DES key unwrap algorithm decrypts a Triple-DES key using a Triple-DES key-encryption key. The Triple-DES key unwrap algorithm is:

トリプルDESキーアンラップアルゴリズムは、トリプルDESのキー暗号化キーを使用してトリプルDES鍵を復号します。トリプルDESキーアンラップアルゴリズムは次のとおりです。

1. If the wrapped key is not 40 octets, then error. 2. Decrypt the wrapped key in CBC mode using the key-encryption key. Use an initialization vector (IV) of 0x4adda22c79e82105. Call the output TEMP3. 3. Reverse the order of the octets in TEMP3. That is, the most significant (first) octet is swapped with the least significant (last) octet, and so on. Call the result TEMP2. 4. Decompose TEMP2 into IV and TEMP1. IV is the most significant (first) 8 octets, and TEMP1 is the least significant (last) 32 octets. 5. Decrypt TEMP1 in CBC mode using the key-encryption key. Use the IV value from the previous step as the initialization vector. Call the ciphertext CEKICV. 6. Decompose CEKICV into CEK and ICV. CEK is the most significant (first) 24 octets, and ICV is the least significant (last) 8 octets. 7. Compute an 8 octet key checksum value on CEK as described above in Section 2. If the computed key checksum value does not match the decrypted key checksum value, ICV, then error. 8. Check for odd parity each of the DES key octets comprising CEK. If parity is incorrect, then error. 9. Use CEK as a Triple-DES key.

1.ラップされた鍵は40オクテット、エラーではない場合。 2.キー暗号化キーを使用してCBCモードでラップされた鍵を復号化。 0x4adda22c79e82105の初期化ベクトル(IV)を使用します。出力TEMP3を呼び出します。 3. TEMP3のオクテットの順序を逆にします。それは最も重要な(最初の)オクテットはそうで最下位(最後)のオクテットと交換、およびされています。結果TEMP2を呼び出します。 4. IVとTEMP1にTEMP2を分解する。 IVは、最も重要な(最初の)8つのオクテットで、TEMP1は最下位(最後の)32オクテットです。 5.キー暗号化キーを使用してCBCモードでTEMP1を復号化。初期化ベクトルとして前のステップからIV値を使用します。暗号文CEKICVを呼び出します。 6. CEKとICVにCEKICVを分解する。 CEKは、最も重要な(最初の)24個のオクテットで、ICVは最下位(最後の)8つのオクテットです。 7.計算するCEKに8オクテットキーチェックサム値を計算キーチェックサム値を復号鍵チェックサム値、ICV、エラーと一致しない場合、セクション2で説明したように。奇数パリティ8.チェックCEKを備えたDESキーオクテットの各。パリティが正しくない場合、エラー。トリプルDESキーとして9. CEK。

3.3 Triple-DES Key Wrap Algorithm Identifier
3.3トリプルDESキーラップアルゴリズム識別子

Some security protocols employ ASN.1 [X.208-88, X.209-88], and these protocols employ algorithm identifiers to name cryptographic algorithms. To support these protocols, the Triple-DES key wrap algorithm has been assigned the following algorithm identifier:

いくつかのセキュリティプロトコルは、ASN.1 [X.208-88、X.209-88]を採用し、これらのプロトコルは、暗号化アルゴリズムに名前を付けるためにアルゴリズム識別子を採用しています。これらのプロトコルをサポートするために、トリプルDESキーラップアルゴリズムは、以下のアルゴリズム識別子が割り当てられています。

      id-alg-CMS3DESwrap OBJECT IDENTIFIER ::= { iso(1) member-body(2)
         us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) alg(3) 6 }
        

The AlgorithmIdentifier parameter field MUST be NULL.

AlgorithmIdentifierパラメータフィールドはNULLでなければなりません。

3.4 Triple-DES Key Wrap Example
3.4トリプルDESキーラップの例

This section contains a Triple-DES Key Wrap example. Intermediate values corresponding to the named items in section 3.1 are given in hexadecimal.

このセクションでは、トリプルDESキーラップの例が含まれています。セクション3.1で指定された項目に対応する中間値は16進で与えられます。

CEK: 2923 bf85 e06d d6ae 5291 49f1 f1ba e9ea b3a7 da3d 860d 3e98 KEK: 255e 0d1c 07b6 46df b313 4cc8 43ba 8aa7 1f02 5b7c 0838 251f ICV: 181b 7e96 86e0 4a4e CEKICV: 2923 bf85 e06d d6ae 5291 49f1 f1ba e9ea b3a7 da3d 860d 3e98 181b 7e96 86e0 4a4e IV: 5dd4 cbfc 96f5 453b TEMP1: cfc1 a789 c675 dd2a b49a 3204 ef92 cc03 5c1f 973b 7a79 60f6 a44d cc5f 729d 8449 TEMP2: 5dd4 cbfc 96f5 453b cfc1 a789 c675 dd2a b49a 3204 ef92 cc03 5c1f 973b 7a79 60f6 a44d cc5f 729d 8449 TEMP3: 4984 9d72 5fcc 4da4 f660 797a 3b97 1f5c 03cc 92ef 0432 9ab4 2add 75c6 89a7 c1cf 3b45 f596 fccb d45d RESULT: 6901 0761 8ef0 92b3 b48c a179 6b23 4ae9 fa33 ebb4 1596 0403 7db5 d6a8 4eb3 aac2 768c 6327 75a4 67d4

CEK:2923 bf85 e06d d6ae 5291 49f1 f1ba e9ea b3a7 da3d 860D 3e98 KEK:255E 0d1c 07b6 46df B313 4cc8 43ba 8aa7 1F02 5b7c 0838 251F ICV:181B 7e96 86e0 4a4e CEKICV:2923 bf85 e06d d6ae 5291 49f1 f1ba e9ea b3a7 da3d 860D 3e98 181B 7e96 86e0 4a4e IV:5dd4 CBFC 96f5 453B TEMP1:CFC1 a789のc675 dd2aのb49a 3204 ef92のCC03 973b 7a79 60f6 a44dのcc5f 729d 8449 TEMP2 5c1f:5dd4 CBFC 96f5 453B CFC1 a789のc675のdd2aのb49a 3204 ef92 CC03 5c1f 973b 7a79 60f6 a44d cc5f 729d 8449 TEMP3: 4984 9d72 5fcc 4da4 f660 797a 3b97 1f5c 03cc 92ef 0432 9ab4 2add 75c6 89a7 c1cf 3b45 f596 FCCB d45d RESULT:6901 0761 8ef0 92b3 b48cのa179 6b23 4ae9 FA33 ebb4 1596 0403 7db5 d6a8 4eb3 aac2 768c 6327 75a4 67d4

4 RC2 Key Wrapping and Unwrapping

4 RC2キーラッピングとアンラッピング

This section specifies the algorithms for wrapping and unwrapping one RC2 key with another RC2 key [RC2].

このセクションでは、別のRC2キー[RC2]を有するものRC2鍵をラッピング及びアンラッピングするためのアルゴリズムを指定します。

RC2 supports variable length keys. RC2 128-bit keys MUST be used as key-encryption keys; however, the wrapped RC2 key MAY be of any size.

RC2は、可変長キーをサポートしています。 RC2 128ビットキーは、キー暗号化キーとして使用されなければなりません。しかし、ラップRC2キーは、任意のサイズであってもよいです。

4.1 RC2 Key Wrap
4.1 RC2キーラップ

The RC2 key wrap algorithm encrypts a RC2 key with a RC2 key-encryption key. The RC2 key wrap algorithm is:

RC2キーラップアルゴリズムは、RC2キー暗号化キーとRC2キーを暗号化します。 RC2キーラップアルゴリズムは次のとおりです。

1. Let the RC2 key be called CEK, and let the length of CEK in octets be called LENGTH. LENGTH is a single octet. 2. Let LCEK = LENGTH || CEK. 3. Let LCEKPAD = LCEK || PAD. If the length of LCEK is a multiple of 8, the PAD has a length of zero. If the length of LCEK is not a multiple of 8, then PAD contains the fewest number of random octets to make the length of LCEKPAD a multiple of 8. 4. Compute an 8 octet key checksum value on LCEKPAD as described above in Section 2, call the result ICV. 5. Let LCEKPADICV = LCEKPAD || ICV. 6. Generate 8 octets at random, call the result IV. 7. Encrypt LCEKPADICV in CBC mode using the key-encryption key. Use the random value generated in the previous step as the initialization vector (IV). Call the ciphertext TEMP1.

1. RC2キーをCEK呼ばれてみましょう、とオクテットでCEKの長さはLENGTHと呼ばれてみましょう。 LENGTHは、単一のオクテットです。 2. LCEK = LENGTHましょう|| CEK。 3. LCEKPAD = LCEK ||をしてみましょうパッド。 LCEKの長さが8の倍数である場合、PADはゼロの長さを有します。 LCEKの長さが8の倍数でない場合、PADはLCEKPAD 8 4.計算セクション2で説明したようにLCEKPADに8オクテットキーチェックサム値の倍数の長さを作るためにランダムオクテットの最小数を含み、結果ICVを呼び出します。 5. LCEKPADICV = LCEKPAD ||をしてみましょうICV。 6.結果のIVを呼び出し、ランダムに8オクテットを生成します。キー暗号化キーを使用してCBCモードで7.暗号化LCEKPADICV。初期化ベクトル(IV)のような、前のステップで生成したランダム値を使用します。暗号文TEMP1を呼び出します。

8. Let TEMP2 = IV || TEMP1. 9. Reverse the order of the octets in TEMP2. That is, the most significant (first) octet is swapped with the least significant (last) octet, and so on. Call the result TEMP3. 10. Encrypt TEMP3 in CBC mode using the key-encryption key. Use an initialization vector (IV) of 0x4adda22c79e82105.

8. TEMP2 = IVましょう|| TEMP1。 9. TEMP2のオクテットの順序を逆にします。それは最も重要な(最初の)オクテットはそうで最下位(最後)のオクテットと交換、およびされています。結果TEMP3を呼び出します。キー暗号化キーを使用してCBCモードでの暗号化10 TEMP3。 0x4adda22c79e82105の初期化ベクトル(IV)を使用します。

Note: When the same RC2 key is wrapped in different key-encryption keys, a fresh initialization vector (IV) must be generated for each invocation of the key wrap algorithm.

注意:同じRC2キーが異なるキー暗号化キーに包まれている場合には、新鮮な初期化ベクトル(IV)は、キーラップアルゴリズムの呼び出しごとに生成する必要があります。

4.2 RC2 Key Unwrap
4.2 RC2キーアンラップ

The RC2 key unwrap algorithm decrypts a RC2 key using a RC2 key-encryption key. The RC2 key unwrap algorithm is:

RC2キーアンラップアルゴリズムは、RC2キー暗号化キーを使用してRC2鍵を復号します。 RC2キーアンラップアルゴリズムは次のとおりです。

1. If the wrapped key is not a multiple of 8 octets, then error. 2. Decrypt the wrapped key in CBC mode using the key-encryption key. Use an initialization vector (IV) of 0x4adda22c79e82105. Call the output TEMP3. 3. Reverse the order of the octets in TEMP3. That is, the most significant (first) octet is swapped with the least significant (last) octet, and so on. Call the result TEMP2. 4. Decompose the TEMP2 into IV and TEMP1. IV is the most significant (first) 8 octets, and TEMP1 is the remaining octets. 5. Decrypt TEMP1 in CBC mode using the key-encryption key. Use the IV value from the previous step as the initialization vector. Call the plaintext LCEKPADICV. 6. Decompose the LCEKPADICV into LCEKPAD, and ICV. ICV is the least significant (last) octet 8 octets. LCEKPAD is the remaining octets. 7. Compute an 8 octet key checksum value on LCEKPAD as described above in Section 2. If the computed key checksum value does not match the decrypted key checksum value, ICV, then error. 8. Decompose the LCEKPAD into LENGTH, CEK, and PAD. LENGTH is the most significant (first) octet. CEK is the following LENGTH octets. PAD is the remaining octets, if any. 9. If the length of PAD is more than 7 octets, then error. 10. Use CEK as an RC2 key.

1.ラップされた鍵は8つのオクテット、エラーの倍数でない場合。 2.キー暗号化キーを使用してCBCモードでラップされた鍵を復号化。 0x4adda22c79e82105の初期化ベクトル(IV)を使用します。出力TEMP3を呼び出します。 3. TEMP3のオクテットの順序を逆にします。それは最も重要な(最初の)オクテットはそうで最下位(最後)のオクテットと交換、およびされています。結果TEMP2を呼び出します。 4. IVとTEMP1にTEMP2を分解する。 IVは、最も重要な(最初の)8つのオクテットで、TEMP1は、残りのオクテットです。 5.キー暗号化キーを使用してCBCモードでTEMP1を復号化。初期化ベクトルとして前のステップからIV値を使用します。平文LCEKPADICVを呼び出します。 6. LCEKPAD、およびICVにLCEKPADICVを分解する。 ICVは最下位(最後の)オクテット8つのオクテットです。 LCEKPADは、残りのオクテットです。 7.計算LCEKPADに8オクテットキーチェックサム値を計算キーチェックサム値を復号鍵チェックサム値、ICV、エラーと一致しない場合、セクション2で説明したように。 8. LENGTH、CEK、パッドにLCEKPADを分解する。 LENGTHは、最も重要な(最初の)オクテットです。 CEKは、以下のLENGTHオクテットです。もしあればPADが、残りのオクテットです。 9.パッドの長さが7つの以上のオクテット、エラーである場合。 RC2キーとして10. CEK。

4.3 RC2 Key Wrap Algorithm Identifier
4.3 RC2キーラップアルゴリズム識別子

Some security protocols employ ASN.1 [X.208-88, X.209-88], and these protocols employ algorithm identifiers to name cryptographic algorithms. To support these protocols, the RC2 key wrap algorithm has been assigned the following algorithm identifier:

いくつかのセキュリティプロトコルは、ASN.1 [X.208-88、X.209-88]を採用し、これらのプロトコルは、暗号化アルゴリズムに名前を付けるためにアルゴリズム識別子を採用しています。これらのプロトコルをサポートするには、RC2キーラップアルゴリズムは、以下のアルゴリズム識別子が割り当てられています。

      id-alg-CMSRC2wrap OBJECT IDENTIFIER ::= { iso(1) member-body(2)
         us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) alg(3) 7 }
        

The AlgorithmIdentifier parameter field MUST be RC2wrapParameter:

AlgorithmIdentifierパラメータフィールドはRC2wrapParameterでなければなりません。

      RC2wrapParameter ::= RC2ParameterVersion
        
      RC2ParameterVersion ::= INTEGER
        

The RC2 effective-key-bits (key size) greater than 32 and less than 256 is encoded in the RC2ParameterVersion. For the effective-key-bits of 40, 64, and 128, the rc2ParameterVersion values are 160, 120, and 58 respectively. These values are not simply the RC2 key length. Note that the value 160 must be encoded as two octets (00 A0), because the one octet (A0) encoding represents a negative number.

RC2有効なキービット(キーサイズ)32より大きく256未満はRC2ParameterVersionで符号化されます。 40、64、及び128の実効キー・ビットについて、rc2ParameterVersion値は、それぞれ160、120、および58です。これらの値は、単にRC2キーの長さではありません。 1つのオクテット(A0)符号が負の数を表すための値160は、2つのオクテット(00 A0)として符号化されなければならないことに留意されたいです。

4.4 RC2 Key Wrap Example
4.4 RC2キーラップの例

This section contains a RC2 Key Wrap example. Intermediate values corresponding to the named items in section 4.1 are given in hexadecimal.

このセクションでは、RC2キーラップの例が含まれています。セクション4.1で指定された項目に対応する中間値は16進で与えられます。

CEK: b70a 25fb c9d8 6a86 050c e0d7 11ea d4d9 KEK: fd04 fd08 0607 07fb 0003 feff fd02 fe05 LENGTH: 10 LCEK: 10b7 0a25 fbc9 d86a 8605 0ce0 d711 ead4 d9 PAD: 4845 cce7 fd12 50 LCEKPAD: 10b7 0a25 fbc9 d86a 8605 0ce0 d711 ead4 d948 45cc e7fd 1250 ICV: 0a6f f19f db40 4988 LCEKPADICV: 10b7 0a25 fbc9 d86a 8605 0ce0 d711 ead4 d948 45cc e7fd 1250 0a6f f19f db40 4988 IV: c7d9 0059 b29e 97f7 TEMP1: a01d a259 3793 1260 e48c 55f5 04ce 70b8 ac8c d79e ffe8 9932 9fa9 8a07 a31f f7a7 TEMP2: c7d9 0059 b29e 97f7 a01d a259 3793 1260 e48c 55f5 04ce 70b8 ac8c d79e ffe8 9932 9fa9 8a07 a31f f7a7 TEMP3: a7f7 1fa3 078a a99f 3299 8eff 9ed7 8cac b870 ce04 f555 8ce4 6012 9337 59a2 1da0 f797 9eb2 5900 d9c7 RESULT: 70e6 99fb 5701 f783 3330 fb71 e87c 85a4 20bd c99a f05d 22af 5a0e 48d3 5f31 3898 6cba afb4 b28d 4f35

CEK:b70a 25fb c9d8 6a86 050c e0d7 11ea d4d9 KEK:FD04 fd08 0607 07fb 0003 FEFF FD02 FE05 LENGTH:10 LCEK:10b7 0a25 fbc9 d86a 8605 0ce0 D711 ead4 D9 PAD:4845 cce7のFD12 50 LCEKPAD:10b7 0a25 fbc9 d86a 8605 0ce0 D711 ead4 0a6f f19fのDB40 4988 LCEKPADICV:10b7 0a25 fbc9 d86a 8605 0ce0 D711 ead4 d948 45cc e7fd 1250 0a6fのf19fのDB40 4988 IV:c7d9 0059 B29E 97f7 TEMP1:A01D A259 3793 1260 e48c 55f5 04ce 70b8 ac8c d79e ffe8 9932 9fa9 8a07 d948の45ccは1250 ICVをe7fd a31f f7a7のTEMP2:c7d9 0059 B29E 97f7 A01D A259 3793 1260 e48c 55f5 04ce 70b8 ac8c d79e ffe8 9932 9fa9 8a07 a31f f7a7 TEMP3:a7f7 1fa3 078a a99f 3299 8eff 9ed7 8cac b870 ce04 F555 8ce4 6012 9337 59a2 1da0 f797 9eb2 5900 d9c7結果:70e6の99fb 5701 f783 3330 fb71のe87c 85a4 20bd c99a f05d 22af 5a0e 48d3 5f31 3898 6cba afb4 B28D 4f35

5 References

5つの参考文献

[3DES] American National Standards Institute. ANSI X9.52-1998, Triple Data Encryption Algorithm Modes of Operation. 1998.

[3DES]米国規格協会。 ANSI X9.52-1998、オペレーションのトリプルデータ暗号化アルゴリズムモード。 1998。

[CMS] Housley, R., "Cryptographic Message Syntax", RFC 2630, June 1999.

[CMS] Housley氏、R.、 "暗号メッセージ構文"、RFC 2630、1999年6月。

[DES] American National Standards Institute. ANSI X3.106, "American National Standard for Information Systems - Data Link Encryption". 1983.

[DES]米国規格協会。 ANSI X3.106、「情報システムのためのアメリカ国立標準 - データリンク暗号化」。 1983。

[DH-X9.42] Rescorla, E., "Diffie-Hellman Key Agreement Method", RFC 2631, June 1999.

[DH-X9.42]レスコラ、E.、 "ディフィー・ヘルマン鍵共有方式"、RFC 2631、1999年6月。

[DSS] National Institute of Standards and Technology. FIPS Pub 186: Digital Signature Standard. 19 May 1994.

標準技術[DSS]国立研究所。 FIPSパブ186:デジタル署名標準。 1994年5月19日。

[MODES] National Institute of Standards and Technology. FIPS Pub 81: DES Modes of Operation. 2 December 1980.

[MODES]米国国立標準技術研究所が。 FIPSパブ81:DES運転モード。 1980年12月2日。

[RANDOM] Eastlake, D., Crocker, S. and J. Schiller, "Randomness Recommendations for Security", RFC 1750, December 1994.

[RANDOM]イーストレイク、D.、クロッカー、S.とJ.シラー、 "セキュリティのためのランダム性に関する推奨事項"、RFC 1750、1994年12月。

[RC2] Rivest, R., "A Description of the RC2 (r) Encryption Algorithm", RFC 2268, March 1998.

[RC2]リベスト、R.、 "RC2(R)暗号化アルゴリズムの説明"、RFC 2268、1998年3月。

[SHA1] National Institute of Standards and Technology. FIPS Pub 180-1: Secure Hash Standard. 17 April 1995.

[SHA1]アメリカ国立標準技術研究所。 FIPSパブ180-1:セキュアハッシュ標準。 1995年4月17日。

[STDWORDS] Bradner, S., "Key Words for Use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[STDWORDS]ブラドナーの、S.、 "要件レベルを示すためにRFCsにおける使用のためのキーワード"、BCP 14、RFC 2119、1997年3月。

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

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

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

【X.209-88] CCITT。勧告X. 209:抽象構文記法1(ASN.1)のための基本的な符号化規則の仕様。 1988。

6 Security Considerations

6セキュリティについての考慮事項

Implementations must protect the key-encryption key. Compromise of the key-encryption key may result in the disclosure of all keys that have been wrapped with the key-encryption key, which may lead to the disclosure of all traffic protected with those wrapped key.

実装は、キー暗号化キーを保護しなければなりません。キー暗号化キーの妥協点は、これらのラップされた鍵で保護されるすべてのトラフィックが漏洩する可能性があり、キー暗号化キーでラップされているすべてのキーの開示をもたらすことができます。

Implementations must randomly generate initialization vectors (IVs) and padding. The generation of quality random numbers is difficult. RFC 1750 [RANDOM] offers important guidance in this area, and Appendix 3 of FIPS Pub 186 [DSS] provides one quality PRNG technique.

実装はランダムに初期化ベクトル(IV)とパディングを生成する必要があります。品質の乱数の生成が困難です。 RFC 1750 [RANDOM]はこの領域で重要な指導を提供し、FIPSパブ186の付録3 [DSS]は1つの品質PRNGの技術を提供します。

If the key-encryption key and wrapped key are associated with different symmetric encryption algorithms, the effective security provided to data encrypted with the wrapped key is determined by the weaker of the two algorithms. If, for example, data is encrypted with 168-bit Triple-DES and that Triple-DES key is wrapped with a 40-bit RC2 key, then at most 40 bits of protection is provided. A trivial search to determine the value of the 40-bit RC2 key can recover Triple-DES key, and then the Triple-DES key can be used to decrypt the content. Therefore, implementers must ensure that key-encryption algorithms are as strong or stronger than content-encryption algorithms.

鍵暗号化鍵とラップされた鍵は、異なる対称暗号化アルゴリズムに関連付けられている場合、ラップされた鍵で暗号化されたデータに提供有効なセキュリティは、2つのアルゴリズムの弱いによって決定されます。場合、例えば、データは、168ビットトリプルDESで暗号化され、そのトリプルDESキーは40ビットRC2鍵でラップされ、その後、保護の最大で40ビットが提供されます。 40ビットのRC2キーの値を決定するために些細な検索は、トリプルDES鍵を回復することができ、その後、トリプルDES鍵はコンテンツを復号するために使用することができます。そのため、実装者は、キー暗号化アルゴリズムがように強いか、コンテンツの暗号化アルゴリズムよりも強いことを確認する必要があります。

These key wrap algorithms specified in this document have been reviewed for use with Triple-DES and RC2, and they have not been reviewed for use with other encryption algorithms. Similarly, the key wrap algorithms make use of CBC mode [MODES], and they have not been reviewed for use with other cryptographic modes.

この文書で指定されたこれらのキーラップアルゴリズムがトリプルDESやRC2で使用するために検討されている、と彼らは他の暗号化アルゴリズムで使用するために検討されていません。同様に、キーラップアルゴリズムはCBCモード[MODES]を利用して、それらは他の暗号モードで使用するために検討されていません。

7 Acknowledgments

7つの謝辞

This document is the result of contributions from many professionals. I appreciate the hard work of all members of the IETF S/MIME Working Group. I extend a special thanks to Carl Ellison, Peter Gutmann, Bob Jueneman, Don Johnson, Burt Kaliski, John Pawling, and Jim Schaad for their support in defining these algorithms and generating this specification.

この文書は、多くの専門家からの貢献の結果です。私は、IETF S / MIME作業部会のメンバー全員のハードワークに感謝します。私はこれらのアルゴリズムを定義し、この仕様を生成する際に彼らのサポートのためのカール・エリソン、ピーター・ガットマン、ボブ・Jueneman、ドン・ジョンソン、バート・カリスキー、ジョンPawling、およびジムSchaadに特別な感謝を拡張します。

8 Author Address

8著者住所

Russell Housley RSA Laboratories 918 Spring Knoll Drive Herndon, VA 20170 USA

ラッセルHousleyのRSA Laboratories社918春小山Driveハーンドン、VA 20170 USA

EMail: rhousley@rsasecurity.com

メールアドレス:rhousley@rsasecurity.com

9 Full Copyright Statement

9完全な著作権声明

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

著作権(C)インターネット協会(2001)。全著作権所有。

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

この文書とその翻訳は、コピーして他の人に提供し、それ以外についてはコメントまたは派生物は、いかなる種類の制限もなく、全体的にまたは部分的に、準備コピーし、公表して配布することができることを説明したり、その実装を支援することができます、上記の著作権表示とこの段落は、すべてのそのようなコピーや派生物に含まれていることを条件とします。しかし、この文書自体は著作権のための手順はで定義されている場合には、インターネット標準を開発するために必要なものを除き、インターネットソサエティもしくは他のインターネット関連団体に著作権情報や参照を取り除くなど、どのような方法で変更されないかもしれませんインターネット標準化プロセスが続く、または英語以外の言語に翻訳するために、必要に応じなければなりません。

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

上記の制限は永久で、インターネット学会やその後継者や譲渡者によって取り消されることはありません。

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

この文書とここに含まれている情報は、基礎とインターネットソサエティおよびインターネットエンジニアリングタスクフォースはすべての保証を否認し、明示または黙示、その情報の利用がない任意の保証を含むがこれらに限定されない「として、」上に設けられています特定の目的への権利または商品性または適合性の黙示の保証を侵害します。

Acknowledgement

謝辞

Funding for the RFC Editor function is currently provided by the Internet Society.

RFC Editor機能のための基金は現在、インターネット協会によって提供されます。