web-dev-qa-db-ja.com

「デジタル署名」に「暗号化ハッシュ関数」を使用することは可能ですか?

暗号化ハッシュ関数は、任意の入力に対して固定サイズのランダム文字列を生成する関数であることを理解しています。

しかし、デジタル署名に暗号化ハッシュ関数を使用することは可能ですか?

3
Questioner

デジタル署名に暗号化ハッシュ関数を使用することは可能ですか?

ハッシュ関数署名として使用することはできませんが、暗号化ハッシュ関数をすでに使用していますデジタル署名の手順の一部

まず、通信にデジタル署名を適用する一般的な理由をいくつか挙げましょう。

  • 認証
  • 誠実さ
  • 否認防止

整合性が必要な理由

メッセージがデジタル署名されている場合、署名後のメッセージの変更は署名を無効にします。さらに、メッセージとその署名を変更して有効な署名を持つ新しいメッセージを生成する効率的な方法はありません。これは、ほとんどの暗号化ハッシュ関数では計算上実行不可能と見なされているためです( 衝突抵抗 を参照)。 。

これらの暗号ハッシュ関数とは何ですか?

暗号化ハッシュ関数は、任意の量のデータ入力(資格情報)を取り、ハッシュ値または単に「ハッシュ」と呼ばれる暗号化されたテキストの固定サイズの出力を生成するアルゴリズムです。その暗号化されたテキストは、パスワード自体の代わりに保存され、後でユーザーの確認に使用されます。 ソース

メッセージに署名する手順は何ですか?

enter image description hereソース

5
mike

暗号化ハッシュ関数は、任意の入力に対して固定サイズのランダム文字列を生成する関数であることを理解しています。

番号;ハッシュ関数はランダムな文字列を生成しません。これらは確定的な一方向関数です。出力はランダムに見えるかもしれませんが、そうではありません。

すべてのハッシュ関数には、2つの異なるメッセージ1 andm2can have same hash valueh(m1)= h(m2)andm1!= m2`。これはハトの原理で見ることができます。

しかし、デジタル署名に暗号化ハッシュ関数を使用することは可能ですか?

番号;

紙の文書に署名したり、小切手などに署名したりするとき、あなたの署名はあなたに固有です。後の署名の専門家は、これがあなたの署名であるかどうかを判断できます。

同様に、デジタル署名はあなたに固有です。他の人があなたの公開鍵を使用してあなたのデジタル署名を検証できるように、あなたの秘密鍵でドキュメントにデジタル署名します。

ファイルをハッシュ化し、署名済みドキュメントとして配布したとします。自分が署名者であると主張したい。ファイルを既知のハッシュ関数に入れ、ハッシュを生成します。また、誰でもこのドキュメントを使用してハッシュを計算し、所有権を主張したり、所有権を主張したりできます。 authenticationはありません。

文書をハッシュ化して、あなたがこの文書に署名(ハッシュ化)したと主張します。あなたが署名者ではないことを教えていただけますか? 否認はできません。

2
kelalaka