[要約] RFC 9337 は、PKCS #5 を使用してロシアの国家標準であるGOSTアルゴリズムを用いてパスワードから対称鍵を生成する方法を規定しています。この仕様はIETF外で開発され、GOSTアルゴリズムをサポートする相互運用可能な実装を促進することを目的として公開されています。

Independent Submission                                  E. Karelina, Ed.
Request for Comments: 9337                                      InfoTeCS
Category: Informational                                    December 2022
ISSN: 2070-1721
        

Generating Password-Based Keys Using the GOST Algorithms

GOSTアルゴリズムを使用してパスワードベースのキーを生成します

Abstract

概要

This document specifies how to use "PKCS #5: Password-Based Cryptography Specification Version 2.1" (RFC 8018) to generate a symmetric key from a password in conjunction with the Russian national standard GOST algorithms.

このドキュメントは、「PKCS#5:パスワードベースの暗号化仕様バージョン2.1」(RFC 8018)を使用して、ロシアの国家標準GOSTアルゴリズムと併せてパスワードから対称キーを生成する方法を指定しています。

PKCS #5 applies a Pseudorandom Function (PRF) -- a cryptographic hash, cipher, or Hash-Based Message Authentication Code (HMAC) -- to the input password along with a salt value and repeats the process many times to produce a derived key.

PKCS#5は、擬似ランダム関数(PRF)を適用します - 暗号化ハッシュ、暗号、またはハッシュベースのメッセージ認証コード(HMAC) - を入力パスワードとともに塩値とともに入力パスワードにし、プロセスを何度も繰り返して派生キーを生成します。

This specification has been developed outside the IETF. The purpose of publication being to facilitate interoperable implementations that wish to support the GOST algorithms. This document does not imply IETF endorsement of the cryptographic algorithms used here.

この仕様は、IETFの外側で開発されています。出版の目的は、GOSTアルゴリズムをサポートしたい相互運用可能な実装を促進することです。このドキュメントは、ここで使用される暗号化アルゴリズムのIETF承認を意味するものではありません。

Status of This Memo

本文書の位置付け

This document is not an Internet Standards Track specification; it is published for informational purposes.

このドキュメントは、インターネット標準の追跡仕様ではありません。情報目的で公開されています。

This is a contribution to the RFC Series, independently of any other RFC stream. The RFC Editor has chosen to publish this document at its discretion and makes no statement about its value for implementation or deployment. Documents approved for publication by the RFC Editor are not candidates for any level of Internet Standard; see Section 2 of RFC 7841.

これは、他のRFCストリームとは無関係に、RFCシリーズへの貢献です。RFCエディターは、このドキュメントの裁量でこのドキュメントを公開することを選択しており、実装または展開に対する価値について声明を発表しません。RFCエディターによって公開が承認されたドキュメントは、インターネット標準のレベルの候補者ではありません。RFC 7841のセクション2を参照してください。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc9337.

このドキュメントの現在のステータス、任意のERRATA、およびそのフィードバックを提供する方法に関する情報は、https://www.rfc-editor.org/info/rfc9337で取得できます。

Copyright Notice

著作権表示

Copyright (c) 2022 IETF Trust and the persons identified as the document authors. All rights reserved.

著作権(c)2022 IETF Trustおよび文書著者として特定された人。全著作権所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document.

このドキュメントは、BCP 78およびIETFドキュメント(https://trustee.ietf.org/license-info)に関連するIETF Trustの法的規定の対象となります。この文書に関するあなたの権利と制限を説明するので、これらの文書を注意深く確認してください。

Table of Contents

目次

   1.  Introduction
   2.  Conventions Used in This Document
   3.  Basic Terms and Definitions
   4.  Algorithm for Generating a Key from a Password
   5.  Data Encryption
     5.1.  GOST R 34.12-2015 Data Encryption
       5.1.1.  Encryption
       5.1.2.  Decryption
   6.  Message Authentication
     6.1.  MAC Generation
     6.2.  MAC Verification
   7.  Identifiers and Parameters
     7.1.  PBKDF2
     7.2.  PBES2
     7.3.  Identifier and Parameters of Gost34.12-2015 Encryption
           Scheme
     7.4.  PBMAC1
   8.  Security Considerations
   9.  IANA Considerations
   10. References
     10.1.  Normative References
     10.2.  Informative References
   Appendix A.  PBKDF2 HMAC_GOSTR3411 Test Vectors
   Acknowledgments
   Author's Address
        
1. Introduction
1. はじめに

This document provides a specification of usage of GOST R 34.12-2015 encryption algorithms and the GOST R 34.11-2012 hashing functions with PKCS #5. The methods described in this document are designed to generate key information using the user's password and to protect information using the generated keys.

このドキュメントは、PKCS#5を使用したGOST R 34.12-2015暗号化アルゴリズムとGOST R 34.11-2012のハッシュ関数の使用の仕様を提供します。このドキュメントで説明されている方法は、ユーザーのパスワードを使用してキー情報を生成し、生成されたキーを使用して情報を保護するように設計されています。

2. Conventions Used in This Document
2. このドキュメントで使用されている規則

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

この文書のキーワード "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", および "OPTIONAL" はBCP 14 [RFC2119] [RFC8174]で説明されているように、すべて大文字の場合にのみ解釈されます。

3. Basic Terms and Definitions
3. 基本的な用語と定義

Throughout this document, the following notation is used:

このドキュメント全体で、次の表記が使用されます。

     +==========+====================================================+
     | Notation | Definition                                         |
     +==========+====================================================+
     | P        | a password encoded as a Unicode UTF-8 string       |
     +----------+----------------------------------------------------+
     | S        | a random initializing value                        |
     +----------+----------------------------------------------------+
     | c        | a number of iterations of algorithm, a positive    |
     |          | integer                                            |
     +----------+----------------------------------------------------+
     | dkLen    | a length in octets of derived key, a positive      |
     |          | integer                                            |
     +----------+----------------------------------------------------+
     | DK       | a derived key of length dkLen                      |
     +----------+----------------------------------------------------+
     | B_n      | a set of all octet strings of length n, n >= 0; if |
     |          | n = 0, then the set B_n consists of an empty       |
     |          | string of length 0                                 |
     +----------+----------------------------------------------------+
     | A||C     | a concatenation of two octet strings A, C, i.e., a |
     |          | vector from B_(|A|+|C|), where the left subvector  |
     |          | from B_(|A|) is equal to the vector A and the      |
     |          | right subvector from B_(|C|) is equal to the       |
     |          | vector C: A = (a_(n_1),...,a_1) in B_(n_1) and C = |
     |          | (c_(n_2),..., c_1) in B_(n_2), res =               |
     |          | (a_(n_1),...,a_1,c_(n_2),..., c_1) in B_(n_1+n_2)) |
     +----------+----------------------------------------------------+
     | \xor     | a bit-wise exclusive-or of two octet strings of    |
     |          | the same length                                    |
     +----------+----------------------------------------------------+
     | MSB^n_r: | a truncating of an octet string to size r by       |
     | B_n ->   | removing the least significant n-r octets:         |
     | B_r      | MSB^n_r(a_n,...,a_(n-r+1),a_(n-r),...,a_1)         |
     |          | =(a_n,...,a_(n-r+1))                               |
     +----------+----------------------------------------------------+
     | LSB^n_r: | a truncating of an octet string to size r by       |
     | B_n ->   | removing the most significant n-r octets:          |
     | B_r      | LSB^n_r(a_n,...,a_(n-r+1),a_(n-r),...,a_1)         |
     |          | =(a_r,...,a_1)                                     |
     +----------+----------------------------------------------------+
     | Int(i)   | a four-octet encoding of the integer i =< 2^32:    |
     |          | (i_1, i_2, i_3, i_4) in B_4, i = i_1 + 2^8 * i_2 + |
     |          | 2^16 * i_3 + 2^24 * i_4                            |
     +----------+----------------------------------------------------+
     | b[i, j]  | a substring extraction operator, extracts octets i |
     |          | through j, 0 =< i =< j                             |
     +----------+----------------------------------------------------+
     | CEIL(x)  | the smallest integer greater than or equal to x    |
     +----------+----------------------------------------------------+
        

