Hash chain

提供: tezos-wiki
移動先: 案内検索

ハッシュチェーン(hash chain)は、データへの[暗号ハッシュ関数(cryptographic hash function)]の連続的な適用である。 [computer security]では、ハッシュ・チェーンは、[[Key(暗号)]キー]またはpasswordからワンタイム・キーを多数生成する方法です。 [[否認防止(non-repudiation)]のために、ハッシュ関数は、データの存在の年代を記録するために、追加のデータに連続的に適用することができる。

定義[編集]

A 'ハッシュチェーン' は、暗号ハッシュ関数 <math> h </ math>を文字列<xath> x </ math>に変換する。

例えば、

(h(h)(x))))...(1)ここで、 は、長さ4のハッシュ・チェーンを与え、これは、しばしば、以下のように表される:h ^ {4}(x)

アプリケーション[編集]

Lamportは、安全でない環境でパスワード保護スキームとしてハッシュチェーンを使用することを提案しました。 認証を提供する必要があるサーバーは、プレーンテキストパスワードではなくハッシュチェーンを格納し、サーバーからの盗難や盗難時のパスワードの盗難を防ぐことができます。例えば、サーバは、<math> h ^ {1000}(パスワード)&lt; / math&gt;これはユーザによって提供される。ユーザは、認証を希望するときには、&lt; math&gt; h ^ {999}(パスワード)&lt; / math&gt;サーバーに送信します。サーバは、(h ^ {999}(パスワード))= h ^ {1000}(パスワード)</ math>を計算する。これが格納しているハッシュチェーンと一致することを確認します。次に、&lt; math&gt; h ^ {999}(パスワード)&lt; / math&gt;次回ユーザが認証を希望するときに使用します。

&lt;数学&gt; h ^ {999}(パスワード)&lt; / math&gt;を見ている盗聴者は、サーバは、今や、サーバが<math> h ^ {998}(パスワード)</ math>を期待するので、認証のためにサーバに同じハッシュチェーンを再送信することができない。 暗号安全ハッシュ関数一方向性により、盗聴者がハッシュ関数を逆転させてハッシュの早い部分を得ることは不可能である鎖。この例では、ユーザーはハッシュチェーンが使い尽くされる前に1000回認証できます。ハッシュ値が異なるたびに、攻撃者が重複することはできません。

バイナリハッシュチェーン[編集]

バイナリハッシュチェーンは、 hash treeに関連して一般的に使用されます。バイナリハッシュチェーンは、2つのハッシュ値を入力として受け取り、それらを連結し、結果にハッシュ関数を適用し、それによって第3のハッシュ値を生成する。

ハッシュツリーとハッシュチェーン

上の図は、8つのリーフノードと3番目のリーフノードのハッシュチェーンで構成されるハッシュツリーを示しています。ハッシュ値自体に加えて、連結の順序(右または左1,0)または「順序ビット」は、ハッシュチェーンを完了するために必要です。

ハッシュチェーン対ブロックチェーン[編集]

ハッシュチェーンは2つのノード間のリンクを作成するために暗号ハッシュ関数を使用するため、ブロックチェーンに似ています。しかし、ブロックチェーン([Bitcoin]や関連システムで使用される)は、一般に、公的元帳(データ)の周りの分散コンセンサスをサポートすることを意図しており、データと関連するデータパーミッションのカプセル化のための一連のルールを組み込んでいます。

関連項目[編集]

ソース[編集]

http://wikipedia.org/