ネットワーク WG
Request for Comments: 3874
分類: 情報提供

R. Housley
Vigil Security
2004年 9月

English

SHA-224
(A 224-bit One-way Hash Function: SHA-224)

このメモの位置づけ

このメモは、インターネットコミュニティに情報を提供するものです。これは、いかなるインターネット標準をも定めるものではありません。このメモの配布には制限はありません。

著作権表記

Copyright (C) The Internet Society (2004).

要旨

本書は、SHA-224 と呼ばれる 224 bit の一方向ハッシュ関数を規定します。SHA-224 は、SHA-256 に基づいていますが、異なる IV を使っており、その結果は、224 bit に切り詰められています。

 

1.  はじめに English

本書は、SHA-224 と呼ばれる 224 bit の一方向ハッシュ関数を規定します。NIST(National Institute of Standards and Technology)は、2004年 2月28日に、SHA-224 一方向ハッシュ関数を規定している FIPS 180-2 の変更通知をアナウンスしました。一方向ハッシュ関数は、メッセージダイジェストとしても知られています。SHA-224 は、SHA-256(既に NIST [SHA2] によって規定されている 256 bit の一方向ハッシュ関数)に基づいています。SHA-224 ハッシュ値の計算処理は、2 段階です。まず、異なる IV が使われる以外は、SHA-256 のハッシュ値が計算処理されます。2 番目に、結果としての 256 bit のハッシュ値は、224 bit に切り詰められます。

NIST は、暗号鍵の管理についてのガイダンスを策定中であり、NIST は、最近、コメントを募るドラフト [NISTGUIDE] を発行しました。5 つのセキュリティレベル(80, 112, 128, 192, 256 bit のセキュリティ)が、そのガイダンスにおいて検討されています。一方向ハッシュ関数は、ひとつを除いて、これらのすべてのレベル用に利用可能です。SHA-224 は、この void になります。SHA-224 は、112 bit のセキュリティ(これは、通常、Triple-DES [3DES] で受容される強さです。)を提供する一方向ハッシュ関数です。

本書は、インターネットコミュニティに、SHA-224 一方向ハッシュ関数仕様を利用可能にし、これは、ASN.1-based プロトコルにおける用途のために オブジェクト識別子を発行する。

1.1. 用法についての考慮事項 English

SHA-224 は、SHA-256 に基づいているので、概ね同量の労力が、SHA-224 もしくは SHA-256 のメッセージダイジェスト値を計算するために費やされる。SHA-224 と SHA-256 は、概ね同等の計算量的複雑性をもちますが、SHA-224 は、112 bit のセキュリティを提供する一方向ハッシュ関数について、適切な選択肢のひとつです。異なる IV の利用は、「切り詰められた SHA-256 のメッセージダイジェスト値は、同一のデータについて計算された SHA-224 メッセージダイジェスト値と間違われることができないこと」を確保します。

利用環境によっては、転送されるすべてのオクテットに対して神経質なところがあります。これらの場合において、SHA-224 によって提供される、(4 octet による)より小さなメッセージダイジェスト値が重要です。

これらの観察によって、下記のガイダンスが導かれます。:

1.2. 用語法 English

本書中のキーワード "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" は、[STDWORDS] に記述されているように解釈されるべきものです。

 

2. SHA-224 仕様 English

SHA-224 は、長さが 2^64 bits より短いメッセージについての一方向ハッシュ値を計算処理するために使われる可能性があります。

SHA-224 は、SHA-256 [SHA2] を利用しています。一方向ハッシュ値を計算処理するために、SHA-256 は、sixty-four 32-bit words、eight 32-bit working 変数のメッセージ schedule を使い、eight 32-bit words のハッシュ値を作りりだします。

その関数は、下記の 2 つの例外を伴う SHA-256 と同一の作法で定義されます。:

まず、SHA-224 について、8 つの 32-bit working 変数(collectively called H)の初期ハッシュ値は、下記の eight 32-bit words (in hex) から成るものとする。:

H_0 = c1059ed8               H_4 = ffc00b31
H_1 = 367cd507               H_5 = 68581511
H_2 = 3070dd17               H_6 = 64f98fa7
H_3 = f70e5939               H_7 = befa4fa4

2 番目に、SHA-224 は、単に、最初の 7 つの 32-bit words を SHA-256 の結果中に(SHA-256 の結果中の残る 32-bit words を無視して)適用します。すなわち、H の最終的な値は、下記のように使われます。ここで、|| は、concatenation を表しています。:

H_0 || H_1 || H_2 || H_3 || H_4 || H_5 || H_6

 

3.  テストベクトル English

この章には、3 つのテストベクターが示されます。これらのテストベクターは、SHA-224 の実装をテストするために使えます。

3.1.テストベクトル #1 English

そのメッセージを、下記のバイナリと同等である 24-bit の ASCII 文字列 "abc"となるようにハッシュ化します。:

01100001 01100010 01100011