Table 1: Terms and Definitions

表1:用語と定義

This document uses the following abbreviations and symbols:

このドキュメントでは、次の略語とシンボルを使用します。

    +================+===============================================+
    | Abbreviations  | Definition                                    |
    | and Symbols    |                                               |
    +================+===============================================+
    | HMAC_GOSTR3411 | Hashed-Based Message Authentication Code.  A  |
    |                | function for calculating a Message            |
    |                | Authentication Code (MAC) based on the GOST R |
    |                | 34.11-2012 hash function (see [RFC6986]) with |
    |                | 512-bit output in accordance with [RFC2104].  |
    +----------------+-----------------------------------------------+
        

Table 2: Abbreviations and Symbols

表2:略語とシンボル

4. Algorithm for Generating a Key from a Password
4. パスワードからキーを生成するためのアルゴリズム

The DK is calculated by means of a key derivation function PBKDF2 (P, S, c, dkLen) (see [RFC8018], Section 5.2) using the HMAC_GOSTR3411 function as the PRF:

DKは、hMAC_GOSTR3411関数をPRFとして使用して、キー誘導関数PBKDF2(P、S、C、DKLEN)([RFC8018]、セクション5.2を参照)によって計算されます。

DK = PBKDF2 (P, S, c, dkLen).

dk = pbkdf2(p、s、c、dklen)。

The PBKDF2 function is defined as the following algorithm:

PBKDF2関数は、次のアルゴリズムとして定義されます。

1. If dkLen > (2^32 - 1) * 64, output "derived key too long" and stop.

1. dklen>(2^32-1) * 64の場合、出力「派生キーが長すぎる」と停止します。

2. Calculate n = CEIL (dkLen / 64).

2. n = ceil(dklen / 64)を計算します。

3. Calculate a set of values for each i from 1 to n:

3. 各iの値のセットを1からnまで計算します。

U_1(i) = HMAC_GOSTR3411 (P, S || INT (i)),

u_1(i)= hmac_gostr3411(p、s || int(i))、

U_2(i) = HMAC_GOSTR3411 (P, U_1(i)),

u_2(i)= hmac_gostr3411(p、u_1(i))、

...

...

U_c(i) = HMAC_GOSTR3411 (P, U_(c-1)(i)),

u_c(i)= hmac_gostr3411(p、u_(c-1)(i))、

T(i) = U_1(i) \xor U_2(i) \xor ... \xor U_c(i).

t(i)= u_1(i)\ xor u_2(i)\ xor ... \ xor u_c(i)。

4. Concatenate the octet strings T(i) and extract the first dkLen octets to produce a derived key DK:

4. オクテット弦T(i)を連結し、最初のdklenオクテットを抽出して、導出されたキーdkを生成します。

* DK = MSB^(n * 64)_dkLen(T(1)||T(2)||...||T(n))

* dk = msb^(n * 64)_dklen(t(1)|| t(2)|| ... || t(n))

5. Data Encryption
5. データ暗号化
5.1. GOST R 34.12-2015 Data Encryption
5.1. GOST R 34.12-2015データ暗号化

Data encryption using the DK is carried out in accordance with the PBES2 scheme (see [RFC8018], Section 6.2) using GOST R 34.12-2015 in CTR_ACPKM mode (see [RFC8645]).

DKを使用したデータ暗号化は、CTR_ACPKMモードでGOST R 34.12-2015を使用して、PBES2スキーム([RFC8018]、セクション6.2を参照)に従って実行されます([RFC8645]を参照)。

5.1.1. Encryption
5.1.1. 暗号化

The encryption process for PBES2 consists of the following steps:

PBES2の暗号化プロセスは、次の手順で構成されています。

1. Select the random value S of a length from 8 to 32 octets.

1. 8〜32オクテットの長さのランダム値sを選択します。

2. Select the iteration count c depending on the conditions of use (see [GostPkcs5]). The minimum allowable value for the parameter is 1000.

2. 使用条件に応じて、反復カウントCを選択します([gostpkcs5]を参照)。パラメーターの最小許容値は1000です。

3. Set the value dkLen = 32.

3. 値dklen = 32を設定します。

4. Apply the key derivation function to the password P, the random value S, and the iteration count c to produce a derived key DK of length dkLen octets in accordance with the algorithm from Section 4. Generate the sequence T(1) and truncate it to 32 octets, i.e.,

4. キー派生関数をパスワードP、ランダム値S、および反復カウントCに適用して、セクション4のアルゴリズムに従って長さDKLENオクテットの派生キーDKを生成します。32オクテット、つまり、

DK = PBKDF2 (P, S, c, 32) = MSB^64_32(T(1)).

