SHA384とは? わかりやすく解説

SHA384 クラス

入力データの SHA384 ハッシュを計算します。

名前空間: System.Security.Cryptography
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<ComVisibleAttribute(True)> _
Public MustInherit Class
 SHA384
    Inherits HashAlgorithm
[ComVisibleAttribute(true)] 
public abstract class SHA384 : HashAlgorithm
[ComVisibleAttribute(true)] 
public ref class SHA384 abstract : public
 HashAlgorithm
/** @attribute ComVisibleAttribute(true) */ 
public abstract class SHA384 extends HashAlgorithm
ComVisibleAttribute(true) 
public abstract class SHA384 extends
 HashAlgorithm
解説解説
使用例使用例

data の SHA384 ハッシュを計算し、result に格納する例を次に示します。この例では、定義済みの定数 DATA_SIZE があることを前提にしています。

Dim data(DATA_SIZE) As Byte
Dim result() As Byte
Dim shaM As New SHA384Managed()
result = shaM.ComputeHash(data)
byte[] data = new byte[DATA_SIZE];
byte[] result;
SHA384 shaM = new SHA384Managed();
result = shaM.ComputeHash(data);
array<Byte>^ data = gcnew array<Byte>( DATA_SIZE );
array<Byte>^ result;
SHA384^ shaM = gcnew SHA384Managed;
result = shaM->ComputeHash( data );
ubyte data[] = new ubyte[data_Size];
ubyte result[];
SHA384 shaM = new SHA384Managed();

result = shaM.ComputeHash(data);
継承階層継承階層
System.Object
   System.Security.Cryptography.HashAlgorithm
    System.Security.Cryptography.SHA384
       System.Security.Cryptography.SHA384Managed
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

SHA384 コンストラクタ


SHA384 フィールド


プロテクト フィールドプロテクト フィールド

  名前 説明
プロテクト フィールド HashSizeValue  計算されたハッシュ コードのサイズをビット単位で表します。 ( HashAlgorithm から継承されます。)
プロテクト フィールド HashValue  計算されたハッシュ コードの値を表します。 ( HashAlgorithm から継承されます。)
プロテクト フィールド State  ハッシュ計算の状態を表します。 ( HashAlgorithm から継承されます。)
参照参照

関連項目

SHA384 クラス
System.Security.Cryptography 名前空間

その他の技術情報

暗号サービス

SHA384 プロパティ


パブリック プロパティパブリック プロパティ

  名前 説明
パブリック プロパティ CanReuseTransform  現在の変換を再利用できるかどうかを示す値を取得します。 ( HashAlgorithm から継承されます。)
パブリック プロパティ CanTransformMultipleBlocks  派生クラスでオーバーライドされると、複数のブロックを変換できるかどうかを示す値を取得します。 ( HashAlgorithm から継承されます。)
パブリック プロパティ Hash  計算されたハッシュ コードの値を取得します。 ( HashAlgorithm から継承されます。)
パブリック プロパティ HashSize  計算されたハッシュ コードのサイズをビット単位で取得します。 ( HashAlgorithm から継承されます。)
パブリック プロパティ InputBlockSize  派生クラスでオーバーライドされると、入力ブロック サイズを取得します。 ( HashAlgorithm から継承されます。)
パブリック プロパティ OutputBlockSize  派生クラスでオーバーライドされると、出力ブロック サイズを取得します。 ( HashAlgorithm から継承されます。)
参照参照

関連項目

SHA384 クラス
System.Security.Cryptography 名前空間

その他の技術情報

暗号サービス

