[要約] RFC 7091は、GOST R 34.10-2012デジタル署名アルゴリズムに関する要約です。このRFCの目的は、GOST R 34.10-2012アルゴリズムの仕様と使用方法を提供することです。

Independent Submission                                  V. Dolmatov, Ed.
Request for Comments: 7091                                  A. Degtyarev
Updates: 5832                                            Cryptocom, Ltd.
Category: Informational                                    December 2013
ISSN: 2070-1721
        

GOST R 34.10-2012: Digital Signature Algorithm

GOST R 34.10-2012:デジタル署名アルゴリズム

Abstract

概要

This document provides information about the Russian Federal standard for digital signatures (GOST R 34.10-2012), which is one of the Russian cryptographic standard algorithms (called GOST algorithms). Recently, Russian cryptography is being used in Internet applications, and this document provides information for developers and users of GOST R 34.10-2012 regarding digital signature generation and verification. This document updates RFC 5832.

このドキュメントは、ロシアの暗号標準アルゴリズム(GOSTアルゴリズムと呼ばれる)の1つであるデジタル署名のロシア連邦標準(GOST R 34.10-2012)に関する情報を提供します。最近、ロシアの暗号化がインターネットアプリケーションで使用されています。このドキュメントは、デジタル署名の生成と検証に関するGOST R 34.10-2012の開発者とユーザー向けの情報を提供します。このドキュメントは、RFC 5832を更新します。

Status of This Memo

本文書の状態

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

このドキュメントはInternet Standards Trackの仕様ではありません。情報提供を目的として公開されています。

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 a candidate for any level of Internet Standard; see Section 2 of RFC 5741.

これは、他のRFCストリームとは無関係に、RFCシリーズへの貢献です。 RFCエディターは、このドキュメントを独自の裁量で公開することを選択し、実装または展開に対するその価値については何も述べていません。 RFC Editorによって公開が承認されたドキュメントは、どのレベルのインターネット標準の候補にもなりません。 RFC 5741のセクション2をご覧ください。

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

このドキュメントの現在のステータス、エラータ、およびフィードバックの提供方法に関する情報は、http://www.rfc-editor.org/info/rfc7091で入手できます。

Copyright Notice

著作権表示

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

Copyright(c)2013 IETF Trustおよびドキュメントの作成者として識別された人物。全著作権所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://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文書に関するIETFトラストの法的規定(http://trustee.ietf.org/license-info)の対象となります。これらのドキュメントは、このドキュメントに関するあなたの権利と制限を説明しているため、注意深く確認してください。

Table of Contents

目次

   1. Introduction ....................................................2
      1.1. General Information ........................................2
      1.2. The Purpose of GOST R 34.10-2012 ...........................3
      1.3. Requirements Language ......................................3
   2. Scope ...........................................................3
   3. Definitions and Notations .......................................4
      3.1. Definitions ................................................4
      3.2. Notations ..................................................6
   4. General Statements ..............................................7
   5. Mathematical Conventions ........................................8
      5.1. Mathematical Definitions ...................................9
      5.2. Digital Signature Parameters ..............................10
      5.3. Binary Vectors ............................................12
   6. Main Processes .................................................12
      6.1. Digital Signature Generation Process ......................13
      6.2. Digital Signature Verification ............................13
   7. Test Examples (Appendix to GOST R 34.10-2012) ..................14
      7.1. The Digital Signature Scheme Parameters ...................15
      7.2. Digital Signature Process (Algorithm I) ...................17
      7.3. Verification Process of Digital Signature (Algorithm II) ..18
   8. Security Considerations ........................................19
   9. References .....................................................19
      9.1. Normative References ......................................19
      9.2. Informative References ....................................20
        
1. Introduction
1. はじめに
1.1. General Information
1.1. 一般情報

1. GOST R 34.10-2012 [GOST3410-2012] was developed by the Center for Information Protection and Special Communications of the Federal Security Service of the Russian Federation with participation of the open joint-stock company "Information Technologies and Communication Systems" (InfoTeCS JSC).

1. GOST R 34.10-2012 [GOST3410-2012]は、ロシア連邦の連邦安全保障局の情報保護および特別通信センターにより、オープンな合資会社「情報技術および通信システム」(InfoTeCS JSC)の参加を得て開発されました。 。

2. GOST R 34.10-2012 was approved and introduced by Decree #215 of the Federal Agency on Technical Regulating and Metrology on 07.08.2012.

2. GOST R 34.10-2012は、2012年7月8日の技術規制と計量に関する連邦政府の法令#215によって承認および導入されました。

3. GOST R 34.10-2012 replaces GOST R 34.10-2001 [GOST3410-2001], a national standard of the Russian Federation.

3. GOST R 34.10-2012は、ロシア連邦の国家規格であるGOST R 34.10-2001 [GOST3410-2001]に代わるものです。

GOST R 34.10-2001 is superseded by GOST R 34.10-2012 from 1 January 2013. That means that all new systems that are presented for certification MUST use GOST R 34.10-2012 and MAY use GOST R 34.10-2001 also for maintaining compatibility with existing systems. Usage of GOST R 34.10-2001 in current systems is allowed at least for a 5-year period.

GOST R 34.10-2001は、2013年1月1日からGOST R 34.10-2012に置き換えられました。つまり、認定のために提示されるすべての新しいシステムはGOST R 34.10-2012を使用する必要があり、既存のシステムとの互換性を維持するためにもGOST R 34.10-2001を使用する必要がありますシステム。現在のシステムでのGOST R 34.10-2001の使用は、少なくとも5年間は許可されています。

This document updates RFC 5832 [RFC5832].

このドキュメントはRFC 5832 [RFC5832]を更新します。

This document is an English translation of GOST R 34.10-2012; [RFC6986] is an English translation of GOST R 34.11-2012; and [RFC5832] is an English translation of GOST R 34.10-2001.

このドキュメントはGOST R 34.10-2012の英語翻訳です。 [RFC6986]はGOST R 34.11-2012の英語翻訳です。 [RFC5832]は、GOST R 34.10-2001の英語訳です。

Terms and conceptions of this standard comply with the following international standards:

この標準の用語と概念は、次の国際標準に準拠しています。

o ISO 2382-2 [ISO2382-2], o ISO/IEC 9796 [ISO9796-2][ISO9796-3], o series of standards ISO/IEC 14888 [ISO14888-1] [ISO14888-2] [ISO14888-3] [ISO14888-4], and o series of standards ISO/IEC 10118 [ISO10118-1] [ISO10118-2] [ISO10118-3] [ISO10118-4].

o ISO 2382-2 [ISO2382-2]、o ISO / IEC 9796 [ISO9796-2] [ISO9796-3]、o一連の規格ISO / IEC 14888 [ISO14888-1] [ISO14888-2] [ISO14888-3] [ ISO14888-4]、およびo一連の規格ISO / IEC 10118 [ISO10118-1] [ISO10118-2] [ISO10118-3] [ISO10118-4]。