dk = pbkdf2(p、s、c、32)= msb^64_32(t(1))。

5. Generate the random value ukm of size n, where n takes a value of 12 or 16 octets depending on the selected encryption algorithm:

5. 選択した暗号化アルゴリズムに応じて、nはサイズnのランダム値UKMを生成します。

* GOST R 34.12-2015 "Kuznyechik" n = 16 (see [RFC7801])

* GOST R 34.12-2015 "Kuznyechik" n = 16([rfc7801]を参照)

* GOST R 34.12-2015 "Magma" n = 12 (see [RFC8891])

* GOST R 34.12-2015「マグマ」n = 12([rfc8891]を参照)

6. Set the value S' = ukm[1..n-8].

6. 値s '= ukm [1..n-8]を設定します。

7. For the id-gostr3412-2015-magma-ctracpkm and id-gostr3412-2015- kuznyechik-ctracpkm algorithms (see Section 7.3), encrypt the message M with the GOST R 34.12-2015 algorithm with the derived key DK and the random value S' to produce a ciphertext C.

7. ID-GOSTR3412-2015-MAGMA-CTRACPKMおよびID-GOSTR3412-2015-KUZNYECHIK-CTRACPKM ALGORITHMS(セクション7.3を参照)の場合(セクション7.3を参照)、GOST R 34.12-2015アルゴリズムと派生キーDKとランダム値Sを持つアルゴリズムを暗号化します。'暗号文Cを生成するには

8. For the id-gostr3412-2015-magma-ctracpkm-omac and id-gostr3412-2015-kuznyechik-ctracpkm-omac algorithms (see Section 7.3), encrypt the message M with the GOST R 34.12-2015 algorithm with the derived key DK and the ukm in accordance with the following steps:

8. ID-GOSTR3412-2015-MAGMA-CTRACPKM-OMACおよびID-GOSTR3412-2015-KUZNYECHIK-CTRACPKM-OMACアルゴリズムの場合(セクション7.3を参照)、GOST R 34.12-2015 Algorithmを使用してメッセージMを描写します。次の手順に従ってUKM:

* Generate two keys from the derived key DK using the KDF_TREE_GOSTR3411_2012_256 algorithm (see [RFC7836]):

* KDF_TREE_GOSTR3411_2012_256 ALGORITHMを使用して、派生キーDKから2つのキーを生成します([RFC7836]を参照):

encryption key K(1)

暗号化キーK(1)

MAC key K(2)

MacキーK(2)

Input parameters for the KDF_TREE_GOSTR3411_2012_256 algorithm take the following values:

KDF_TREE_GOSTR3411_2012_256 ALGORITHMの入力パラメーターは、次の値を取得します。

             K_in = DK
        

label = "kdf tree" (8 octets)

label = "kdfツリー"(8オクテット)

seed = ukm[n-7..n]

Seed = ukm [n-7..n]

             R = 1
        

The input string label above is encoded using ASCII (see [RFC0020]).

上記の入力文字列ラベルは、ASCIIを使用してエンコードされています([RFC0020]を参照)。

* Compute the MAC for the message M using the K(2) key in accordance with the GOST R 34.12-2015 algorithm. Append the computed MAC value to the message M: M||MAC.

* GOST R 34.12-2015アルゴリズムに従って、K(2)キーを使用してメッセージMのMACを計算します。計算されたMac値をメッセージM:M || MACに追加します。

* Encrypt the resulting octet string with MAC with the GOST R 34.12-2015 algorithm with the derived key K(1) and the random value S' to produce a ciphertext C.

* GOST R 34.12-2015アルゴリズムを備えたMACで結果のOctet Stringを派生キーK(1)とランダム値S 'を使用して暗号化して暗号化します。

9. Serialize the parameters S, c, and ukm as algorithm parameters in accordance with Section 7.2.

9. セクション7.2に従って、アルゴリズムパラメーターとしてパラメーターS、C、およびUKMをシリアル化します。

5.1.2. Decryption
5.1.2. 復号化

The decryption process for PBES2 consists of the following steps:

PBES2の復号化プロセスは、次の手順で構成されています。

1. Set the value dkLen = 32.

1. 値dklen = 32を設定します。

2. Apply the key derivation function PBKDF2 to the password P, the random value S, and the iteration count c to produce a derived key DK of length dkLen octets in accordance with the algorithm from Section 4. Generate the sequence T(1) and truncate it to 32 octets, i.e., DK = PBKFD2 (P, S, c, 32) = MSB^64_32(T(1)).

2. キー派生関数PBKDF2をパスワードP、ランダム値s、および反復カウントCに適用して、セクション4からのアルゴリズムに従って派生キーDKの派生キーDKを生成します。32オクテット、つまりdk = pbkfd2(p、s、c、32)= msb^64_32(t(1))。

3. Set the value S' = ukm[1..n-8], where n is the size of ukm in octets.

3. 値s '= ukm [1..n-8]を設定します。ここで、nはオクテットのUKMのサイズです。

4. For the id-gostr3412-2015-magma-ctracpkm and id-gostr3412-2015- kuznyechik-ctracpkm algorithms (see Section 7.3), decrypt the ciphertext C with the GOST R 34.12-2015 algorithm with the derived key DK and the random value S' to produce the message M.

4. ID-GOSTR3412-2015-MAGMA-CTRACPKMおよびID-GOSTR3412-2015-KUZNYECHIK-CTRACPKM ALGORITHMS(セクション7.3を参照)の場合(セクション7.3を参照)、GOST R 34.12-2015アルゴリズムで暗号文Cを復号化します。'メッセージを作成するためにM.

5. For id-gostr3412-2015-magma-ctracpkm-omac and id-gostr3412-2015- kuznyechik-ctracpkm-omac algorithms (see Section 7.3), decrypt the ciphertext C with the GOST R 34.12-2015 algorithm with the derived key DK and the ukm in accordance with the following steps:

5. ID-GOSTR3412-2015-MAGMA-CTRACPKM-OMACおよびID-GOSTR3412-2015-KUZNYECHIK-CTRACPKM-OMACアルゴリズム(セクション7.3を参照)、GOST R 34.12-2015 ALGORITHMを使用してCIPHERTEXT CをDKでdKを装備したCiphertext Cを復pritします。次の手順に従ってUKM:

* Generate two keys from the derived key DK using the KDF_TREE_GOSTR3411_2012_256 algorithm:

* KDF_TREE_GOSTR3411_2012_256アルゴリズムを使用して、派生キーDKから2つのキーを生成します。

