セキュリティーについて調べていた時に、ふと暗号化とハッシュ化は同じ意味合いではないか?と疑問に思ったため、今回暗号化とハッシュ化の違いについてまとめました。
ハッシュ化と暗号化について
ハッシュ化
ハッシュ化は、ハッシュ関数によってデータを不規則な文字列に変換する手法である。
利用のされ方としては、パスワードをハッシュ化して保存・管理することが挙げられる。第三者が不正にパスワードへアクセスしたとしても、ランダムな文字列に変換されていることで、悪用されるのを防げるためである。
暗号化
暗号化は、暗号アルゴリズムによって元のデータを変換する手法である。一方で、暗号化もデータが読み取られないようにする技術であるため、ハッシュ化と混同してしまう人も見受けられる。しかし、暗号化は可逆的な変換であり、ハッシュ化は 不可逆 である点が両者の大きな違いとして挙げられる。
違いは、不可逆性
ハッシュ化
データをハッシュ関数によってハッシュ化し、値を変換することができるが、ハッシュ化された値を、ハッシュ関数を通じて、元の値にすることができない。
暗号化
一方暗号化は、平文を暗号鍵によって暗号文にすることで、判読不能にすることができる。また、この暗号文は復号鍵を利用することで、復号を行い、平文に戻すことができる。
以上を持って、ハッシュ化と暗号化の違いは、不可逆性であると言える。