SHA-224 ハッシュ値は、下記のとおりです(in hex)。:

23097d22 3405d822 8642a477 bda255b3 2aadbce4 bda0b3f7 e36c9da7

3.2. テストベクトル #2 English

そのメッセージを 448-bit の ASCII 文字列 "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" となるようにハッシュ化します。

SHA-224 ハッシュ値は、下記のとおりです(in hex)。:

75388b16 512776cc 5dba5da1 fd890150 b0c6455c b4f58b19 52522525

3.3. テストベクトル #3 English

そのメッセージを、文字 "a"の 1,000,000 字から成る ASCII 文字列の binary-coded 形式となるようにハッシュ化します。

SHA-224 ハッシュ値は、下記のとおりです(in hex)。:

20794655 980c91d8 bbb4c1ea 97618a4b f03f4258 1948b2ee 4ee7ad67

 

4.  オブジェクト識別子 English

NIST は、SHA-224 についての ASN.1 [X.208-88, X.209-88] オブジェクト識別子を割り当てました。プロトコルによっては、一方向ハッシュ関数を指名するために、オブジェクト識別子を使います。一例は、CMS [CMS] です。SHA-224 を利用する、このようなプロトコルの実装は、下記のオブジェクト識別子を使わなければなりません(MUST)

      id-sha224  OBJECT IDENTIFIER  ::=  { joint-iso-itu-t(2)
                      country(16) us(840) organization(1) gov(101)
                      csor(3) nistalgorithm(4) hashalgs(2) sha224(4) }

 

5.  セキュリティについての考慮事項 English

一方向ハッシュ関数は、典型的には、(デジタル署名アルゴリズムや鍵つき HMAC のような)他の暗号アルゴリズムと共に、あるいは、random 値の生成において使われます。一方向ハッシュ関数が他のアルゴリズムと組み合わせて使われているとき、一定数 bit のセキュリティの一方向ハッシュ関数の利用を要求するどこかで規定された要件がある可能性があります。たとえば、あるメッセージが 128 bit のセキュリティを提供するデジタル署名アルゴリズムで署名される場合、その署名アルゴリズムは、同数 bit のセキュリティを提供する一方向ハッシュアルゴリズムの利用を要求する可能性がります。SHA-224 は、112 bit のセキュリティ(これは、一般に、受容されている Triple-DES [3DES] の強度)を提供することが意図されています。

本書は、SHA-224 仕様をインターネットコミュニティに提供することが意図されています。この一方向ハッシュ関数のセキュリティについての独立した宣言は、いかなる特定用途についても、著者によって意図されたものではありません。しかし、SHA-256 が期待されるセキュリティを提供するかぎり、SHA-224 は、その期待されるレベルのセキュリティを提供します。

 

6.  参考文献

6.1.  規範的参考文献

[SHA2] Federal Information Processing Standards Publication (FIPS PUB) 180-2,
Secure Hash Standard,
2002年 8月 1日.
 
[STDWORDS] Bradner, S.,
「RFC において要請の程度を示すために用いるキーワード
( Key words for use in RFCs to Indicate Requirement Levels)」,
BCP 14, RFC 2119, 1997年 3月.
 

6.2.  参考情報

[3DES] American National Standards Institute.  ANSI X9.52-1998,
Triple Data Encryption Algorithm Modes of Operation.
1998年.
 
[CMS] Housley, R.,
"Cryptographic Message Syntax (CMS)",
RFC 3852(English), 2004年 7月.
 
[NISTGUIDE] National Institute of Standards and Technology. 
Second  Draft: "Key Management Guideline, Part 1:  General  Guidance."  2002年 6月.
[http://csrc.nist.gov/encryption/kms/guideline-1.pdf]
 
[X.208-88] CCITT Recommendation X.208: Specification of Abstract Syntax Notation One (ASN.1).
1988年.
 
[X.209-88] CCITT Recommendation X.209: Specification of Basic Encoding Rules for Abstract Syntax Notation One (ASN.1).
1988年.

 

7.  謝辞 English

テストベクトルを作成してくださった Jim Schaad 氏に多謝。Brian Gladman 氏による 2 番目の実装は、「テストベクトルが正しいこと」を確認するために使われました。

 

8.  著者のアドレス

Russell Housley
Vigil Security, LLC
918 Spring Knoll Drive
Herndon, VA 20170
USA

EMail: housley@vigilsec.com

翻訳者のアドレス

宮川 寧夫
独立行政法人 情報処理推進機構

セキュリティセンター

EMail: miyakawa@ipa.go.jp

 

9.  著作権表記全文

Copyright (C) The Internet Society (2004).

This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.

This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/S HE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

知的財産権

The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights.  Information
 on the IETF's procedures with respect to rights in IETF Documents can be found in BCP 78 and BCP 79.

Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of  such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement
 this standard.  Please address the information to the IETF at ietf-ipr@ietf.org.

謝辞

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