1.2. The Purpose of GOST R 34.10-2012
1.2. GOST R 34.10-2012の目的

GOST R 34.10-2012 describes the generation and verification processes for digital signatures, based on operations with an elliptic curve points group, defined over a prime finite field.

GOST R 34.10-2012は、素数有限体上で定義された楕円曲線点グループの操作に基づく、デジタル署名の生成および検証プロセスについて説明しています。

The necessity for developing this standard is caused by the need to implement digital signatures of varying resistance due to growth of computer technology. Digital signature security is based on the complexity of discrete logarithm calculation in an elliptic curve points group and also on the security of the hash function used (according to GOST R 34.11-2012 [GOST3411-2012]).

この標準を開発する必要性は、コンピューター技術の成長により、さまざまな抵抗のデジタル署名を実装する必要があるために発生します。デジタル署名のセキュリティは、楕円曲線ポイントグループの離散対数計算の複雑さと、使用されているハッシュ関数のセキュリティに基づいています(GOST R 34.11-2012 [GOST3411-2012による])。

1.3. Requirements Language
1.3. 要件言語

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].

このドキュメントのキーワード「MUST」、「MUST NOT」、「REQUIRED」、「SHALL」、「SHALL NOT」、「SHOULD」、「SHOULD NOT」、「RECOMMENDED」、「MAY」、および「OPTIONAL」は、 RFC 2119 [RFC2119]で説明されているように解釈されます。

2. Scope
2. 範囲

GOST R 34.10-2012 defines an electronic digital signature (or simply digital signature) scheme, digital signature generation and verification processes for a given message (document), meant for transmission via insecure public telecommunication channels in data processing systems of different purposes.

GOST R 34.10-2012は、電子デジタル署名(または単にデジタル署名)スキーム、特定のメッセージ(ドキュメント)のデジタル署名生成および検証プロセスを定義します。これは、さまざまな目的のデータ処理システムの安全でない公衆通信チャネルを介した送信を目的としています。

Use of a digital signature based on GOST R 34.10-2012 makes transmitted messages more resistant to forgery and loss of integrity, in comparison with the digital signature scheme prescribed by the previous standard.

GOST R 34.10-2012に基づくデジタル署名を使用すると、以前の規格で規定されているデジタル署名方式と比較して、送信されるメッセージが偽造や整合性の喪失に対してより耐性になります。

GOST R 34.10-2012 is recommended for the creation, operation, and modernization of data processing systems of various purposes.

GOST R 34.10-2012は、さまざまな目的のデータ処理システムの作成、運用、最新化に推奨されます。

3. Definitions and Notations
3. 定義と表記
3.1. Definitions
3.1. 定義

The following terms are used in the standard:

標準では次の用語が使用されています。

appendix: bit string that is formed by a digital signature and by the arbitrary text field [ISO14888-1].

付録:デジタル署名と任意のテキストフィールド[ISO14888-1]によって形成されるビット文字列。

signature key: element of secret data that is specific to the subject and used only by this subject during the signature generation process [ISO14888-1].

署名鍵:サブジェクトに固有であり、署名生成プロセス中にこのサブジェクトによってのみ使用される秘密データの要素[ISO14888-1]。

verification key: element of data mathematically linked to the signature key data element that is used by the verifier during the digital signature verification process [ISO14888-1].

検証鍵:デジタル署名検証プロセス中に検証者が使用する署名鍵データ要素に数学的にリンクされたデータの要素[ISO14888-1]。

domain parameter: element of data that is common for all the subjects of the digital signature scheme, known or accessible to all the subjects [ISO14888-1].

ドメインパラメータ:デジタル署名方式のすべてのサブジェクトに共通のデータの要素であり、すべてのサブジェクトに既知またはアクセス可能[ISO14888-1]。

signed message: a set of data elements that consists of the message and the appendix, which is a part of the message [ISO14888-1].

署名付きメッセージ:メッセージと、メッセージの一部である付録[ISO14888-1]で構成されるデータ要素のセット。

pseudorandom number sequence: a sequence of numbers that is obtained during some arithmetic (calculation) process, used in a specific case instead of a true random number sequence.

疑似乱数列:いくつかの算術(計算)プロセス中に取得される一連の数値で、真の乱数列の代わりに特定のケースで使用されます。

random number sequence: a sequence of numbers of which none can be predicted (calculated) using only the preceding numbers of the same sequence.

乱数列:同じ列の先行する数だけを使用して予測(計算)できない数列。

verification process: a process that uses the signed message, the verification key, and the digital signature scheme parameters as initial data and that gives the conclusion about digital signature validity or invalidity as a result [ISO14888-1].

検証プロセス:署名付きメッセージ、検証キー、およびデジタル署名スキームのパラメーターを初期データとして使用し、結果としてデジタル署名の有効性または無効性に関する結論を与えるプロセス[ISO14888-1]。

signature generation process: a process that uses the message, the signature key, and the digital signature scheme parameters as initial data and that generates the digital signature as the result [ISO14888-1].

署名生成プロセス:メッセージ、署名キー、およびデジタル署名方式パラメーターを初期データとして使用し、結果としてデジタル署名を生成するプロセス[ISO14888-1]。

witness: element of data that states to the verifier whether the digital signature is valid or invalid.

ウィットネス:デジタル署名が有効か無効かを検証者に示すデータの要素。

random number: a number chosen from the definite number set in such a way that every number from the set can be chosen with equal probability.

乱数:セットからのすべての数が等しい確率で選択できるように、明確な数のセットから選択された数。

message: string of bits of a limited length [ISO14888-1].

メッセージ:制限された長さのビットの文字列[ISO14888-1]。

hash code: string of bits that is a result of the hash function [ISO14888-1].

ハッシュコード:ハッシュ関数[ISO14888-1]の結果であるビットの文字列。

hash function: the function that maps bit strings onto bit strings of fixed length observing the following properties:

ハッシュ関数:ビット文字列を固定長のビット文字列にマッピングする関数。

1. it is difficult to calculate the input data that is the pre-image of the given function value;

1. 与えられた関数値のプレイメージである入力データを計算することは困難です。

2. it is difficult to find another input data that is the pre-image of the same function value as is the given input data; and

2. 与えられた入力データと同じ関数値のプレイメージである別の入力データを見つけることは困難です。そして

3. it is difficult to find a pair of different input data that produces the same hash function value.

3. 同じハッシュ関数値を生成する異なる入力データのペアを見つけるのは困難です。

[ISO14888-1]

[ISO14888-1]

Notes:

ノート:

1. Property 1 in the context of the digital signature area means that it is impossible to recover the initial message using the digital signature; property 2 means that it is difficult to find another (falsified) message that produces the same digital signature as a given message; property 3 means that it is difficult to find a pair of different messages that both produce the same signature.

