・用途…認証プログラムで、セキュリティの観点からソース内にパスワードを記述したくない場合等に利用(※パスワードの平文保存は不可)
・仕組…2の64乗ビット以下の原文から160ビットの「ハッシュ値」を生成(SHA1ハッシュ値を計算して暗号化された、16進数の40文字の文字列を取得)し、通信経路の両端で比較することで、通信途中で原文が改ざんされていないかを検出することができる。計算方法には初期値敏感性の不可逆な一方向関数を含むため、ハッシュ値は擬似的な乱数のような値をとり、これをもとに原文を再現することはできない(sha1の暗号化は、一方向のアルゴリズムのため複合化不可)。また、同じハッシュ値を生成する別のメッセージを作成することも極めて困難。
・歴史…1995年に米国標準技術局(NIST)によってアメリカ政府の標準ハッシュ関数として採用されたものの、現在では、アメリカ政府や大手企業はSHA-1は利用していない、とされる。
・強度…MD5よりも攻撃に対して強い
SHA-2 > SHA-1 > MD5 (強い順)
・脆弱性…SHA-1に脆弱性が全くないとは言えない、とされる。(ちなみにMD5はもっと危険)
・仕組…2の64乗ビット以下の原文から160ビットの「ハッシュ値」を生成(SHA1ハッシュ値を計算して暗号化された、16進数の40文字の文字列を取得)し、通信経路の両端で比較することで、通信途中で原文が改ざんされていないかを検出することができる。計算方法には初期値敏感性の不可逆な一方向関数を含むため、ハッシュ値は擬似的な乱数のような値をとり、これをもとに原文を再現することはできない(sha1の暗号化は、一方向のアルゴリズムのため複合化不可)。また、同じハッシュ値を生成する別のメッセージを作成することも極めて困難。
・歴史…1995年に米国標準技術局(NIST)によってアメリカ政府の標準ハッシュ関数として採用されたものの、現在では、アメリカ政府や大手企業はSHA-1は利用していない、とされる。
・強度…MD5よりも攻撃に対して強い
SHA-2 > SHA-1 > MD5 (強い順)
・脆弱性…SHA-1に脆弱性が全くないとは言えない、とされる。(ちなみにMD5はもっと危険)