「SHA-2」の版間の差分

提供: セキュリティ
移動: 案内検索
(ページの作成:「<!-- vim: filetype=mediawiki --> SHA-2 とは、SHA-1 の後継にあたるハッシュ関数です。SHA-2 ファミリーには、生成するビッ...」)
 
 
(同じ利用者による、間の4版が非表示)
行1: 行1:
<!--
 
vim: filetype=mediawiki
 
-->
 
 
[[SHA-2]] とは、[[SHA-1]] の後継にあたる[[ハッシュ関数]]です。[[SHA-2]] ファミリーには、生成するビット長が異なる SHA-224, SHA-256, SHA-384, SHA-512 が存在します。
 
[[SHA-2]] とは、[[SHA-1]] の後継にあたる[[ハッシュ関数]]です。[[SHA-2]] ファミリーには、生成するビット長が異なる SHA-224, SHA-256, SHA-384, SHA-512 が存在します。
  
行9: 行6:
  
 
== 概要 ==
 
== 概要 ==
 
 
[[SHA-2]] は、256ビット = 2の256乗 通りのハッシュ値をとります。
 
[[SHA-2]] は、256ビット = 2の256乗 通りのハッシュ値をとります。
 
64桁で 16進数で表されます。
 
64桁で 16進数で表されます。
 +
== SHA-2 のバリエーション ==
 +
[[SHA-2]] Niha,以下のバリエーションがあります。
 +
* SHA-224
 +
* SHA-256
 +
* SHA-384
 +
* SHA-512
 +
* SHA-512/224
 +
* SHA-512/256
  
 +
ハッシュ長は、224,256,384,512ビットのいずれかです。
 +
== SHA-256とSHA-512 の違い ==
 +
SHA-256 は、32ビットのワード長から計算される[[ハッシュ関数]]です。
 +
SHA-512 は、64ビットのワード長から計算される[[ハッシュ関数]]です。
 +
== SHA-224とSHA-384 ==
 +
SHA-324とSHA-384 は、 SHA-256 と SHA-512 を単純に切り詰めたバージョンです。
 +
初期値のみが異なります。
 +
== SHA-512/224 と SHA-512/256 ==
 +
SHA-512 を切り詰めたバージョンです。
 
== 使い方 ==
 
== 使い方 ==
 +
=== OpenSSLコマンド ===
 +
[[Unix]]では、[[OpenSSL]]コマンドを使用して、SHA-2を求めることができます。
 +
<syntaxhighlight lang="bash">
 +
$ echo hoge | openssl dgst -sha512
 +
 +
(stdin)= 71cc44fbbad040fc59b11b9a84806ae055758f4de03
 +
adf741106b7fa1d530e987a6ad718b640794761c390be64d5498
 +
8040d3be48c33d490aa1c1dd6d357a007
 +
</syntaxhighlight>
 +
 +
[[SHA-2]]ファミリは、以下のオプションで切り替えられます。
 +
<syntaxhighlight lang="bash">
 +
-sha224        to use the sha224 message digest algorithm
 +
-sha256        to use the sha256 message digest algorithm
 +
-sha384        to use the sha384 message digest algorithm
 +
-sha512        to use the sha512 message digest algorithm
 +
</syntaxhighlight>
  
[[FreeBSD]] には、 [[sha256]] コマンドがあります。
+
=== sha256コマンド ===
 +
[[FreeBSD]] には、 sha256 コマンドがあります。
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
% sha256 -s hoge
 
% sha256 -s hoge
 
SHA256 ("hoge") = ecb666d778725ec97307044d642bf4d160aabb76f56c0069c71ea25b1e926825
 
SHA256 ("hoge") = ecb666d778725ec97307044d642bf4d160aabb76f56c0069c71ea25b1e926825
 
</syntaxhighlight>
 
</syntaxhighlight>
 
 
== 関連項目 ==
 
== 関連項目 ==
 
+
* [[SHA256とSHA512はどちらが速いか?]]
* [[ハッシュ関数]]
+
 
* [[SHA-1]]
 
* [[SHA-1]]
 +
{{hash}}
 +
<!--
 +
vim: filetype=mediawiki
 +
-->

2017年8月12日 (土) 21:24時点における最新版

SHA-2 とは、SHA-1 の後継にあたるハッシュ関数です。SHA-2 ファミリーには、生成するビット長が異なる SHA-224, SHA-256, SHA-384, SHA-512 が存在します。

読み方

SHA-2
しゃー つー

概要

SHA-2 は、256ビット = 2の256乗 通りのハッシュ値をとります。 64桁で 16進数で表されます。

SHA-2 のバリエーション

SHA-2 Niha,以下のバリエーションがあります。

  • SHA-224
  • SHA-256
  • SHA-384
  • SHA-512
  • SHA-512/224
  • SHA-512/256

ハッシュ長は、224,256,384,512ビットのいずれかです。

SHA-256とSHA-512 の違い

SHA-256 は、32ビットのワード長から計算されるハッシュ関数です。 SHA-512 は、64ビットのワード長から計算されるハッシュ関数です。

SHA-224とSHA-384

SHA-324とSHA-384 は、 SHA-256 と SHA-512 を単純に切り詰めたバージョンです。 初期値のみが異なります。

SHA-512/224 と SHA-512/256

SHA-512 を切り詰めたバージョンです。

使い方

OpenSSLコマンド

Unixでは、OpenSSLコマンドを使用して、SHA-2を求めることができます。

$ echo hoge | openssl dgst -sha512
 
(stdin)= 71cc44fbbad040fc59b11b9a84806ae055758f4de03
adf741106b7fa1d530e987a6ad718b640794761c390be64d5498
8040d3be48c33d490aa1c1dd6d357a007

SHA-2ファミリは、以下のオプションで切り替えられます。

-sha224         to use the sha224 message digest algorithm
-sha256         to use the sha256 message digest algorithm
-sha384         to use the sha384 message digest algorithm
-sha512         to use the sha512 message digest algorithm

sha256コマンド

FreeBSD には、 sha256 コマンドがあります。

% sha256 -s hoge
SHA256 ("hoge") = ecb666d778725ec97307044d642bf4d160aabb76f56c0069c71ea25b1e926825

関連項目