1. デジタル署名領域のコンテキストのプロパティ1は、デジタル署名を使用して最初のメッセージを復元することが不可能であることを意味します。プロパティ2は、特定のメッセージと同じデジタル署名を生成する別の(改ざんされた)メッセージを見つけることが難しいことを意味します。プロパティ3は、両方とも同じ署名を生成する異なるメッセージのペアを見つけるのが難しいことを意味します。

2. In this standard, the terms "hash function", "cryptographic hash function", "hashing function", and "cryptographic hashing function" are synonymous to provide terminological succession to native legal documents currently in force and scientific publications.

2. この規格では、「ハッシュ関数」、「暗号化ハッシュ関数」、「ハッシュ関数」、および「暗号化ハッシュ関数」という用語は、現在有効なネイティブの法的文書および科学出版物に用語の継承を提供する同義語です。

(electronic) digital signature: string of bits that are obtained as a result of the signature generation process [ISO14888-1].

(電子)デジタル署名:署名生成プロセス[ISO14888-1]の結果として取得されるビットの文字列。

Notes:

ノート:

1. A string of bits that is a signature may have an internal structure depending on the specific signature generation mechanism.

1. 署名であるビットの文字列は、特定の署名生成メカニズムに応じて内部構造を持つ場合があります。

2. In this standard, the terms "electronic signature", "digital signature", and "electronic digital signature" are synonymous to provide terminological succession to native legal documents currently in force and scientific publications.

2. この規格では、「電子署名」、「デジタル署名」、および「電子デジタル署名」という用語は、現在有効なネイティブの法的文書および科学出版物に用語の継承を提供する同義語です。

3.2. Notations
3.2. 記法

The following notations are used in this standard:

この規格では、次の表記法が使用されています。

V_l set of all binary vectors of an l-bit length

lビット長のすべてのバイナリベクトルのV_lセット

V_all set of all binary vectors of an arbitrary finite length

任意の有限長のすべてのバイナリベクトルのV_allセット

Z set of all integers

すべての整数のZセット

p prime number, p > 3

p素数、p> 3

   GF(p)        finite prime field represented by a set of integers {0,
                1, ..., p - 1}
        

b (mod p) minimal non-negative number, congruent to b modulo p

b(mod p)pを法とするbに合同である最小の負でない数

M user's message, M belongs to V_all

Mユーザーのメッセージ、MはV_allに属します

(H1 || H2 ) concatenation of two binary vectors

(H1 || H2)2つのバイナリベクトルの連結

a, b elliptic curve coefficients

a、b楕円曲線係数

m points of the elliptic curve group order

楕円曲線グループ次数のmポイント

q subgroup order of group of points of the elliptic curve

q楕円曲線の点のグループのサブグループ次数

O zero point of the elliptic curve

O楕円曲線のゼロ点

P elliptic curve point of order q

次数qのP楕円曲線点

d integer - a signature key

d整数-署名鍵

Q elliptic curve point - a verification key zeta digital signature for the message M

Q楕円曲線ポイント-メッセージMの検証鍵ゼータデジタル署名

^ the power operator

^パワーオペレーター

/= non-equality

/ =不等

sqrt square root

平方根

4. General Statements
4. 一般的な声明

A commonly accepted digital signature scheme (model) consists of three processes:

一般的に受け入れられているデジタル署名スキーム(モデル)は、次の3つのプロセスで構成されています。

- generation of a pair of keys (for signature generation and for signature verification),

- 鍵のペアの生成(署名の生成と検証のため)

- signature generation, and

- 署名の生成、および

- signature verification.

- 署名の検証。

In GOST R 34.10-2012, a process for generating a pair of keys (for signature and verification) is not defined. Characteristics and ways to realize the process are defined by involved subjects, who determine corresponding parameters by their agreement.

GOST R 34.10-2012では、(署名と検証のための)鍵のペアを生成するプロセスは定義されていません。プロセスを実現するための特性と方法は、同意によって対応するパラメータを決定する関係者によって定義されます。

The digital signature mechanism is defined by the realization of two main processes (Section 6):

デジタル署名メカニズムは、2つの主要なプロセス(セクション6)の実現によって定義されます。

- signature generation (Section 6.1), and

- 署名生成(セクション6.1)、および

- signature verification (Section 6.2).

- 署名の検証(セクション6.2)。

The digital signature is meant for the authentication of the signatory of the electronic message. Besides, digital signature usage gives an opportunity to provide the following properties during signed message transmission:

デジタル署名は、電子メッセージの署名者の認証を目的としています。さらに、デジタル署名の使用により、署名付きメッセージの送信中に次のプロパティを提供する機会が与えられます。

- realization of control of the transmitted signed message integrity,

- 送信された署名付きメッセージの完全性の制御の実現

- proof of the authorship of the signatory of the message, and

- メッセージの署名者の著者の証明、および

- protection of the message against possible forgery.

- 起こり得る偽造に対するメッセージの保護。

A schematic representation of the signed message is shown in Figure 1.

署名されたメッセージの概略図を図1に示します。

                                   appendix
                                      |
                      +-------------------------------+
                      |                               |
      +-----------+   +------------------------+- - - +
      | message M |---| digital signature zeta | text |
      +-----------+   +------------------------+- - - +
        

Figure 1: Signed Message Scheme

図1:署名付きメッセージスキーム

The field "digital signature" is supplemented by the field "text" that can contain, for example, identifiers of the signatory of the message and/or time label.

フィールド「デジタル署名」は、例えば、メッセージの署名者の識別子および/または時間ラベルを含むことができるフィールド「テキスト」によって補足される。

The digital signature scheme defined in GOST R 34.10-2012 must be implemented using operations of the elliptic curve points group, defined over a finite prime field, and also with the use of the hash function.

GOST R 34.10-2012で定義されたデジタル署名方式は、有限の素数体上で定義された楕円曲線点グループの演算を使用して、またハッシュ関数を使用して実装する必要があります。

The cryptographic security of the digital signature scheme is based on the complexity of solving the problem of the calculation of the discrete logarithm in the elliptic curve points group and also on the security of the hash function used. The hash function calculation algorithm is defined in GOST R 34.11-2012 [GOST3411-2012].

デジタル署名方式の暗号セキュリティは、楕円曲線点グループの離散対数の計算の問題を解く複雑さと、使用されるハッシュ関数のセキュリティに基づいています。ハッシュ関数の計算アルゴリズムは、GOST R 34.11-2012 [GOST3411-2012]で定義されています。

The digital signature scheme parameters needed for signature generation and verification are defined in Section 5.2. This standard provides the opportunity to select one of two options for parameter requirements.

署名の生成と検証に必要なデジタル署名スキームパラメータは、セクション5.2で定義されています。この標準は、パラメーター要件の2つのオプションのいずれかを選択する機会を提供します。

GOST R 34.10-2012 does not determine the process for generating the parameters needed for the digital signature scheme. Possible sets of these parameters are defined, for example, in [RFC4357].

