プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

情報セキュリティにおけるハッシュ関数の要件は何ですか?


暗号化ハッシュ関数は、入力(またはメッセージ)を作成し、ハッシュ値と呼ばれる固定サイズの文字列を復元する変換です。ハッシュ値hは、-

の形式の関数Hによって生成されます。

h =H(M)

ここで、Mは可変長メッセージ、H(M)は固定長ハッシュ値です。

ハッシュ関数は、セキュリティを実行するために暗号化で一般的に使用される数学関数です。ハッシュ関数は、任意のサイズの入力値を固定サイズの値に変換します。したがって、入力は任意の長さにすることができますが、生成される出力は常に固定長です。生成された出力は、ハッシュ値またはハッシュと呼ばれます。

ハッシュの一般的な使用法はパスワードチェックです。ユーザーがパスワードを入力すると、パスワードのハッシュが生成され、データベース内のハッシュと比較されます。両方のハッシュが等しい場合、ユーザーはログインできます。そうでない場合、ユーザーはパスワードを再入力する必要があります。

ハッシュ値は、メッセージが正しいと見なされたとき、またはメッセージが正しいことがわかったときに、送信元のメッセージに追加されます。受信者は、ハッシュ値を再計算してメッセージを検証します。

ハッシュ関数は、入力として任意の長さの文字列を作成し、サポートされる情報の署名のタイプとして容易にする固定長の文字列を作成します。このアプローチでは、ハッシュ値を理解している人は元のメッセージを理解できませんが、元のメッセージを理解している人は、ハッシュがそのメッセージから生成されていることを証明できます。

暗号化ハッシュ関数は、決定論的で効果的に計算可能でありながら、ランダム関数のように機能する必要があります。暗号化ハッシュ関数は、暗号化の分野で不可欠なツールであり、信頼性、デジタル署名、疑似番号生成、デジタルステガノグラフィ、デジタルタイムスタンプなどの多くのセキュリティ目標を実行するために使用されます。

ハッシュ関数の要件は次のとおりです-

ハッシュ関数は、ファイル、メッセージ、またはその他の情報ブロックのフィンガープリントを作成します。ハッシュ関数Hは、次のようなプロパティを持つ必要があります-

  • ハッシュ関数は、あらゆるサイズの情報のブロックに使用できます。

  • H(x)は、任意のxについて比較的簡単に計算できるため、ハードウェアとソフトウェアの両方の実装が実用的です。

  • 任意の値hに対して、H(x)=hとなるxを見つけることは計算上不可能です。これは一方向のプロパティとして定義されています。

  • 任意のブロックxについて、H(y)=H(x)でy≠xを見つけることは計算上不可能です。この特性は、弱い衝突耐性として定義されています。

  • H(x)=H(y)のようなペア(x、y)を見つけることは計算上不可能です。この特性は、強い衝突耐性と呼ばれます。


  1. 情報セキュリティの暗号化ハッシュ関数とは何ですか?

    暗号化ハッシュ関数は、暗号化で使用される数値関数です。暗号化ハッシュ関数は、ハッシュ関数のメッセージパッシング機能をセキュリティ機能と統合します。 ハッシュ関数という用語は、コンピュータサイエンスで非常に頻繁に使用されており、任意の入力の文字列を一定の長さの文字列に圧縮する関数として定義されています。ただし、さらにいくつかの要件を満たしている場合は、暗号化アプリケーションに使用でき、暗号化ハッシュ関数と呼ばれます。 暗号化ハッシュ関数は、暗号化の分野で最も重要なツールであり、信頼性、デジタル署名、疑似番号生成、デジタルステガノグラフィ、デジタルタイムスタンプなどの多くのセキュリティ目標を管

  2. 情報セキュリティにおける復号化の種類は何ですか?

    暗号化の逆のプロセスは、復号化として知られています。これは、暗号文をプレーンテキストに変換する手順です。暗号化では、読み取り不可能なメッセージ(暗号文)から元のメッセージを取得するために、受信側で復号化技術が必要です。 復号化は、情報のエンコードに使用される反対の変換アルゴリズムを使用して動作します。暗号化されたデータを初期状態に戻すには、同じキーが必要です。 復号化では、システムは文字化けした情報を抽出して変換し、それを読者だけでなくシステムでも簡単に理解できるテキストや画像に変更します。復号化は手動または自動で実行できます。キーまたはパスワードのセットを使用して実装することもできます。