encryption key K(1)

暗号化キーK(1)

MAC key K(2)

MacキーK(2)

Input parameters for the KDF_TREE_GOSTR3411_2012_256 algorithm take the following values:

KDF_TREE_GOSTR3411_2012_256 ALGORITHMの入力パラメーターは、次の値を取得します。

             K_in = DK
        

label = "kdf tree" (8 octets)

label = "kdfツリー"(8オクテット)

seed = ukm[n-7..n]

Seed = ukm [n-7..n]

             R = 1
        

The input string label above is encoded using ASCII (see [RFC0020]).

上記の入力文字列ラベルは、ASCIIを使用してエンコードされています([RFC0020]を参照)。

* Decrypt the ciphertext C with the GOST R 34.12-2015 algorithm with the derived key K(1) and the random value S' to produce the plaintext. The last k octets of the text are the MAC, where k depends on the selected encryption algorithm.

* GOST R 34.12-2015アルゴリズムで暗号文Cを導出されたキーK(1)とランダム値s 'を使用して復号化して、プレーンテキストを生成します。テキストの最後のkオクテットはMacです。ここで、Kは選択した暗号化アルゴリズムに依存します。

* Compute the MAC for the text[1..m - k] using the K(2) key in accordance with GOST R 34.12-2015 algorithm, where m is the size of text.

* GOST R 34.12-2015アルゴリズムに従って、K(2)キーを使用してテキスト[1..M -K]を使用してMACを計算します。ここで、Mはテキストのサイズです。

* Compare the computing MAC and the receiving MAC. If the sizes or values do not match, the message is distorted.

* コンピューティングMACと受信MACを比較します。サイズまたは値が一致しない場合、メッセージは歪んでいます。

6. Message Authentication
6. メッセージ認証

The PBMAC1 scheme is used for message authentication (see [RFC8018], Section 7.1). This scheme is based on the HMAC_GOSTR3411 function.

PBMAC1スキームは、メッセージ認証に使用されます([RFC8018]、セクション7.1を参照)。このスキームは、HMAC_GOSTR3411関数に基づいています。

6.1. MAC Generation
6.1. Mac Generation

The MAC generation operation for PBMAC1 consists of the following steps:

PBMAC1のMAC生成操作は、次の手順で構成されています。

1. Select the random value S of a length from 8 to 32 octets.

1. 8〜32オクテットの長さのランダム値sを選択します。

2. Select the iteration count c depending on the conditions of use (see [GostPkcs5]). The minimum allowable value for the parameter is 1000.

2. 使用条件に応じて、反復カウントCを選択します([gostpkcs5]を参照)。パラメーターの最小許容値は1000です。

3. Set the dkLen to at least 32 octets. The number of octets depends on previous parameter values.

3. dklenを少なくとも32オクテットに設定します。オクテットの数は、以前のパラメーター値に依存します。

4. Apply the key derivation function to the password P, the random value S, and the iteration count c to generate a sequence K of length dkLen octets in accordance with the algorithm from Section 4.

4. キー導出関数をパスワードP、ランダム値S、および反復カウントCに適用して、セクション4のアルゴリズムに従って長さDKLENオクテットのシーケンスkを生成します。

5. Truncate the sequence K to 32 octets to get the derived key DK, i.e., DK = LSB^dkLen_32(K).

5. シーケンスkを32オクテットに切り捨てて、導出されたキーdk、つまりdk = lsb^dklen_32(k)を取得します。

6. Process the message M with the underlying message authentication scheme with the derived key DK to generate a message authentication code T.

6. 派生キーDKを使用して基礎となるメッセージ認証スキームでメッセージmを処理して、メッセージ認証コードTを生成します。

7. Save the parameters S and c as algorithm parameters in accordance with Section 7.4.

7. セクション7.4に従って、パラメーターSおよびCをアルゴリズムパラメーターとして保存します。

6.2. MAC Verification
6.2. Mac検証

The MAC verification operation for PBMAC1 consists of the following steps:

PBMAC1のMAC検証操作は、次の手順で構成されています。

1. Set the dkLen to at least 32 octets. The number of octets depends on previous parameter values.

1. dklenを少なくとも32オクテットに設定します。オクテットの数は、以前のパラメーター値に依存します。

2. Apply the key derivation function to the password P, the random value S, and the iteration count c to generate a sequence K of length dkLen octets in accordance with the algorithm from Section 4.

2. キー導出関数をパスワードP、ランダム値S、および反復カウントCに適用して、セクション4のアルゴリズムに従って長さDKLENオクテットのシーケンスkを生成します。

3. Truncate the sequence K to 32 octets to get the derived key DK, i.e., DK = LSB^dkLen_32(K).

3. シーケンスkを32オクテットに切り捨てて、導出されたキーdk、つまりdk = lsb^dklen_32(k)を取得します。

4. Process the message M with the underlying message authentication scheme with the derived key DK to generate a MAC.

4. MACを生成するために派生キーDKを使用して、基礎となるメッセージ認証スキームを使用してメッセージmを処理します。

5. Compare the computing MAC and the receiving MAC. If the sizes or values do not match, the message is distorted.

5. コンピューティングMACと受信MACを比較します。サイズまたは値が一致しない場合、メッセージは歪んでいます。

7. Identifiers and Parameters
7. 識別子とパラメーター

This section defines the ASN.1 syntax for the key derivation functions, the encryption schemes, the message authentication scheme, and supporting techniques (see [RFC8018]).

このセクションでは、キー導入関数のASN.1構文、暗号化スキーム、メッセージ認証スキーム、およびサポート手法の構文を定義します([RFC8018]を参照)。

   rsadsi OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) 113549 }
   pkcs OBJECT IDENTIFIER ::= { rsadsi 1 }
   pkcs-5 OBJECT IDENTIFIER ::= { pkcs 5 }
        
7.1. PBKDF2
7.1. PBKDF2

The Object Identifier (OID) id-PBKDF2 identifies the PBKDF2 key derivation function:

オブジェクト識別子(OID)ID-PBKDF2は、PBKDF2キー派生関数を識別します。

   id-PBKDF2 OBJECT IDENTIFIER ::= { pkcs-5 12 }
        

The parameters field associated with this OID in an AlgorithmIdentifier SHALL have type PBKDF2-params:

このOIDに関連付けられたアルゴリズムIdentifierのパラメーターフィールドには、タイプPBKDF2-PARAMSが必要です。

   PBKDF2-params ::= SEQUENCE
   {
       salt            CHOICE
       {
           specified       OCTET STRING,
           otherSource     AlgorithmIdentifier {{PBKDF2-SaltSources}}
       },
       iterationCount  INTEGER (1000..MAX),
       keyLength       INTEGER (32..MAX) OPTIONAL,
       prf             AlgorithmIdentifier {{PBKDF2-PRFs}}
   }
        

The fields of type PBKDF2-params have the following meanings:

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

* salt contains the random value S in OCTET STRING.

* 塩には、オクテット文字列のランダム値が含まれています。

* iterationCount specifies the iteration count c.

* IterationCount反復カウントcを指定します。

* keyLength is the length of the derived key in octets. It is an optional field for the PBES2 scheme since it is always 32 octets. It MUST be present for the PBMAC1 scheme and MUST be at least 32 octets since the HMAC_GOSTR3411 function has a variable key size.

* KeyLengthは、オクテットの派生キーの長さです。PBES2スキームは常に32オクテットであるため、オプションのフィールドです。PBMAC1スキームには存在する必要があり、HMAC_GOSTR3411関数のキーサイズは可変であるため、少なくとも32オクテットでなければなりません。

* prf identifies the pseudorandom function. The identifier value MUST be id-tc26-hmac-gost-3411-12-512 and the parameters value must be NULL:

* PRFは、疑似ランダム関数を識別します。識別子値はID-TC26-HMAC-GOST-3411-12-512でなければならず、パラメーター値はnullでなければなりません。

   id-tc26-hmac-gost-3411-12-512 OBJECT IDENTIFIER ::=
   {
       iso(1) member-body(2) ru(643) reg7(7)
       tk26(1) algorithms(1) hmac(4) 512(2)
   }
        
7.2. PBES2
7.2. PBES2

The OID id-PBES2 identifies the PBES2 encryption scheme:

OID ID-PBES2は、PBES2暗号化スキームを識別します。

   id-PBES2 OBJECT IDENTIFIER ::= { pkcs-5 13 }
        

The parameters field associated with this OID in an AlgorithmIdentifier SHALL have type PBES2-params:

AlgorithmidentifierのこのOIDに関連付けられたパラメーターフィールドには、タイプPBES2-PARAMSが必要です。

   PBES2-params ::= SEQUENCE
   {
       keyDerivationFunc   AlgorithmIdentifier { { PBES2-KDFs } },
       encryptionScheme    AlgorithmIdentifier { { PBES2-Encs } }
   }
        

The fields of type PBES2-params have the following meanings:

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

* keyDerivationFunc identifies the key derivation function in accordance with Section 7.1.

* KeyDedivationFUNCは、セクション7.1に従って重要な導出関数を識別します。

* encryptionScheme identifies the encryption scheme in accordance with Section 7.3.

* encryptionschemeは、セクション7.3に従って暗号化スキームを識別します。

7.3. Identifier and Parameters of Gost34.12-2015 Encryption Scheme
7.3. GOST34.12-2015暗号化スキームの識別子とパラメーター

The Gost34.12-2015 encryption algorithm identifier SHALL take one of the following values:

GOST34.12-2015暗号化アルゴリズム識別子は、次の値のいずれかを取得するものとします。

   id-gostr3412-2015-magma-ctracpkm OBJECT IDENTIFIER ::=
   {
       iso(1) member-body(2) ru(643) rosstandart(7)
       tc26(1) algorithms(1) cipher(5)
       gostr3412-2015-magma(1) mode-ctracpkm(1)
   }
        

When the id-gostr3412-2015-magma-ctracpkm identifier is used, the data is encrypted by the GOST R 34.12-2015 Magma cipher in CTR_ACPKM mode in accordance with [RFC8645]. The block size is 64 bits and the section size is fixed within a specific protocol based on the requirements of the system capacity and the key lifetime.

ID-GOSTR3412-2015-MAGMA-CTRACPKM識別子を使用すると、データは[RFC8645]に従ってCTR_ACPKMモードのGOST R 34.12-2015 MAGMA暗号によって暗号化されます。ブロックサイズは64ビットで、セクションサイズは、システム容量と主要な寿命の要件に基づいて特定のプロトコル内で固定されています。

   id-gostr3412-2015-magma-ctracpkm-omac OBJECT IDENTIFIER ::=
   {
       iso(1) member-body(2) ru(643) rosstandart(7)
       tc26(1) algorithms(1) cipher(5)
       gostr3412-2015-magma(1) mode-ctracpkm-omac(2)
   }
        

When the id-gostr3412-2015-magma-ctracpkm-omac identifier is used, the data is encrypted by the GOST R 34.12-2015 Magma cipher in CTR_ACPKM mode in accordance with [RFC8645] and the MAC is computed by the GOST R 34.12-2015 Magma cipher in MAC mode (MAC size is 64 bits). The block size is 64 bits and the section size is fixed within a specific protocol based on the requirements of the system capacity and the key lifetime.

ID-GOSTR3412-2015-MAGMA-CTRACPKM-OMAC識別子が使用されると、データは[RFC8645]に従ってCTR_ACPKMモードのGOST R 34.12-2015 MAGMA Cipherによって暗号化され、GOST R 34.12-のMACによって計算されます。MACモードの2015マグマ暗号(Macサイズは64ビット)。ブロックサイズは64ビットで、セクションサイズは、システム容量と主要な寿命の要件に基づいて特定のプロトコル内で固定されています。

   id-gostr3412-2015-kuznyechik-ctracpkm OBJECT IDENTIFIER ::=
   {
       iso(1) member-body(2) ru(643) rosstandart(7)
       tc26(1) algorithms(1) cipher(5)
       gostr3412-2015-kuznyechik(2) mode-ctracpkm(1)
   }
        

When the id-gostr3412-2015-kuznyechik-ctracpkm identifier is used, the data is encrypted by the GOST R 34.12-2015 Kuznyechik cipher in CTR_ACPKM mode in accordance with [RFC8645]. The block size is 128 bits and the section size is fixed within a specific protocol based on the requirements of the system capacity and the key lifetime.