GOST R 34.10-2012は、デジタル署名スキームに必要なパラメーターを生成するプロセスを決定しません。これらのパラメータの可能なセットは、たとえば[RFC4357]で定義されています。

The digital signature represented as a binary vector of a 512- or 1024-bit length must be calculated using a definite set of rules, as stated in Section 6.1.

512ビットまたは1024ビット長のバイナリベクトルとして表されるデジタル署名は、6.1節で述べたように、明確なルールセットを使用して計算する必要があります。

The digital signature of the received message is accepted or denied in accordance with the set of rules, as stated in Section 6.2.

受信したメッセージのデジタル署名は、セクション6.2に記載されている一連のルールに従って受け入れられるか拒否されます。

5. Mathematical Conventions
5. 数学的取り決め

To define a digital signature scheme, it is necessary to describe basic mathematical objects used in the signature generation and verification processes. This section lays out basic mathematical definitions and requirements for the parameters of the digital signature scheme.

デジタル署名方式を定義するには、署名の生成と検証のプロセスで使用される基本的な数学的オブジェクトを記述する必要があります。このセクションでは、デジタル署名スキームのパラメータの基本的な数学的定義と要件について説明します。

5.1. Mathematical Definitions
5.1. 数学的定義

Suppose a prime number p > 3 is given. Then, an elliptic curve E, defined over a finite prime field GF(p), is the set of number pairs (x,y), where x and y belong to Fp, satisfying the identity:

素数p> 3が与えられていると仮定します。次に、有限の素体GF(p)で定義される楕円曲線Eは、数値ペア(x、y)のセットです。ここで、xとyはFpに属しており、同一性を満たしています。

   y^2 = x^3 + a * x + b (mod p),                                    (1)
        

where a, b belong to GF(p) and 4 * a^3 + 27 * b^2 is not congruent to zero modulo p.

ここで、a、bはGF(p)に属し、4 * a ^ 3 + 27 * b ^ 2はpを法としてゼロに合同ではありません。

An invariant of the elliptic curve is the value J(E), satisfying the equality:

楕円曲線の不変量は値J(E)であり、次の等式を満たしています。

                      4 * a^3
   J(E) = 1728 * ------------------ (mod p)                          (2)
                 4 * a^3 + 27 * b^2
        

Elliptic curve E coefficients a, b are defined in the following way using the invariant J(E):

楕円曲線E係数a、bは、不変量J(E)を使用して次のように定義されます。

   | a = 3 * k (mod p),
   |                                                                 (3)
   | b = 2 * k (mod p),
        
                 J(E)
   where k = ----------- (mod p), J(E) /= 0 or 1728
             1728 - J(E)
        

The pairs (x, y) satisfying the identity (1) are called "the elliptic curve E points"; x and y are called x- and y-coordinates of the point, correspondingly.

恒等式(1)を満たすペア(x、y)は、「楕円曲線のEポイント」と呼ばれます。 xとyは、対応して点のx座標とy座標と呼ばれます。

We will denote elliptic curve points as Q(x, y) or just Q. Two elliptic curve points are equal if their x- and y-coordinates are equal.

楕円曲線点をQ(x、y)または単にQと表します。x座標とy座標が等しい場合、2つの楕円曲線点は等しくなります。

On the set of all elliptic curve E points, we will define the addition operation, denoted by "+". For two arbitrary elliptic curve E points Q1 (x1, y1) and Q2 (x2, y2), we will consider several variants.

すべての楕円曲線のEポイントのセットで、「+」で示される加算演算を定義します。 2つの任意の楕円曲線EポイントQ1(x1、y1)およびQ2(x2、y2)について、いくつかのバリアントを検討します。

Suppose coordinates of points Q1 and Q2 satisfy the condition x1 /= x2. In this case, their sum is defined as a point Q3 (x3, y3), with coordinates defined by congruencies:

点Q1とQ2の座標がx1 / = x2の条件を満たすと仮定します。この場合、それらの合計は点Q3(x3、y3)として定義され、座標は合同性によって定義されます。

   | x3 = lambda^2 - x1 - x2 (mod p),
   |                                                                 (4)
   | y3 = lambda * (x1 - x3) - y1 (mod p),
        
                   y1 - y2
   where lambda = -------- (mod p).
                   x1 - x2
        

If x1 = x2 and y1 = y2 /= 0, then we will define point Q3 coordinates in the following way:

x1 = x2およびy1 = y2 / = 0の場合、ポイントQ3座標を次のように定義します。

   | x3 = lambda^2 - x1 * 2 (mod p),
   |                                                                 (5)
   | y3 = lambda * (x1 - x3) - y1 (mod p),
        
                  3 * x1^2 + a
   where lambda = ------------ (mod p)
                     y1 * 2
        

If x1 = x2 and y1 = -y2 (mod p), then the sum of points Q1 and Q2 is called a zero point O, without determination of its x- and y-coordinates. In this case, point Q2 is called a negative of point Q1. For the zero point, the equalities hold:

x1 = x2およびy1 = -y2(mod p)の場合、点Q1とQ2の合計は、x座標とy座標を決定せずにゼロ点Oと呼ばれます。この場合、点Q2は点Q1のネガティブと呼ばれます。ゼロ点の場合、等式は次のようになります。

   O + Q = Q + O = Q,                                                (6)
        

where Q is an arbitrary point of elliptic curve E.

ここで、Qは楕円曲線Eの任意の点です。

A set of all points of elliptic curve E, including the zero point, forms a finite abelian (commutative) group of order m regarding the introduced addition operation. For m, the following inequalities hold:

ゼロ点を含む楕円曲線Eのすべての点のセットは、導入された加算演算に関して、次数mの有限アーベル(可換)グループを形成します。 mの場合、次の不等式が成立します。

   p + 1 - 2 * sqrt(p) =< m =< p + 1 + 2 * sqrt(p)                   (7)
        

The point Q is called "a point of multiplicity k", or just "a multiple point of the elliptic curve E", if for some point P, the following equality holds:

点Qは、「多重度kの点」または単に「楕円曲線Eの複数の点」と呼ばれます。ある点Pについて、次の等式が成立する場合、

   Q = P + ... + P = k * P                                           (8)
       -----+-----
            k
        
5.2. Digital Signature Parameters
5.2. デジタル署名パラメーター

The digital signature parameters are:

デジタル署名パラメータは次のとおりです。

- prime number p is an elliptic curve modulus.

- 素数pは楕円曲線の係数です。

- elliptic curve E, defined by its invariant J(E) or by coefficients a, b belonging to GF(p).

- 不変量J(E)またはGF(p)に属する係数a、bによって定義される楕円曲線E

- integer m is an elliptic curve E points group order.

- 整数mは、楕円曲線のEポイントのグループ次数です。

- prime number q is an order of a cyclic subgroup of the elliptic curve E points group, which satisfies the following conditions:

