【暗号化技術と認証(ハッシュ関数とデジタル署名)について】
このHPは暗号化技術と認証(ハッシュ関数とデジタル署名)についてまとめたものです。
1-1 ハッシュ関数とは
ハッシュ関数とは、文章や画像、動画等の任意のデータから、あらかじめ決められた範囲内の値を計算する関数のこと。その出力値をデータのハッシュ値という。得られたハッシュ値は、元のデータの長さに関係なく一定の長さとなっており、同じデータからは必ず同じハッシュ値が得られる。また、ハッシュ値から元のデータを復元することはできない。
ハッシュ関数には、大きく2つの特徴がある。
1つ目は、ハッシュ値からは元のメッセージは算出できないこと。2つ目は、元のメッセージが1文字異なるだけでも、ハッシュ値は大きく変わること。


ハッシュ関数には、MD-5、SHA-1、SHA-2等のアルゴリズムが存在する。

1-2 デジタル署名
「デジタル署名」とは、メッセージに対するハッシュ値を秘密鍵で暗号化することで、メッセージの改ざん検知、および否認防止、を実現する仕組みのこと。
送信者が送ったデータ(テキスト、画像、音声のファイル等)が、送信者本人が送ったものであることを受信者に対して証明する技術である。
デジタル署名を生成することを「署名」と呼び、署名が有効であることを確認することを「署名の検証」と呼ぶ。
デジタル署名の手順は次のとおり。
@送信者は、秘密鍵と公開鍵を作成し、公開鍵を公開するなどの方法で、受信者渡しておく。
Aハッシュ関数を用いて、送信したいデータのハッシュ値を得る。
B送信者は秘密鍵を用いて、そのハッシュ値を暗号化する。暗号化されたハッシュ値のことを
「デジタル署名」と呼ぶ。
C送りたいデータとデジタル署名を受信者へ送信する。
Dハッシュ関数を使用して、受信したデータのハッシュ値を得る。
E送信者の公開鍵を用いて、受信したデジタル署名を復号して、暗号化されれていないハッシュ値を
求める。ここで、送信者の秘密鍵で暗号化したデータは、秘密鍵とペアとなる受信者の公開鍵でしか
復号できないことに注意。
FCのハッシュ値とDのハッシュ値を比較し、一致するかどうかを確認する。一致すれば、データーは送信者によって作成されたことを確認できる。一致しない場合、何らかの攻撃があったとみなし、メッセージを不正なものとする。

このHPは暗号化技術と認証(ハッシュ関数とデジタル署名)についてまとめたものです。
1-1 ハッシュ関数とは
ハッシュ関数とは、文章や画像、動画等の任意のデータから、あらかじめ決められた範囲内の値を計算する関数のこと。その出力値をデータのハッシュ値という。得られたハッシュ値は、元のデータの長さに関係なく一定の長さとなっており、同じデータからは必ず同じハッシュ値が得られる。また、ハッシュ値から元のデータを復元することはできない。
ハッシュ関数には、大きく2つの特徴がある。
1つ目は、ハッシュ値からは元のメッセージは算出できないこと。2つ目は、元のメッセージが1文字異なるだけでも、ハッシュ値は大きく変わること。


ハッシュ関数には、MD-5、SHA-1、SHA-2等のアルゴリズムが存在する。

1-2 デジタル署名
「デジタル署名」とは、メッセージに対するハッシュ値を秘密鍵で暗号化することで、メッセージの改ざん検知、および否認防止、を実現する仕組みのこと。
送信者が送ったデータ(テキスト、画像、音声のファイル等)が、送信者本人が送ったものであることを受信者に対して証明する技術である。
デジタル署名を生成することを「署名」と呼び、署名が有効であることを確認することを「署名の検証」と呼ぶ。
デジタル署名の手順は次のとおり。
@送信者は、秘密鍵と公開鍵を作成し、公開鍵を公開するなどの方法で、受信者渡しておく。
Aハッシュ関数を用いて、送信したいデータのハッシュ値を得る。
B送信者は秘密鍵を用いて、そのハッシュ値を暗号化する。暗号化されたハッシュ値のことを
「デジタル署名」と呼ぶ。
C送りたいデータとデジタル署名を受信者へ送信する。
Dハッシュ関数を使用して、受信したデータのハッシュ値を得る。
E送信者の公開鍵を用いて、受信したデジタル署名を復号して、暗号化されれていないハッシュ値を
求める。ここで、送信者の秘密鍵で暗号化したデータは、秘密鍵とペアとなる受信者の公開鍵でしか
復号できないことに注意。
FCのハッシュ値とDのハッシュ値を比較し、一致するかどうかを確認する。一致すれば、データーは送信者によって作成されたことを確認できる。一致しない場合、何らかの攻撃があったとみなし、メッセージを不正なものとする。
