HashAlgorithm
(TLS)[22] ダイジェストアルゴリズムの名前は、字句です >>21。 大文字・小文字不区別です >>21。
[23] アルゴリズムによっては、引数を加えて指定する必要があるかもしれません >>21。
[27] ダイジェストアルゴリズム名によって識別される符号化は、
引用文字列として表されるものか、 ;
や ,
を使わないものかのいずれかでなければなりません >>25。
[34] ダイジェストアルゴリズムの名前と符号化された値は、 実現値ダイジェストで使われます。
[35] ダイジェストアルゴリズムの名前は Want-Digest:
ヘッダーでも使われます。
[24] 次のダイジェストアルゴリズム名があります。
Digest algorithm values are used to indicate a specific digest computation. For some algorithms, one or more parameters may be supplied.
要約算法値は特定要約計算を示すために使用します。 算法によっては、一つ以上の引数を供給するかもしれません。
- digest-algorithm = token
The BNF for "parameter" is as is used in RFC 2616 [4]. All digest-algorithm values are case-insensitive.
parameter
の BNF は RFC 2616
で使われているものの通りです。すべての digest-algorithm
値は大文字・小文字を区別しません。
The Internet Assigned Numbers Authority (IANA) acts as a registry for digest-algorithm values. Initially, the registry contains the following tokens:
インターネット割り当て番号事務局 (IANA)
が digest-algorithm
値の登録簿として働きます。
最初に、登録簿は次の字句を含みます。
- MD5
- The MD5 algorithm, as specified in RFC 1321 [15]. The output of this algorithm is encoded using the base64 encoding [1].
- SHA
- The SHA-1 algorithm [12]. The output of this algorithm is encoded using the base64 encoding [1].
- UNIXsum
- The algorithm computed by the UNIX "sum" command, as defined by the Single UNIX Specification, Version 2 [13]. The output of this algorithm is an ASCII decimal-digit string representing the 16-bit checksum, which is the first word of the output of the UNIX "sum" command.
- UNIXcksum
- The algorithm computed by the UNIX "cksum" command, as defined by the Single UNIX Specification, Version 2 [13]. The output of this algorithm is an ASCII digit string representing the 32-bit CRC, which is the first word of the output of the UNIX "cksum" command.
MD5
SHA
UNIXsum
UNIXchecksum
If other digest-algorithm values are defined, the associated encoding MUST either be represented as a quoted string, or MUST NOT include ";" or "," in the character sets used for the encoding.
他の digest-algorithm
値が定義される時は、
関連付けられる符号化は引用文字列として表現されるものであるか、
もしくは符号化に用いられる文字集合中に ;
または ,
を含んではならないかでなければなりません。
The Internet Assigned Numbers Authority (IANA) administers the name space for digest-algorithm values. Values and their meaning must be documented in an RFC or other peer-reviewed, permanent, and readily available reference, in sufficient detail so that interoperability between independent implementations is possible. Subject to these constraints, name assignments are First Come, First Served (see RFC 2434 [11]).
インターネット割り当て番号事務局 (IANA)
は digest-algorithm
値の名前空間を管理します。
値とその意味は、 RFC または他のよく評価された、持続的で、
既に入手可能な参照物で、独立な実装が相互運用可能である程度十分詳細に文書化されていなければなりません。
この制約の元、名前割り当ては先来先給とします
(RFC 2434 を参照)。
[32] IANA登録簿には (last updated 2002-01-14)
の時点では RFC 3230
の4種類のみ登録されていました。
[33] その後 RFC 5843 によって MD5
と SHA
の定義が更新されると共に、 SHA-256 と
SHA-512
が追加されています >>28。
[46] 次のダイジェストアルゴリズムがあります。
[67] SHA-256 を実装しなければなりません >>66。
[71] IANA登録簿があります >>70, >>72。 -sess
付きの名前はすべてのアルゴリズムに存在し、 IANA登録簿には登録されません >>72。
[75] 値はASCII大文字・小文字不区別です。
algorithm
引数[51] algorithm
引数は、
digest や unkeyed digest を生成するのに使うアルゴリズムを示します
>>50。
[60] auth-param
の引用文字列構文を使ってはなりません >>50, >>64。
[54] 値はアルゴリズム名です。各アルゴリズムについて、
「non-Session variant」を表す通常の値 (例えば SHA-256
) と
「Session variant」を表す -sess
付きの値 (例えば SHA-256-sess
)
があります >>50。
[55] ダイジェスト認証の challenge >>50 や credentials >>64 で使うことができます。
[65] credentials には、 challenge と同じ値を指定しなければなりません >>64。
[52] algorithm
引数が存在しなければ、
MD5
とみなします >>50。
KD ()
と関数 H ()
[56] データデータと秘密秘密について、
(unkeyed digest アルゴリズムアルゴリズムに関する H ()
を使った)
KD(データ, 秘密)
とは、次の操作をいいます >>50。
[61] 入力入力について unkeyed digest アルゴリズムアルゴリズムの
H (入力)
とは、
入力にアルゴリズムを適用した結果を返す操作をいいます >>50。
[63] これらの関数は、 response=""
引数や
rspauth=""
引数の値の計算に使われます。
ni:
, nih:
URL)[13] ハッシュアルゴリズムは IANA に登録することになっています >>12, >>20。
[14] ハッシュアルゴリズムには名前が付けられます。名前は URL
の構文上は1文字以上の RFC 3986 unreserved
とされていますが、
登録手続き上は制限がありません。 名前は、 ni:
と
nih:
で使います。
[17] また、 Suite ID を割り当てられることもあります。これは 0 から 63
までの整数です。 >>12 Suite ID は nih:
URL と、バイナリ表現で使います。
[5] sha-256
を実装しなければなりません >>3。
[7] truncated hash も実装して構いません >>3。
[9] ハッシュアルゴリズムへの入力が公開鍵の値の時は、
X.509 SubjectPublicKeyInfo
構造の公開鍵に対してハッシュを計算するべきです
>>3。
[4] ハッシュ値URLの比較を参照してください。
[1] スラッシュドット ジャパン | MD4/MD5 コリジョンの実証コードが公開 http://slashdot.jp/security/05/11/18/0125251.shtml (名無しさん 2005-11-18 09:36:28 +00:00)
[2] Hash Function FAQ ( ( 版)) http://burtleburtle.net/bob/hash/hashfaq.html#unique
[37] Instance Digests in HTTP (RFC3230) ( (Anthony Bryan 著, 版)) http://lists.w3.org/Archives/Public/ietf-http-wg/2009JulSep/0872.html
[38] Re: [SRI] Getting sha-384 and sha-512 added to the RFC6920 registry? ( (Brad Hill 著, 版)) http://lists.w3.org/Archives/Public/public-webappsec/2015Jan/0114.html
The value of the algorithm option must be a QName. If it does not have a prefix, then it must be one of the following values: “crc”, “md”, or “sha”.
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
[79] Merge pull request #1671 from w3c/hash-func-registry (alvestrand著, ) https://github.com/w3c/webrtc-pc/commit/3f71abd79f96d2c3f72454707c8f239b6ce0735a
[80] Editorial: Add IANA-HASH-FUNCTION reference by adam-be · Pull Request #1671 · w3c/webrtc-pc () https://github.com/w3c/webrtc-pc/pull/1671
[81] Point to the Hash Function Textual Names registry · Issue #1663 · w3c/webrtc-pc () https://github.com/w3c/webrtc-pc/issues/1663
[82] WebSub () https://w3c.github.io/websub/#recognized-algorithm-names