- 素数qは、楕円曲線Eポイントグループの循環サブグループの次数であり、次の条件を満たす。

   | m = nq, n belongs to Z, n >= 1
   |                                                                 (9)
   | 2^254 < q < 2^256 or 2^508 < q < 2^512
        

- point P /= O of an elliptic curve E, with coordinates (x_p, y_p), satisfying the equality q * P = O.

- 等式q * P = Oを満たす座標(x_p、y_p)を持つ楕円曲線Eの点P / = O

- hash function h(.):V_all -> V_l, which maps the messages represented as binary vectors of arbitrary finite length onto binary vectors of an l-bit length. The hash function is defined in GOST R 34.11-2012 [GOST3411-2012].

- ハッシュ関数h(。):V_all-> V_l。これは、任意の有限長のバイナリベクトルとして表されるメッセージをlビット長のバイナリベクトルにマッピングします。ハッシュ関数はGOST R 34.11-2012 [GOST3411-2012]で定義されています。

If 2^254 < q < 2^256, then l = 256. If 2^508 < q < 2^512, then l = 512.

2 ^ 254 <q <2 ^ 256の場合、l =256。2^ 508 <q <2 ^ 512の場合、l = 512。

Every user of the digital signature scheme must have its personal keys:

デジタル署名スキームのすべてのユーザーは、個人鍵を持っている必要があります。

- signature key, which is an integer d, satisfying the inequality 0 < d < q;

- 整数dであり、不等式0 <d <qを満たす署名鍵

- verification key, which is an elliptic curve point Q with coordinates (x_q, y_q), satisfying the equality d * P = Q.

- 検証キー。これは、座標(x_q、y_q)の楕円曲線ポイントQであり、等式d * P = Qを満たします。

The previously introduced digital signature parameters must satisfy the following requirements:

以前に導入されたデジタル署名パラメータは、次の要件を満たす必要があります。

- it is necessary that the condition p^t /= 1 (mod q) holds for all integers t = 1, 2, ..., B, where

- 条件p ^ t / = 1(mod q)がすべての整数t = 1、2、...、Bについて成り立つ必要があります。ここで、

      B = 31  if 2^254 < q < 2^256, or
      B = 131 if 2^508 < q < 2^512;
        

- it is necessary that the inequality m /= p holds;

- 不等式m / = pが成り立つ必要があります。

- the curve invariant must satisfy the condition J(E) /= 0, 1728.

- 曲線不変条件は、J(E)/ = 0、1728の条件を満たす必要があります。

5.3. Binary Vectors
5.3. バイナリベクトル

To determine the digital signature generation and verification processes, it is necessary to map the set of integers onto the set of binary vectors of an l-bit length.

デジタル署名の生成と検証のプロセスを決定するには、整数のセットをlビット長のバイナリベクトルのセットにマッピングする必要があります。

Consider the following binary vector of an l-bit length where low-order bits are placed on the right, and high-order ones are placed on the left:

下位ビットが右側に配置され、上位ビットが左側に配置される、lビット長の次のバイナリベクトルを考えます。

   H = (alpha[l-1], ..., alpha[0]), H belongs to V_l                (10)
        

where alpha[i], i = 0, ..., l-1 are equal to 1 or to 0. The number alpha belonging to Z is mapped onto the binary vector h, if the equality holds:

ここで、alpha [i]、i = 0、...、l-1は1または0に等しくなります。等式が成り立つ場合、Zに属する数値alphaはバイナリベクトルhにマッピングされます。

   alpha = alpha[0]*2^0 + alpha[1]*2^1 + ... + alpha[l-1]*2^(l-1)   (11)
        

For two binary vectors H1 and H2:

2つのバイナリベクトルH1とH2の場合:

   H1 = (alpha[l-1], ..., alpha[0]),
                                                                    (12)
   H2 = (beta[l-1], ..., beta[0]),
        

which correspond to integers alpha and beta, we define a concatenation (union) operation in the following way:

整数のアルファとベータに対応し、次のように連結(ユニオン)演算を定義します。

   H1||H2 = (alpha[l-1], ..., alpha[0], beta[l-1], ..., beta[0])    (13)
        

that is a binary vector of 2*l-bit length, consisting of coefficients of the vectors H1 and H2.

これは、ベクトルH1およびH2の係数で構成される2 * lビット長のバイナリベクトルです。

On the other hand, the introduced formulae define a way to divide a binary vector H of 2*l-bit length into two binary vectors of l-bit length, where H is the concatenation of the two.

一方、導入された公式は、2 * lビット長のバイナリベクトルHをlビット長の2つのバイナリベクトルに分割する方法を定義します。ここで、Hは2つの連結です。

6. Main Processes
6. 主な工程

In this section, the digital signature generation and verification processes of a user's message are defined.

このセクションでは、ユーザーのメッセージのデジタル署名生成および検証プロセスを定義します。

To realize the processes, it is necessary that all users know the digital signature scheme parameters, which satisfy the requirements of Section 5.2.

プロセスを実現するには、すべてのユーザーがデジタル署名スキームのパラメータを知っている必要があります。これは、セクション5.2の要件を満たしています。

Besides, every user must have the signature key d and the verification key Q(x_q, y_q), which also must satisfy the requirements of Section 5.2.

また、すべてのユーザーは署名キーdと検証キーQ(x_q、y_q)を持っている必要があり、これらもセクション5.2の要件を満たしている必要があります。

6.1. Digital Signature Generation Process
6.1. デジタル署名生成プロセス

It is necessary to perform the following actions (steps) to obtain the digital signature for the message M belonging to V_all. This is Algorithm I.

V_allに属するメッセージMのデジタル署名を取得するには、以下のアクション(ステップ)を実行する必要があります。これがアルゴリズムIです。

Step 1. Calculate the message hash code M:

ステップ1.メッセージハッシュコードMを計算する:

H = h(M) (14)

H = h(M)(14)

Step 2. Calculate an integer alpha, the binary representation of which is the vector H, and determine:

ステップ2.整数アルファを計算し、そのバイナリ表現はベクトルHであり、以下を決定します。

e = alpha (mod q) (15)

e =アルファ(mod q)(15)

If e = 0, then assign e = 1.

e = 0の場合、e = 1を割り当てます。

Step 3. Generate a random (pseudorandom) integer k, satisfying the inequality:

ステップ3.不等式を満たすランダム(疑似ランダム)整数kを生成します。

0 < k < q (16)

0 <k <q(16)

Step 4. Calculate the elliptic curve point C = k * P and determine:

ステップ4.楕円曲線の点C = k * Pを計算し、以下を決定します。

r = x_C (mod q), (17)

r = x_C(mod q)、(17)

where x_C is the x-coordinate of the point C. If r = 0, return to step 3.

ここで、x_Cは点Cのx座標です。r= 0の場合、手順3に戻ります。

Step 5. Calculate the value:

ステップ5.値を計算します。

            s = (r * d + k * e) (mod q)                             (18)
        

If s = 0, return to Step 3.