ID-GOSTR3412-2015-KUZNYECHIK-CTRACPKM識別子を使用すると、データは[RFC8645]に従ってCTR_ACPKMモードのGOST R 34.12-2015 Kuznyechik cipherによって暗号化されます。ブロックサイズは128ビットで、セクションサイズは、システム容量と主要な寿命の要件に基づいて特定のプロトコル内で固定されています。

   id-gostr3412-2015-kuznyechik-ctracpkm-omac OBJECT IDENTIFIER ::=
   {
       iso(1) member-body(2) ru(643) rosstandart(7)
       tc26(1) algorithms(1) cipher(5)
       gostr3412-2015-kuznyechik(2) mode-ctracpkm-omac(2)
   }
        

When the id-gostr3412-2015-kuznyechik-ctracpkm-omac identifier is used, the data is encrypted by the GOST R 34.12-2015 Kuznyechik cipher in CTR_ACPKM mode in accordance with [RFC8645] and MAC is computed by the GOST R 34.12-2015 Kuznyechik cipher in MAC mode (MAC size is 128 bits). The block size is 128 bits and the section size is fixed within a specific protocol based on the requirements of the system capacity and the key lifetime.

ID-GOSTR3412-2015-KUZNYECHIK-CTRACPKM-OMAC識別子が使用されると、データはGOST R 34.12-2015によって暗号化されます。MacモードのKuznyechik cipher(Macサイズは128ビット)。ブロックサイズは128ビットで、セクションサイズは、システム容量と主要な寿命の要件に基づいて特定のプロトコル内で固定されています。

The parameters field in an AlgorithmIdentifier SHALL have type Gost3412-15-Encryption-Parameters:

Algorithmidentifierのパラメーターフィールドには、型GOST3412-15-Incryption-Parametersを持つものとします。

   Gost3412-15-Encryption-Parameters ::= SEQUENCE
   {
       ukm OCTET STRING
   }
        

The field of type Gost3412-15-Encryption-Parameters have the following meanings:

型GOST3412-15-Incryption-Parametersのフィールドには、次の意味があります。

* ukm MUST be present and MUST contain n octets. Its value depends on the selected encryption algorithm:

* UKMは存在する必要があり、nオクテットを含む必要があります。その値は、選択した暗号化アルゴリズムに依存します。

- GOST R 34.12-2015 "Kuznyechik" n = 16 (see [RFC7801])

- GOST R 34.12-2015 "Kuznyechik" n = 16([rfc7801]を参照)

- GOST R 34.12-2015 "Magma" n = 12 (see [RFC8891])

- GOST R 34.12-2015「マグマ」n = 12([rfc8891]を参照)

7.4. PBMAC1
7.4. PBMAC1

The OID id-PBMAC1 identifies the PBMAC1 message authentication scheme:

OID ID-PBMAC1は、PBMAC1メッセージ認証スキームを識別します。

   id-PBMAC1 OBJECT IDENTIFIER ::= { pkcs-5 14 }
        

The parameters field associated with this OID in an AlgorithmIdentifier SHALL have type PBMAC1-params:

このOIDに関連付けられているパラメーターフィールドは、AlgorithmidentifierのタイプPBMAC1-PARAMSを備えている必要があります。

   PBMAC1-params ::=  SEQUENCE
   {
       keyDerivationFunc AlgorithmIdentifier { { PBMAC1-KDFs } },
       messageAuthScheme AlgorithmIdentifier { { PBMAC1-MACs } }
   }
        

The fields of type PBMAC1-params have the following meanings:

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

* keyDerivationFunc is the identifier and parameters of key derivation function in accordance with Section 7.1.

* KeyDerivationFuncは、セクション7.1に従って、キー導出関数の識別子とパラメーターです。

* messageAuthScheme is the identifier and parameters of the HMAC_GOSTR3411 algorithm.

* Messageauthschemeは、HMAC_GOSTR3411アルゴリズムの識別子とパラメーターです。

8. Security Considerations
8. セキュリティに関する考慮事項

For information on security considerations for password-based cryptography, see [RFC8018].

パスワードベースの暗号化のセキュリティに関する考慮事項については、[RFC8018]を参照してください。

Conforming applications MUST use unique values for ukm and S in order to avoid the encryption of different data on the same keys with the same initialization vector.

適合アプリケーションは、同じ初期化ベクトルを持つ同じキー上の異なるデータの暗号化を回避するために、UKMとSの一意の値を使用する必要があります。

It is RECOMMENDED that parameter S consist of at least 32 octets of pseudorandom data in order to reduce the probability of collisions of keys generated from the same password.

同じパスワードから生成されたキーの衝突の可能性を減らすために、パラメーターSが少なくとも32オクテットの擬似ランダムデータで構成することをお勧めします。

9. IANA Considerations
9. IANAの考慮事項

This document has no IANA actions.

このドキュメントにはIANAアクションがありません。

10. References
10. 参考文献
10.1. Normative References
10.1. 引用文献

[GostPkcs5] Potashnikov, A., Karelina, E., Pianov, S., and A. Naumenko, "Information technology. Cryptographic Data Security. Password-based key security.", R 1323565.1.040-2022. Federal Agency on Technical Regulating and Metrology (In Russian).

[Gostpkcs5] Potashnikov、A.、Karelina、E.、Pianov、S。、およびA. Naumenko、「情報技術。暗号化データセキュリティ。パスワードベースのキーセキュリティ。」、R 1323565.1.040-2022。技術規制と計測に関する連邦政府機関(ロシア語)。

[RFC0020] Cerf, V., "ASCII format for network interchange", STD 80, RFC 20, DOI 10.17487/RFC0020, October 1969, <https://www.rfc-editor.org/info/rfc20>.

[RFC0020] Cerf、V。、「ネットワークインターチェンジ用ASCII形式」、STD 80、RFC 20、DOI 10.17487/RFC0020、1969年10月、<https://www.rfc-editor.org/info/rfc20>。

[RFC2104] Krawczyk, H., Bellare, M., and R. Canetti, "HMAC: Keyed-Hashing for Message Authentication", RFC 2104, DOI 10.17487/RFC2104, February 1997, <https://www.rfc-editor.org/info/rfc2104>.

[RFC2104] Krawczyk、H.、Bellare、M。、およびR. CaNetti、「HMAC:メッセージ認証のためのキー付きハッシング」、RFC 2104、DOI 10.17487/RFC2104、1997年2月、<https://www.rfc-editor.org/info/rfc2104>。

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <https://www.rfc-editor.org/info/rfc2119>.

[RFC2119] Bradner、S。、「要件レベルを示すためにRFCで使用するためのキーワード」、BCP 14、RFC 2119、DOI 10.17487/RFC2119、1997年3月、<https://www.rfc-editor.org/info/RFC2119>。

