問題
選択肢
- 1任意の長さのデータから固定長のハッシュ値を生成し、元のデータの復元はできない
- 2暗号化と復号の両方に同じ鍵を使用する
- 3データの圧縮と展開を高速に行うことができる
- 4公開鍵と秘密鍵のペアを生成する
正解
1. 任意の長さのデータから固定長のハッシュ値を生成し、元のデータの復元はできない
詳しい解説を見る解説を閉じる
解説
ハッシュ関数は、任意の長さの入力データから固定長のハッシュ値(メッセージダイジェスト)を計算する関数で、同じ入力からは必ず同じハッシュ値が得られる、ハッシュ値から元のデータを復元できない(一方向性)、入力が少しでも変わるとハッシュ値が大きく変わる、という特徴を持つ。この性質を利用して、データの改ざん検知、パスワードを平文のまま保存しないための変換、ディジタル署名などに使われる。暗号化と復号の両方に同じ鍵を使うのは共通鍵暗号方式の説明であり、ハッシュはそもそも元に戻すことを想定しない点で暗号化と根本的に異なる。データの圧縮・展開とも目的が違い、公開鍵と秘密鍵のペア生成は公開鍵暗号の仕組みである。「ハッシュ=データの指紋(元には戻せない)」というイメージで覚えるのがおすすめである。
一問一答
全200問を繰り返し学習