「SHA-2」の版間の差分
提供: セキュリティ
(同じ利用者による、間の4版が非表示) | |||
行1: | 行1: | ||
− | |||
− | |||
− | |||
[[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コマンド === |
+ | [[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