[RFC6986] Dolmatov, V., Ed. and A. Degtyarev, "GOST R 34.11-2012: Hash Function", RFC 6986, DOI 10.17487/RFC6986, August 2013, <https://www.rfc-editor.org/info/rfc6986>.

[RFC6986] Dolmatov、V.、ed。およびA. degtarev、「GOST R 34.11-2012:HASH FUNCTION」、RFC 6986、DOI 10.17487/RFC6986、2013年8月、<https://www.rfc-editor.org/info/rfc6986>。

[RFC7801] Dolmatov, V., Ed., "GOST R 34.12-2015: Block Cipher "Kuznyechik"", RFC 7801, DOI 10.17487/RFC7801, March 2016, <https://www.rfc-editor.org/info/rfc7801>.

[RFC7801] Dolmatov、V.、ed。、 "Gost R 34.12-2015:Block Cipher" Kuznyechik ""、RFC 7801、doi 10.17487/RFC7801、2016年3月、<https://www.rfc-editor.org/fo/fo/RFC7801>。

[RFC7836] Smyshlyaev, S., Ed., Alekseev, E., Oshkin, I., Popov, V., Leontiev, S., Podobaev, V., and D. Belyavsky, "Guidelines on the Cryptographic Algorithms to Accompany the Usage of Standards GOST R 34.10-2012 and GOST R 34.11-2012", RFC 7836, DOI 10.17487/RFC7836, March 2016, <https://www.rfc-editor.org/info/rfc7836>.

[RFC7836] Smyshlyaev、S.、Ed。、Alekseev、E.、Oshkin、I.、Popov、V.、Leontiev、S.、Podobaev、V.、およびD. Belyavsky、「暗号化アルゴリズムに関するガイドライン」標準の使用GOST R 34.10-2012およびGOST R 34.11-2012 "、RFC 7836、DOI 10.17487/RFC7836、2016年3月、<https://www.rfc-editor.org/info/rfc7836>

[RFC8018] Moriarty, K., Ed., Kaliski, B., and A. Rusch, "PKCS #5: Password-Based Cryptography Specification Version 2.1", RFC 8018, DOI 10.17487/RFC8018, January 2017, <https://www.rfc-editor.org/info/rfc8018>.

[RFC8018] Moriarty、K.、Ed。、Kaliski、B。、およびA. Rusch、「PKCS#5:パスワードベースの暗号化仕様バージョン2.1」、RFC 8018、DOI 10.17487/RFC8018、2017年1月、<https://www.rfc-editor.org/info/rfc8018>。