s = 0の場合、ステップ3に戻ります。

   Step 6.  Calculate the binary vectors R and S, corresponding to r and
            s, and determine the digital signature zeta = (R || S) as a
            concatenation of these two binary vectors.
        

The initial data of this process are the signature key d and the message M to be signed. The output result is the digital signature zeta.

このプロセスの初期データは、署名キーdと署名されるメッセージMです。出力結果はデジタル署名ゼータです。

6.2. Digital Signature Verification
6.2. デジタル署名の検証

To verify the digital signature for the received message M, it is necessary to perform the following actions (steps). This is Algorithm II.

受信したメッセージMのデジタル署名を検証するには、次のアクション(ステップ)を実行する必要があります。これがアルゴリズムIIです。

Step 1. Calculate the integers r and s using the received signature zeta. If the inequalities 0 < r < q, 0 < s < q hold, go to the next step. Otherwise, the signature is invalid.

ステップ1.受信した署名ゼータを使用して整数rとsを計算します。不等式0 <r <q、0 <s <qが成り立つ場合は、次のステップに進みます。それ以外の場合、署名は無効です。

Step 2. Calculate the hash code of the received message M:

ステップ2.受信したメッセージMのハッシュコードを計算します。

H = h(M) (19)

H = h(M)(19)

Step 3. Calculate the integer alpha, the binary representation of which is the vector H, and determine if:

ステップ3.整数アルファを計算し、そのバイナリ表現はベクトルHです。

e = alpha (mod q) (20)

e =アルファ(mod q)(20)

If e = 0, then assign e = 1.

e = 0の場合、e = 1を割り当てます。

Step 4. Calculate the value:

ステップ4.値を計算します。

v = e^(-1) (mod q) (21)

v = e ^(-1)(mod q)(21)

Step 5. Calculate the values:

ステップ5.値を計算します。

            z1 = s * v (mod q), z2 = -r * v (mod q)                 (22)
        

Step 6. Calculate the elliptic curve point C = z1 * P + z2 * Q and determine:

ステップ6.楕円曲線の点C = z1 * P + z2 * Qを計算し、以下を決定します。

R = x_C (mod q), (23)

R = x_C(mod q)、(23)

where x_C is x-coordinate of the point.

ここで、x_Cはポイントのx座標です。

Step 7. If the equality R = r holds, then the signature is accepted. Otherwise, the signature is invalid.

ステップ7. R = rの等式が成立する場合、署名が受け入れられます。それ以外の場合、署名は無効です。

The input data of the process are the signed message M, the digital signature zeta, and the verification key Q. The output result is the witness of the signature validity or invalidity.

プロセスの入力データは、署名付きメッセージM、デジタル署名ゼータ、および検証キーQです。出力結果は、署名の有効性または無効性の証人です。

7. Test Examples (Appendix to GOST R 34.10-2012)
7. テスト例(GOST R 34.10-2012の付録)

This section is included in GOST R 34.10-2012 as a reference appendix but is not officially mentioned as a part of the standard.

このセクションはGOST R 34.10-2012に参照付録として含まれていますが、規格の一部として公式に言及されていません。

The values given here for the parameters p, a, b, m, q, P, the signature key d, and the verification key Q are recommended only for testing the correctness of actual realizations of the algorithms described in GOST R 34.10-2012.

ここでパラメーターp、a、b、m、q、P、署名鍵d、および検証鍵Qに指定された値は、GOST R 34.10-2012で説明されているアルゴリズムの実際の実現の正確さをテストする場合にのみ推奨されます。

All numerical values are introduced in decimal and hexadecimal notations. The numbers beginning with 0x are in hexadecimal notation. The symbol "\\" denotes that the number continues on the next line. For example, the notation:

すべての数値は、10進および16進表記で紹介されています。 0xで始まる数値は16進表記です。記号「\\」は、番号が次の行に続くことを示します。たとえば、次のように表記します。

12345\\ 67890

12345¥¥ 67890

0x499602D2

0 x 49602 DH

represents 1234567890 in decimal and hexadecimal number systems, respectively.

1234567890をそれぞれ10進数と16進数で表します。

7.1. The Digital Signature Scheme Parameters
7.1. デジタル署名スキームパラメータ

The following parameters must be used for digital signature generation and verification (see Section 5.2).

デジタル署名の生成と検証には、次のパラメーターを使用する必要があります(セクション5.2を参照)。

7.1.1. Elliptic Curve Modulus
7.1.1. 楕円曲線係数

The following value is assigned to parameter p in this example:

この例では、パラメーターpに次の値が割り当てられています。

   p = 57896044618658097711785492504343953926\\
       634992332820282019728792003956564821041
        
   p = 0x8000000000000000000000000000\\
       000000000000000000000000000000000431
        
7.1.2. Elliptic Curve Coefficients
7.1.2. 楕円曲線係数

Parameters a and b take the following values in this example:

この例では、パラメーターaおよびbは次の値を取ります。

a = 7 a = 0x7

a = 7 a = 0x7

   b = 43308876546767276905765904595650931995\\
       942111794451039583252968842033849580414
        

b = 0x5FBFF498AA938CE739B8E022FBAFEF40563\\ F6E6A3472FC2A514C0CE9DAE23B7E

b = 0x5FBFF498AA938CE739B8E022FBAFEF40563 \\ F6E6A3472FC2A514C0CE9DAE23B7E

7.1.3. Elliptic Curve Points Group Order
7.1.3. 楕円曲線ポイントグループの順序

Parameter m takes the following value in this example:

この例では、パラメーターmは次の値を取ります。

   m = 5789604461865809771178549250434395392\\
       7082934583725450622380973592137631069619
        
   m = 0x80000000000000000000000000000\\
       00150FE8A1892976154C59CFC193ACCF5B3
        
7.1.4. Order of Cyclic Subgroup of Elliptic Curve Points Group
7.1.4. 楕円曲線点グループの循環サブグループの順序

Parameter q takes the following value in this example:

この例では、パラメーターqは次の値を取ります。

   q = 5789604461865809771178549250434395392\\
       7082934583725450622380973592137631069619
        
   q = 0x80000000000000000000000000000001\\
       50FE8A1892976154C59CFC193ACCF5B3
        
7.1.5. Elliptic Curve Point Coordinates
7.1.5. 楕円曲線の点座標

Point P coordinates take the following values in this example:

この例では、点P座標は次の値を取ります。

x_p = 2 x_p = 0x2

x_p = 2 x_p = 0x2

   y_p = 40189740565390375033354494229370597\\
         75635739389905545080690979365213431566280
        
   y_p = 0x8E2A8A0E65147D4BD6316030E16D19\\
         C85C97F0A9CA267122B96ABBCEA7E8FC8
        
7.1.6. Signature Key
7.1.6. 署名キー

It is supposed, in this example, that the user has the following signature key d:

この例では、ユーザーが次の署名鍵dを持っていると想定されています。

   d = 554411960653632461263556241303241831\\
       96576709222340016572108097750006097525544
        
   d = 0x7A929ADE789BB9BE10ED359DD39A72C\\
       11B60961F49397EEE1D19CE9891EC3B28
        
7.1.7. Verification Key
7.1.7. 検証キー

It is supposed, in this example, that the user has the verification key Q with the following coordinate values:

この例では、ユーザーが次の座標値を持つ検証キーQを持っていると想定しています。

   x_q = 57520216126176808443631405023338071\\
         176630104906313632182896741342206604859403
        
   x_q = 0x7F2B49E270DB6D90D8595BEC458B5\\
         0C58585BA1D4E9B788F6689DBD8E56FD80B
        
   y_q = 17614944419213781543809391949654080\\
         031942662045363639260709847859438286763994
        
   y_q = 0x26F1B489D6701DD185C8413A977B3\\
         CBBAF64D1C593D26627DFFB101A87FF77DA
        
7.2. Digital Signature Process (Algorithm I)
7.2. デジタル署名プロセス(アルゴリズムI)

Suppose that after Steps 1-3 in Algorithm I (Section 6.1) are performed, the following numerical values are obtained:

アルゴリズムI(セクション6.1)のステップ1〜3を実行すると、次の数値が得られたとします。

   e = 2079889367447645201713406156150827013\\
       0637142515379653289952617252661468872421
        
   e = 0x2DFBC1B372D89A1188C09C52E0EE\\
       C61FCE52032AB1022E8E67ECE6672B043EE5
        
   k = 538541376773484637314038411479966192\\
       41504003434302020712960838528893196233395
        
   k = 0x77105C9B20BCD3122823C8CF6FCC\\
       7B956DE33814E95B7FE64FED924594DCEAB3
        

And the multiple point C = k * P has the coordinates:

そして、複数の点C = k * Pは座標を持っています:

   x_C = 297009809158179528743712049839382569\\
         90422752107994319651632687982059210933395
        
   x_C = 0x41AA28D2F1AB148280CD9ED56FED\\
         A41974053554A42767B83AD043FD39DC0493
        
   y[C] = 328425352786846634770946653225170845\\
          06804721032454543268132854556539274060910
        
   y[C] = 0x489C375A9941A3049E33B34361DD\\
          204172AD98C3E5916DE27695D22A61FAE46E
        

Parameter r = x_C (mod q) takes the value:

パラメータr = x_C(mod q)は次の値を取ります。

   r = 297009809158179528743712049839382569\\
       90422752107994319651632687982059210933395
        
   r = 0x41AA28D2F1AB148280CD9ED56FED\\
       A41974053554A42767B83AD043FD39DC0493
        
   Parameter s = (r * d + k * e)(mod q) takes the value:
        
   s = 57497340027008465417892531001914703\\
       8455227042649098563933718999175515839552
        
   s = 0x1456C64BA4642A1653C235A98A602\\
       49BCD6D3F746B631DF928014F6C5BF9C40
        
7.3. Verification Process of Digital Signature (Algorithm II)
7.3. デジタル署名の検証プロセス(アルゴリズムII)

Suppose that after Steps 1-3 in Algorithm II (Section 6.2) are performed, the following numerical value is obtained:

アルゴリズムII(セクション6.2)のステップ1〜3を実行した後、次の数値が得られたとします。

   e = 2079889367447645201713406156150827013\\
       0637142515379653289952617252661468872421
        
   e = 0x2DFBC1B372D89A1188C09C52E0EE\\
       C61FCE52032AB1022E8E67ECE6672B043EE5
        

And the parameter v = e^(-1) (mod q) takes the value:

また、パラメーターv = e ^(-1)(mod q)は次の値を取ります。

   v = 176866836059344686773017138249002685\\
       62746883080675496715288036572431145718978
        
   v = 0x271A4EE429F84EBC423E388964555BB\\
       29D3BA53C7BF945E5FAC8F381706354C2
        

The parameters z1 = s * v (mod q) and z2 = -r * v (mod q) take the values:

パラメータz1 = s * v(mod q)およびz2 = -r * v(mod q)は次の値を取ります。

   z1 = 376991675009019385568410572935126561\\
        08841345190491942619304532412743720999759
        
   z1 = 0x5358F8FFB38F7C09ABC782A2DF2A\\
        3927DA4077D07205F763682F3A76C9019B4F
        
   z2 = 141719984273434721125159179695007657\\
        6924665583897286211449993265333367109221
        
   z2 = 0x3221B4FBBF6D101074EC14AFAC2D4F7\\
        EFAC4CF9FEC1ED11BAE336D27D527665
        

The point C = z1 * P + z2 * Q has the coordinates:

点C = z1 * P + z2 * Qには座標があります。

   x_C = 2970098091581795287437120498393825699\\
         0422752107994319651632687982059210933395
        
   x_C = 0x41AA28D2F1AB148280CD9ED56FED\\
         A41974053554A42767B83AD043FD39DC0493
        
   y[C] = 3284253527868466347709466532251708450\\
          6804721032454543268132854556539274060910
        
   y[C] = 0x489C375A9941A3049E33B34361DD\\
          204172AD98C3E5916DE27695D22A61FAE46E
        

Then the parameter R = x_C (mod q) takes the value:

次に、パラメーターR = x_C(mod q)が次の値を取ります。

   R = 2970098091581795287437120498393825699\\
       0422752107994319651632687982059210933395
        
   R = 0x41AA28D2F1AB148280CD9ED56FED\\
       A41974053554A42767B83AD043FD39DC0493
        

Since the equality R = r holds, the digital signature is accepted.

等式R = rが成立するため、デジタル署名が受け入れられます。

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

This entire document is about security considerations.

このドキュメント全体は、セキュリティの考慮事項に関するものです。

9. References
9. 参考文献
9.1. Normative References
9.1. 引用文献

[GOST3410-2001] "Information technology. Cryptographic data security. Signature and verification processes of [electronic] digital signature", GOST R 34.10-2001, Gosudarstvennyi Standard of Russian Federation, Government Committee of Russia for Standards, 2001. (In Russian)

[GOST3410-2001]「情報技術。暗号化データセキュリティ。[電子]デジタル署名の署名と検証プロセス」、GOST R 34.10-2001、ロシア連邦のGosudarstvennyi Standard、ロシア政府標準委員会、2001。(ロシア語)

[GOST3410-2012] "Information technology. Cryptographic data security. Signature and verification processes of [electronic] digital signature", GOST R 34.10-2012, Federal Agency on Technical Regulating and Metrology, 2012.

[GOST3410-2012] "Information technology. Cryptographic data security. Signature and verification processes of [electronic] digital signature", GOST R 34.10-2012, Federal Agency on Technical Regulating and Metrology, 2012.

[GOST3411-2012] "Information technology. Cryptographic Data Security. Hashing function", GOST R 34.11-2012, Federal Agency on Technical Regulating and Metrology, 2012.

