メインコンテンツまでスキップ

5. Calculation of the Hash (ハッシュの計算)

5. Calculation of the Hash (ハッシュの計算)

ハッシュ計算は, NSEC3 RDATA フィールドの3つを使用します: Hash Algorithm, Salt, および Iterations。

H(x) を NSEC3 RR によって選択された Hash Algorithm を使用した x のハッシュ, k を Iterations の数, || を連結を示すものとして定義します。次に以下のように定義します:

IH(salt, x, 0) = H(x || salt), および

IH(salt, x, k) = H(IH(salt, x, k-1) || salt), k > 0 の場合

次に, オーナー名の計算されたハッシュは次のようになります:

IH(salt, owner name, iterations),

ここで, オーナー名は次のように定義される正規形式です:

オーナー名のワイヤ形式で, 以下の条件を満たすもの:

  1. オーナー名は完全に展開されており (DNS 名圧縮なし), 完全修飾されています。

  2. すべての大文字の US-ASCII 文字は, 対応する小文字の US-ASCII 文字に置き換えられます。

  3. オーナー名がワイルドカード名の場合, オーナー名は "*" ラベルを含む元の展開されていない形式です (ワイルドカード置換なし)。

この形式は, [RFC4034] のセクション 6.2 で定義されているものです。

ハッシュを計算する方法は, [RFC2898] に基づいています。