0

次の状況を考慮してください。

  1. ハッシュ "h" を生成する文字列 s とハッシュ関数 H があります。
  2. s と h の両方を別の人に送信します。
  3. 彼は s と h を私に送り返します。
  4. s と h received で、h'=H(s) を実行し、それを h received と比較します。それらが同一の場合、つまり、ステップ 3 で受信した si がステップ 2 で送信したものとまったく同じであることを意味します。

あれは正しいですか?

誰かが h と s を持っていて H ハッシュ関数を持っていない場合、その人は H 関数を発見 (または作成) できますか?

ありがとう

4

1 に答える 1

1
  1. はい、ハッシュが同じである場合、ハッシュの衝突を除いて、両方の文字列は同じです。

  2. 一般に、文字列とそのハッシュ値からハッシュ関数をリバースエンジニアリングすることはできません。明らかに、ハッシュ関数が一般的なもの(SHA1)である場合、「攻撃者」がさまざまな標準ハッシュアルゴリズムを試し、どれが使用されたかを確認するのは簡単です。しかし、これはsいくつかの秘密と一緒にハッシュすることで修正できます。

于 2012-08-26T06:57:13.420 に答える