SHA-1 【Secure Hash Algorithm 1】
概要
SHA-1(Secure Hash Algorithm 1)とは、任意の長さの原文を元に160ビット(20バイト)の規則性のない値を生成するハッシュ関数(要約関数)の一つ。1995年に米連邦政府の情報システムに用いる標準規格として策定されたもので、様々な分野で応用されている。ハッシュ関数とは
ハッシュ関数は任意の長さの入力データを元に数十バイト程度までの短い固定長のデータを算出する関数で、同じ入力値からは必ず同じ値が得られる一方、わずかでも入力値が異なるとまったく違う出力値になる。
SHA-1はいわゆる「暗号学的ハッシュ関数」の一つで、出力値には規則性がなく、計算過程に逆算困難な一方向関数を含むため、ハッシュ値から入力値を割り出したり、同じハッシュ値となる別の入力値を生成するのは容易ではない。
データの伝送や複製を行なう際、入力側と出力側でハッシュ値を求めて照合すれば同一性を簡単に確認でき、途中でデータの改竄や欠落、破損などが起こっていないことが分かる。また、暗号や認証、デジタル署名などの要素技術として様々な場面で利用されている。
SHA-1とは
SHA-1はNSA(米国家安全保障局)が考案し、1995年にNIST(米国標準技術局)によって連邦情報処理標準の一つ(FIPS 180-4)として標準化された暗号学的ハッシュ関数である。原文から160ビット(20バイト)のハッシュ値を生成する。
それ以前に存在したMD5などより安全なハッシュ関数として知られ、1990年代末からのインターネット普及期に公開鍵暗号を利用するためのデジタル証明書などで広く応用された。Web通信の暗号化などに用いられるSSL/TLSでも初期には標準的に利用された。
2005年頃から効率的に攻撃する手法がいくつか発見され十分な安全性が保たれなくなったため、近年では2001年に制定された後継の「SHA-2」規格、2015年に制定された「SHA-3」規格への移行が推奨されている。2030年には正式に標準規格の廃止が予定されている。
(2024.2.25更新)