SHA384 メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド Clear  HashAlgorithm クラスによって使用されているすべてのリソースを解放します。 ( HashAlgorithm から継承されます。)
パブリック メソッド ComputeHash  オーバーロードされます。 入力データのハッシュ値を計算します。 ( HashAlgorithm から継承されます。)
パブリック メソッド Create オーバーロードされます。 この抽象クラスの特定の実装をインスタンス化できるようにします。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 ( Object から継承されます。)
パブリック メソッド Initialize  HashAlgorithm クラスの実装を初期化します。 ( HashAlgorithm から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。)
パブリック メソッド ToString  現在の Object を表す String を返します。 ( Object から継承されます。)
パブリック メソッド TransformBlock  入力バイト配列の指定した領域のハッシュ値を計算し、結果ハッシュ値を出力バイト配列の指定した領域にコピーします。 ( HashAlgorithm から継承されます。)
パブリック メソッド TransformFinalBlock  指定したバイト配列の指定した領域のハッシュ値を計算します。 ( HashAlgorithm から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

SHA384 クラス
System.Security.Cryptography 名前空間

その他の技術情報

暗号サービス

SHA384 メンバ

入力データの SHA384 ハッシュを計算します。

SHA384 データ型で公開されるメンバを以下の表に示します。


プロテクト コンストラクタプロテクト コンストラクタ
  名前 説明
プロテクト メソッド SHA384 SHA384 の新しいインスタンスを初期化します。
プロテクト フィールドプロテクト フィールド
  名前 説明
プロテクト フィールド HashSizeValue  計算されたハッシュ コードのサイズをビット単位で表します。(HashAlgorithm から継承されます。)
プロテクト フィールド HashValue  計算されたハッシュ コードの値を表します。(HashAlgorithm から継承されます。)
プロテクト フィールド State  ハッシュ計算の状態を表します。(HashAlgorithm から継承されます。)
パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ CanReuseTransform  現在の変換を再利用できるかどうかを示す値を取得します。(HashAlgorithm から継承されます。)
パブリック プロパティ CanTransformMultipleBlocks  派生クラスでオーバーライドされると、複数のブロックを変換できるかどうかを示す値を取得します。(HashAlgorithm から継承されます。)
パブリック プロパティ Hash  計算されたハッシュ コードの値を取得します。(HashAlgorithm から継承されます。)
パブリック プロパティ HashSize  計算されたハッシュ コードのサイズをビット単位で取得します。(HashAlgorithm から継承されます。)
パブリック プロパティ InputBlockSize  派生クラスでオーバーライドされると、入力ブロック サイズを取得します。(HashAlgorithm から継承されます。)
パブリック プロパティ OutputBlockSize  派生クラスでオーバーライドされると、出力ブロック サイズを取得します。(HashAlgorithm から継承されます。)
パブリック メソッドパブリック メソッド
( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド Clear  HashAlgorithm クラスによって使用されているすべてのリソースを解放します。 (HashAlgorithm から継承されます。)
パブリック メソッド ComputeHash  オーバーロードされます。 入力データのハッシュ値を計算します。 (HashAlgorithm から継承されます。)
パブリック メソッド Create オーバーロードされます。 この抽象クラスの特定の実装をインスタンス化できるようにします。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド Initialize  HashAlgorithm クラスの実装を初期化します。 (HashAlgorithm から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。)
パブリック メソッド ToString  現在の Object を表す String を返します。 (Object から継承されます。)
パブリック メソッド TransformBlock  入力バイト配列の指定した領域のハッシュ値を計算し、結果ハッシュ値を出力バイト配列の指定した領域にコピーします。 (HashAlgorithm から継承されます。)
パブリック メソッド TransformFinalBlock  指定したバイト配列の指定した領域のハッシュ値を計算します。 (HashAlgorithm から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

SHA384 クラス
System.Security.Cryptography 名前空間

その他の技術情報

暗号サービス

SHA-2

(SHA384 から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2026/07/08 01:38 UTC 版)

SHA-2
一般
設計者 アメリカ国家安全保障局
初版発行日 2001
シリーズ (SHA-0), SHA-1, SHA-2, SHA-3
認証 FIPS PUB 180-4, CRYPTREC, NESSIE
詳細
ダイジェスト長 224, 256, 384, or 512 bits
構造 Merkle-Damgård construction
ラウンド数 64 or 80
最良の暗号解読法
2011年に原像攻撃によってSHA512の80ラウンド中57ラウンドまで、SHA-256の64ラウンド中52ラウンドまで[1]。疑似衝突攻撃ではSHA-256の46ラウンドまで[2]。

SHA-2(シャーツー[3])は、Secure Hash Algorithmシリーズの暗号学的ハッシュ関数で、SHA-1の改良版である。アメリカ国家安全保障局によって設計され、2001年にアメリカ国立標準技術研究所によって連邦情報処理標準 PUB 180-4として標準化された。

概要

SHA-2には、前身のSHA-1から多くの改良が加えられている。それ以前のハッシュ関数は、ハッシュ長が固定で、強度もそれによって決まっていた。しかし、SHA-2はSHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256の6つのバリエーションを持ち、ハッシュ長は224、256、384、512ビットのいずれかである。

SHA-256とSHA-512は、それぞれ32ビット、64ビットのワード長から計算されるハッシュ関数である。シフト量と追加定数が異なるが、構造自体は本質的に同一であり、ラウンド数のみが異なる。SHA-224とSHA-384は、それぞれSHA-256とSHA-512を単純に切り詰めたバージョンであり、初期値のみが異なる。SHA-512/224とSHA-512/256は、SHA-256ではなくSHA-512を切り詰めたバージョンである。SHA-2シリーズは US 6829355  によってカバーされているが、アメリカ合衆国は、この特許をロイヤリティフリーで開放している[4]。

2004年にMD5とSHA-0の強衝突耐性が突破され[5]、翌2005年にはSHA-1の突破方法が発表された[6]。以降も攻撃法の研究が進む、といった事態が起きたため、急遽NIST主導で新たな構造を持つアルゴリズムのSHA-3の公募が2007年から5年かけて進められた[7][8]。公募後、3年の検証を経て、2015年8月にSHA-2の次のスタンダードとしてSHA-3が制定された[9]。SHA-2にはSHA-1と類似する点もあるものの、後述するように当時憂慮されたような事態にはなっていない(2015年6月現在)。

2014年1月現在、SHA-1に有効な攻撃をSHA-2に拡張することは達成されていない。原像攻撃ではSHA-256にて52ラウンドまで、SHA-512にて57ラウンドまで、衝突攻撃ではSHA-256の46ラウンドまでが最良の攻撃法である[1][2]。

SHA-2は、日本のCRYPTRECおよびヨーロッパのNESSIEにおいて、推奨暗号として採用されている。 [10]

ハッシュ関数の標準化

SHA-2シリーズの圧縮関数の1回分の繰り返し
カテゴリ:ハッシュ関数・メッセージ認証コード・認証付き暗号
カテゴリ


英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「SHA384」の関連用語

SHA384のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



SHA384のページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのSHA-2 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2026 GRAS Group, Inc.RSS