[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, <https://www.rfc-editor.org/info/rfc8174>.

[RFC8174] Leiba、B。、「RFC 2119キーワードの大文字と小文字のあいまいさ」、BCP 14、RFC 8174、DOI 10.17487/RFC8174、2017年5月、<https://www.rfc-editor.org/info/RFC8174>。

[RFC8645] Smyshlyaev, S., Ed., "Re-keying Mechanisms for Symmetric Keys", RFC 8645, DOI 10.17487/RFC8645, August 2019, <https://www.rfc-editor.org/info/rfc8645>.

[RFC8645] Smyshlyaev、S.、ed。、「対称キーのメカニズムの再キーイング」、RFC 8645、DOI 10.17487/RFC8645、2019年8月、<https://www.rfc-editor.org/info/rfc8645>

[RFC8891] Dolmatov, V., Ed. and D. Baryshkov, "GOST R 34.12-2015: Block Cipher "Magma"", RFC 8891, DOI 10.17487/RFC8891, September 2020, <https://www.rfc-editor.org/info/rfc8891>.

[RFC8891] Dolmatov、V.、ed。およびD. Baryshkov、「Gost R 34.12-2015:ブロック暗号「マグマ」、RFC 8891、doi 10.17487/rfc8891、2020年9月、<https://www.rfc-editor.org/info/rfc8891>。

10.2. Informative References
10.2. 参考引用

[RFC6070] Josefsson, S., "PKCS #5: Password-Based Key Derivation Function 2 (PBKDF2) Test Vectors", RFC 6070, DOI 10.17487/RFC6070, January 2011, <https://www.rfc-editor.org/info/rfc6070>.

[RFC6070] Josefsson、S。、 "PKCS#5:パスワードベースのキー派生関数2(PBKDF2)テストベクトル"、RFC 6070、DOI 10.17487/RFC6070、2011年1月、<https://www.rfc-editor.org/info/rfc6070>。

Appendix A. PBKDF2 HMAC_GOSTR3411 Test Vectors

付録A. PBKDF2 HMAC_GOSTR3411テストベクトル

These test vectors are formed by analogy with test vectors from [RFC6070]. The input strings below are encoded using ASCII (see [RFC0020]). The sequence "\0" (without quotation marks) means a literal ASCII NULL value (1 octet). "DK" refers to the derived key.

これらのテストベクトルは、[RFC6070]のテストベクトルとの類推によって形成されます。以下の入力文字列は、ASCIIを使用してエンコードされています([RFC0020]を参照)。シーケンス「\ 0」(引用符なし)は、文字通りのASCIIヌル値(1オクテット)を意味します。「DK」とは、派生キーを指します。

Input: P = "password" (8 octets) S = "salt" (4 octets) c = 1 dkLen = 64

入力:p = "password"(8オクテット)s = "salt"(4オクテット)c = 1 dklen = 64

Output: DK = 64 77 0a f7 f7 48 c3 b1 c9 ac 83 1d bc fd 85 c2 61 11 b3 0a 8a 65 7d dc 30 56 b8 0c a7 3e 04 0d 28 54 fd 36 81 1f 6d 82 5c c4 ab 66 ec 0a 68 a4 90 a9 e5 cf 51 56 b3 a2 b7 ee cd db f9 a1 6b 47

出力:DK = 64 77 0A F7 F7 48 C3 B1 C9 AC 83 1D BC FD 85 C2 61 11 B3 0A 8A 65 7D DC 30 56 B8 0C A7 3E 04 0D 28 54 FD 36 81 1F 6D 82 5C C4 AB 66 EC 0A 0A 0A68 A4 90 A9 E5 CF 51 56 B3 A2 B7 EE CD DB F9 A1 6B 47

Input: P = "password" (8 octets) S = "salt" (4 octets) c = 2 dkLen = 64

入力:p = "password"(8オクテット)s = "salt"(4オクテット)c = 2 dklen = 64

Output: DK = 5a 58 5b af df bb 6e 88 30 d6 d6 8a a3 b4 3a c0 0d 2e 4a eb ce 01 c9 b3 1c 2c ae d5 6f 02 36 d4 d3 4b 2b 8f bd 2c 4e 89 d5 4d 46 f5 0e 47 d4 5b ba c3 01 57 17 43 11 9e 8d 3c 42 ba 66 d3 48 de

出力:DK = 5A 58 58 5B AF DF BB 6E 88 30 D6 D6 8A A3 B4 3A C0 0D 2E 4A EB CE 01 C9 B3 1C 2C AE D5 6F 02 02 36 D4 D3 4B 2B 8F BD 2C 4E 89 D5 4D 46 F5 0E 47D4 5b Ba C3 01 57 17 43 11 9e 8d 3c 42 Ba 66 D3 48 DE

Input: P = "password" (8 octets) S = "salt" (4 octets) c = 4096 dkLen = 64

入力:p = "パスワード"(8オクテット)s = "salt"(4オクテット)c = 4096 dklen = 64

Output: DK = e5 2d eb 9a 2d 2a af f4 e2 ac 9d 47 a4 1f 34 c2 03 76 59 1c 67 80 7f 04 77 e3 25 49 dc 34 1b c7 86 7c 09 84 1b 6d 58 e2 9d 03 47 c9 96 30 1d 55 df 0d 34 e4 7c f6 8f 4e 3c 2c da f1 d9 ab 86 c3

出力:DK = E5 2D EB 9A 2D 2A AF F4 E2 AC 9D 47 A4 1F 34 C2 03 76 59 1C 67 80 7F 04 77 E3 25 49 49 DC 34 1B C7 86 7C 09 84 1B 6D 58 E2 9D 03 47 C9 96 30 30 301d 55 df 0d 34 e4 7c f6 8f 4e 3c 2c da f1 d9 ab 86 c3

Input: P = "password" (8 octets) S = "salt" (4 octets) c = 16777216 dkLen = 64

入力:p = "パスワード"(8オクテット)s = "salt"(4オクテット)c = 16777216 dklen = 64

Output: DK = 49 e4 84 3b ba 76 e3 00 af e2 4c 4d 23 dc 73 92 de f1 2f 2c 0e 24 41 72 36 7c d7 0a 89 82 ac 36 1a db 60 1c 7e 2a 31 4e 8c b7 b1 e9 df 84 0e 36 ab 56 15 be 5d 74 2b 6c f2 03 fb 55 fd c4 80 71

出力:DK = 49 E4 84 3B BA 76 E3 00 AF E2 4C 4D 23 DC 73 92 DE F1 2F 2C 0E 24 41 72 36 7C D7 0A 89 82 AC 36 1A DB 60 1C 7E 2A 31 4E 8C B7 B1 E9 DF 8440E 36 AB 56 15 BE 5D 74 2B 6C F2 03 FB 55 FD C4 80 71

Input: P = "passwordPASSWORDpassword" (24 octets) S = "saltSALTsaltSALTsaltSALTsaltSALTsalt" (36 octets) c = 4096 dkLen = 100

入力:p = "passwordpasswordpassword"(24オクテット)s = "staltsaltsaltsaltsaltsaltsaltsaltsaltsalt"(36オクテット)c = 4096 dklen = 100

Output: DK = b2 d8 f1 24 5f c4 d2 92 74 80 20 57 e4 b5 4e 0a 07 53 aa 22 fc 53 76 0b 30 1c f0 08 67 9e 58 fe 4b ee 9a dd ca e9 9b a2 b0 b2 0f 43 1a 9c 5e 50 f3 95 c8 93 87 d0 94 5a ed ec a6 eb 40 15 df c2 bd 24 21 ee 9b b7 11 83 ba 88 2c ee bf ef 25 9f 33 f9 e2 7d c6 17 8c b8 9d c3 74 28 cf 9c c5 2a 2b aa 2d 3a

出力:DK = B2 D8 F1 24 5F C4 D2 92 74 80 20 57 E4 B5 4E 07 53 AA 22 FC 53 76 0B 30 1C F0 08 67 9E 58 FE 4B EE 9A DD CA E9 9B A2 B0 B2 0F 43 1A 9C 9C5E 50 F3 95 C8 93 87 D0 94 5A ED EC A6 EB 40 15 DF C2 BD 24 21 EE 9B B7 11 83 BA 88 2C EE BF EF 25 9F 33 F9 E2 7D C6 17 8C B8 9D C3 74 28 CF 9C C5 2A 2A 2A2b AA 2d 3a

Input: P = "pass\0word" (9 octets) S = "sa\0lt" (5 octets) c = 4096 dkLen = 64

入力:p = "pass \ 0word"(9オクテット)s = "sa \ 0lt"(5オクテット)c = 4096 dklen = 64

Output: DK = 50 df 06 28 85 b6 98 01 a3 c1 02 48 eb 0a 27 ab 6e 52 2f fe b2 0c 99 1c 66 0f 00 14 75 d7 3a 4e 16 7f 78 2c 18 e9 7e 92 97 6d 9c 1d 97 08 31 ea 78 cc b8 79 f6 70 68 cd ac 19 10 74 08 44 e8 30

出力:DK = 50 df 06 28 85 B6 98 01 A3 C1 02 48 EB 0A 27 AB 6E 52 2F FE B2 0C 99 1C 66 0F 00 14 75 D7 3A 4E 16 7F 78 2C 18 E9 7E 92 97 6D 9C 1D 97 088888888831 EA 78 CC B8 79 F6 70 68 CD AC 19 10 74 08 44 E8 30

Acknowledgments

謝辞

The author thanks Potashnikov Alexander, Pianov Semen, Davletshina Alexandra, Belyavsky Dmitry, and Smyslov Valery for their careful readings and useful comments.

著者は、Potashnikov Alexander、Pianov Semen、Davletshina Alexandra、Belyavsky Dmitry、Smyslov Valeryに感謝し、慎重な読み物と有用なコメントに感謝します。

Author's Address

著者の連絡先

Ekaterina Karelina (editor) InfoTeCS 2B stroenie 1, ul. Otradnaya Moscow 127273 Russian Federation Email: Ekaterina.Karelina@infotecs.ru

Ekaterina Karelina(編集者)Infotecs 2b Stroenie 1、UL。Otradnaya Moscow 127273ロシア連邦メール:ekaterina.karelina@infotecs.ru