※一部、英文及び仏文を自動翻訳した日本語訳を使用しています。
序文
ISO (国際標準化機構) と IEC (国際電気標準会議) は、世界標準化のための専門システムを形成しています。 ISO または IEC のメンバーである国家機関は、技術活動の特定の分野を扱うために、それぞれの組織によって設立された技術委員会を通じて、国際規格の開発に参加しています。 ISO と IEC の技術委員会は、相互に関心のある分野で協力しています。 ISO および IEC と連携して、政府および非政府の他の国際機関もこの作業に参加しています。情報技術の分野では、ISO と IEC が合同技術委員会 ISO/IEC JTC 1 を設立しました。
この文書の開発に使用された手順と、今後の維持のために意図された手順は、ISO/IEC 指令で説明されています。 1. 特に、さまざまなタイプの文書に必要なさまざまな承認基準に注意する必要があります。この文書は、ISO/IEC 指令の編集規則に従って作成されました。 2 ( www.iso.org/directives を参照)
このドキュメントの要素の一部が特許権の対象となる可能性があることに注意してください。 ISO および IEC は、そのような特許権の一部またはすべてを特定する責任を負わないものとします。ドキュメントの開発中に特定された特許権の詳細は、序文および/または受信した特許宣言の ISO リストに記載されます ( www.iso.org/patents を参照)
このドキュメントで使用されている商号は、ユーザーの便宜のために提供された情報であり、保証を構成するものではありません。
適合性評価に関連する ISO 固有の用語と表現の意味に関する説明、および技術的貿易障壁 (TBT) における世界貿易機関 (WTO) の原則への ISO の準拠に関する情報については、次の URL を参照してください: www.iso .org/iso/foreword.html .
この文書を担当する委員会は、ISO/IEC JTC 1, 情報技術、小委員会 SC 27, IT セキュリティ技術です。
この第 3 版は、技術的に改訂された第 2 版 (ISO/IEC 10118-1:2000) を取り消して置き換えるものです。
ISO/IEC 10118 シリーズのすべての部品のリストは、ISO Web サイトで見つけることができます。
1 スコープ
ISO/IEC 10118 (すべての部分) はハッシュ関数を指定しているため、認証、完全性、および否認防止サービスの提供に適用できます。ハッシュ関数は、指定されたアルゴリズムを使用して、可変長 (通常は上限あり) のビットの文字列を固定長のビットの文字列にマップします。彼らはのために使用することができます
- デジタル署名メカニズムへの入力のためにメッセージを短いインプリントに縮小し、
- この文字列を明らかにせずに、ユーザーを特定のビット文字列にコミットします。
注ISO/IEC 10118 (すべての部分) で指定されたハッシュ関数は、秘密鍵の使用を伴いません。ただし、これらのハッシュ関数は、メッセージ認証コードを作成するために秘密鍵と組み合わせて使用できます。メッセージ認証コード (MAC) は、データ発信元の認証とメッセージの整合性を提供します。ハッシュ関数を使用して MAC を計算する手法は、ISO/IEC 9797-2 [1]で指定されています。
このドキュメントには、ISO/IEC 10118 の他のすべての部分に共通する定義、記号、略語、および要件が含まれています。
2 参考文献
このドキュメントには規範的な参照はありません。
3 用語と定義
このドキュメントでは、次の用語と定義が適用されます。
ISO と IEC は、次のアドレスで標準化に使用する用語データベースを維持しています。
3.1
耐衝突ハッシュ関数
次のプロパティを満たすハッシュ関数: 同じ出力にマッピングされる任意の 2 つの異なる入力を見つけることは、計算上実行不可能です。
注記1:計算の実現可能性は、特定のセキュリティ要件と環境に依存します。附属書 C を参照。
3.2
データ文字列
データ
ハッシュ関数への入力であるビットの文字列
3.3
ハッシュコード
ハッシュ関数の出力であるビットの文字列
注記 1この主題に関する文献には、ハッシュコードと同じまたは類似の意味を持つさまざまな用語が含まれています。変更検出コード、改ざん検出コード、ダイジェスト、ハッシュ結果、ハッシュ値、インプリントなどがあります。
3.4
ハッシュ関数
- 与えられた出力に対して、この出力に対応する入力を見つけることは計算上不可能です。
- 与えられた入力に対して、同じ出力にマッピングされる 2 番目の入力を見つけることは計算上不可能です。
注記1:計算の実現可能性は、特定のセキュリティ要件と環境に依存します。附属書 C を参照。
3.5
初期値
ハッシュ関数の開始点を定義する際に使用される値
注記 1この主題に関する文献には、初期化値と同じまたは類似の意味を持つさまざまな用語が含まれています。初期化ベクトルと開始値は例です。
3.6
出力変換
ハッシュコードを取得するための反復段階の出力の変換またはマッピング
3.7
パディング
データ文字列に余分なビットを追加する
3.8
ラウンド関数
長さの 2 つのバイナリ文字列を、ハッシュ関数の一部として繰り返し使用される長さのバイナリ文字列に変換する関数。ここで、長さのデータ文字列を長さの前の出力または初期化値と結合します。
注記 1この主題に関する文献には、ラウンド関数と同じまたは類似の意味を持つさまざまな用語が含まれています。圧縮機能と反復機能は、いくつかの例です。
参考文献
| [1] | ISO/IEC 9797-2, 情報技術 — セキュリティ技術 — メッセージ認証コード (MAC) — 2:専用のハッシュ関数を使った仕組み |
| [2] | Preneel B.、 Analysis and Design of Cryptographic Hash Functions 、博士論文、Katholieke Universiteit Leuven, 1993 |
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission) form the specialized system for worldwide standardization. National bodies that are members of ISO or IEC participate in the development of International Standards through technical committees established by the respective organization to deal with particular fields of technical activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other international organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.
The procedures used to develop this document and those intended for its further maintenance are described in the ISO/IEC Directives, 1. In particular the different approval criteria needed for the different types of document should be noted. This document was drafted in accordance with the editorial rules of the ISO/IEC Directives, 2 (see www.iso.org/directives ).
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights. Details of any patent rights identified during the development of the document will be in the Introduction and/or on the ISO list of patent declarations received (see www.iso.org/patents ).
Any trade name used in this document is information given for the convenience of users and does not constitute an endorsement.
For an explanation on the meaning of ISO specific terms and expressions related to conformity assessment, as well as information about ISO’s adherence to the World Trade Organization (WTO) principles in the Technical Barriers to Trade (TBT) see the following URL: www.iso.org/iso/foreword.html .
The committee responsible for this document is ISO/IEC JTC 1, Information technology, Subcommittee SC 27, IT Security techniques.
This third edition cancels and replaces the second edition (ISO/IEC 10118-1:2000), which has been technically revised.
A list of all parts in the ISO/IEC 10118 series can be found on the ISO website.
1 Scope
ISO/IEC 10118 (all parts) specifies hash-functions and is therefore applicable to the provision of authentication, integrity and non-repudiation services. Hash-functions map strings of bits of variable (but usually upper bounded) length to fixed-length strings of bits, using a specified algorithm. They can be used for
- reducing a message to a short imprint for input to a digital signature mechanism, and
- committing the user to a given string of bits without revealing this string.
NOTE The hash-functions specified in ISO/IEC 10118 (all parts) do not involve the use of secret keys. However, these hash-functions may be used, in conjunction with secret keys, to build message authentication codes. Message Authentication Codes (MACs) provide data origin authentication as well as message integrity. Techniques for computing a MAC using a hash-function are specified in ISO/IEC 9797-2 [1].
This document contains definitions, symbols, abbreviations and requirements that are common to all the other parts of ISO/IEC 10118. The criteria used to select the algorithms specified in subsequent parts of ISO/IEC 10118 are defined in Annex B of this document.
2 Normative references
There are no normative references in this document.
3 Terms and definitions
For the purposes of this document, the following terms and definitions apply.
ISO and IEC maintain terminological databases for use in standardization at the following addresses:
3.1
collision-resistant hash-function
hash-function satisfying the following property: it is computationally infeasible to find any two distinct inputs which map to the same output
Note 1 to entry: Computational feasibility depends on the specific security requirements and environment. Refer to Annex C.
3.2
data string
data
string of bits which is the input to a hash-function
3.3
hash-code
string of bits which is the output of a hash-function
Note 1 to entry: The literature on this subject contains a variety of terms that have the same or similar meaning as hash-code. Modification Detection Code, Manipulation Detection Code, digest, hash-result, hash-value and imprint are some examples.
3.4
hash-function
- for a given output, it is computationally infeasible to find an input which maps to this output;
- for a given input, it is computationally infeasible to find a second input which maps to the same output
Note 1 to entry: Computational feasibility depends on the specific security requirements and environment. Refer to Annex C.
3.5
initializing value
value used in defining the starting point of a hash-function
Note 1 to entry: The literature on this subject contains a variety of terms that have the same or similar meaning as initializing value. Initialization vector and starting value are examples.
3.6
output transformation
transformation or mapping of the output of the iteration stage to obtain the hash-code
3.7
padding
appending extra bits to a data string
3.8
round-function
function that transforms two binary strings of lengths and to a binary string of length that is used iteratively as part of a hash-function, where it combines a data string of length with the previous output of length or the initializing value
Note 1 to entry: The literature on this subject contains a variety of terms that have the same or similar meaning as round-function. Compression function and iterative function are some examples.
Bibliography
| [1] | ISO/IEC 9797-2, Information technology — Security techniques — Message Authentication Codes (MACs) — 2: Mechanisms using a dedicated hash-function |
| [2] | Preneel B., Analysis and Design of Cryptographic Hash Functions, Doctoral Dissertation, Katholieke Universiteit Leuven, 1993 |