[GOST3411-2012]「情報技術。暗号化データセキュリティ。ハッシュ関数」、GOST R 34.11-2012、技術規制と計量に関する連邦政府、2012。

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2119] Bradner、S。、「要件レベルを示すためにRFCで使用するキーワード」、BCP 14、RFC 2119、1997年3月。

[RFC4357] Popov, V., Kurepkin, I., and S. Leontiev, "Additional Cryptographic Algorithms for Use with GOST 28147-89, GOST R 34.10-94, GOST R 34.10-2001, and GOST R 34.11-94 Algorithms", RFC 4357, January 2006.

[RFC4357] Popov、V.、Kurepkin、I。、およびS. Leontiev、「GOST 28147-89、GOST R 34.10-94、GOST R 34.10-2001、およびGOST R 34.11-94アルゴリズムで使用するための追加の暗号化アルゴリズム」 、RFC 4357、2006年1月。

9.2. Informative References
9.2. 参考引用

[ISO2382-2] ISO, "Data processing - Vocabulary - Part 2: Arithmetic and logic operations", ISO 2382-2, 1976.

[ISO2382-2] ISO、「データ処理-語彙-パート2:算術演算と論理演算」、ISO 2382-2、1976。

[ISO9796-2] ISO/IEC, "Information technology - Security techniques - Digital signatures giving message recovery - Part 2: Integer factorization based mechanisms", ISO/IEC 9796-2, 2010.

[ISO9796-2] ISO / IEC、「情報技術-セキュリティ技術-メッセージ回復を行うデジタル署名-パート2:整数分解ベースのメカニズム」、ISO / IEC 9796-2、2010。

[ISO9796-3] ISO/IEC, "Information technology - Security techniques - Digital signature schemes giving message recovery - Part 3: Discrete logarithm based mechanisms", ISO/IEC 9796-3, 2006.

[ISO9796-3] ISO / IEC、「情報技術-セキュリティ技術-メッセージ回復を提供するデジタル署名スキーム-パート3:離散対数ベースのメカニズム」、ISO / IEC 9796-3、2006。

[ISO14888-1] ISO/IEC, "Information technology - Security techniques - Digital signatures with appendix - Part 1: General", ISO/IEC 14888-1, 2008.

[ISO14888-1] ISO / IEC、「情報技術-セキュリティ技術-付録付きデジタル署名-パート1:一般」、ISO / IEC 14888-1、2008。

[ISO14888-2] ISO/IEC, "Information technology - Security techniques - Digital signatures with appendix - Part 2: Integer factorization based mechanisms", ISO/IEC 14888-2, 2008.

[ISO14888-2] ISO / IEC、「情報技術-セキュリティ技術-付録付きデジタル署名-パート2:整数分解ベースのメカニズム」、ISO / IEC 14888-2、2008。

[ISO14888-3] ISO/IEC, "Information technology - Security techniques - Digital signatures with appendix - Part 3: Discrete logarithm based mechanisms", ISO/IEC 14888-3,2006.

[ISO14888-3] ISO / IEC、「情報技術-セキュリティ技術-付録付きデジタル署名-パート3:離散対数ベースのメカニズム」、ISO / IEC 14888-3、2006。

[ISO14888-4] ISO/IEC, "Information technology - Security techniques - Digital signatures with appendix - Part 3: Discrete logarithm based mechanisms. Amendment 1. Elliptic Curve Russian Digital Signature Algorithm, Schnorr Digital Signature Algorithm, Elliptic Curve Schnorr Digital Signature Algorithm, and Elliptic Curve Full Schnorr Digital Signature Algorithm", ISO/IEC 14888-3:2006/Amd 1, 2010.

[ISO14888-4] ISO / IEC、「情報技術-セキュリティ技術-付録付きデジタル署名-パート3:離散対数ベースのメカニズム。修正1.楕円曲線ロシアのデジタル署名アルゴリズム、Schnorrデジタル署名アルゴリズム、楕円曲線Schnorrデジタル署名アルゴリズム、および楕円曲線フルシュノーラーデジタル署名アルゴリズム」、ISO / IEC 14888-3:2006 / Amd 1、2010。

[ISO10118-1] ISO/IEC, "Information technology - Security techniques - Hash-functions - Part 1: General", ISO/IEC 10118-1, 2000.

[ISO10118-1] ISO / IEC、「情報技術-セキュリティ技術-ハッシュ関数-パート1:一般」、ISO / IEC 10118-1、2000。

[ISO10118-2] ISO/IEC, "Information technology - Security techniques - Hash-functions - Part 2: Hash-functions using an n-bit block cipher algorithm", ISO/IEC 10118-2, 2010.

[ISO10118-2] ISO / IEC、「情報技術-セキュリティ技術-ハッシュ関数-パート2:nビットブロック暗号アルゴリズムを使用したハッシュ関数」、ISO / IEC 10118-2、2010。

[ISO10118-3] ISO/IEC, "Information technology - Security techniques - Hash-functions - Part 3: Dedicated hash-functions", ISO/IEC 10118-3, 2004.

[ISO10118-3] ISO / IEC、「情報技術-セキュリティ技術-ハッシュ関数-パート3:専用ハッシュ関数」、ISO / IEC 10118-3、2004。

[ISO10118-4] ISO/IEC, "Information technology - Security techniques - Hash-functions - Part 4: Hash-functions using modular arithmetic", ISO/IEC 10118-4, 1998.

[ISO10118-4] ISO / IEC、「情報技術-セキュリティ技術-ハッシュ関数-パート4:モジュラー演算を使用したハッシュ関数」、ISO / IEC 10118-4、1998年。

[RFC5832] Dolmatov, V., Ed., "GOST R 34.10-2001: Digital Signature Algorithm", RFC 5832, March 2010.

[RFC5832] Dolmatov、V。、編、「GOST R 34.10-2001:Digital Signature Algorithm」、RFC 5832、2010年3月。

[RFC6986] Dolmatov, V., Ed., and A. Degtyarev, "GOST R 34.11-2012: Hash Function", RFC 6986, August 2013.

[RFC6986] Dolmatov、V.、Ed。、およびA. Degtyarev、「GOST R 34.11-2012:Hash Function」、RFC 6986、2013年8月。

Authors' Addresses

Authors' Addresses

Vasily Dolmatov (editor) Cryptocom, Ltd. 14 Kedrova St., Bldg. 2 Moscow, 117218 Russian Federation

Vasily Dolmatov(editor)Cryptocom、Ltd. 14 Kedrova St.、Bldg。 2モスクワ、117218ロシア連邦

   EMail: dol@cryptocom.ru
        

Alexey Degtyarev Cryptocom, Ltd. 14 Kedrova St., Bldg. 2 Moscow, 117218 Russian Federation

Alexey Degtyarev Cryptocom、Ltd. 14 Kedrova St.、Bldg。 2モスクワ、117218ロシア連邦

   EMail: alexey@renatasystems.org