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),
ここで, オーナー名は次のように定義される正規形式です:
オーナー名のワイヤ形式で, 以下の条件を満たすもの:
-
オーナー名は完全に展開されており (DNS 名圧縮なし), 完全修飾されています。
-
すべての大文字の US-ASCII 文字は, 対応する小文字の US-ASCII 文字に置き換えられます。
-
オーナー名がワイルドカード名の場合, オーナー名は "*" ラベルを含む元の展開されていない形式です (ワイルドカード置換なし)。
この形式は, [RFC4034] のセクション 6.2 で定義されているものです。
ハッシュを計算する方法は, [RFC2898] に基づいています。