SHA256 クラス
アセンブリ: mscorlib (mscorlib.dll 内)
構文
ハッシュは、大量のデータを表す固定サイズの一意の値として使用されます。2 つのデータ セットのハッシュが一致するのは、対応するデータも一致する場合だけです。データを少し変更しただけでも、ハッシュは予測できないほど大幅に変更されてしまいます。
data の SHA256 ハッシュを計算し、result に格納する例を次に示します。この例では、定義済みの定数 DATA_SIZE があることを前提にしています。
Dim data(DATA_SIZE) As Byte Dim result() As Byte Dim shaM As New SHA256Managed() result = shaM.ComputeHash(data)
byte[] data = new byte[DATA_SIZE]; byte[] result; SHA256 shaM = new SHA256Managed(); result = shaM.ComputeHash(data);
System.Security.Cryptography.HashAlgorithm
System.Security.Cryptography.SHA256
System.Security.Cryptography.SHA256Managed
プラットフォーム
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
SHA256 コンストラクタ
アセンブリ: mscorlib (mscorlib.dll 内)
構文
解説
プラットフォーム
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
SHA256 フィールド
プロテクト フィールド
名前 | 説明 | |
---|---|---|
HashSizeValue | 計算されたハッシュ コードのサイズをビット単位で表します。 ( HashAlgorithm から継承されます。) | |
HashValue | 計算されたハッシュ コードの値を表します。 ( HashAlgorithm から継承されます。) | |
State | ハッシュ計算の状態を表します。 ( HashAlgorithm から継承されます。) |
SHA256 プロパティ
パブリック プロパティ
名前 | 説明 | |
---|---|---|
CanReuseTransform | 現在の変換を再利用できるかどうかを示す値を取得します。 ( HashAlgorithm から継承されます。) | |
CanTransformMultipleBlocks | 派生クラスでオーバーライドされると、複数のブロックを変換できるかどうかを示す値を取得します。 ( HashAlgorithm から継承されます。) | |
Hash | 計算されたハッシュ コードの値を取得します。 ( HashAlgorithm から継承されます。) | |
HashSize | 計算されたハッシュ コードのサイズをビット単位で取得します。 ( HashAlgorithm から継承されます。) | |
InputBlockSize | 派生クラスでオーバーライドされると、入力ブロック サイズを取得します。 ( HashAlgorithm から継承されます。) | |
OutputBlockSize | 派生クラスでオーバーライドされると、出力ブロック サイズを取得します。 ( HashAlgorithm から継承されます。) |
SHA256 メソッド
パブリック メソッド
名前 | 説明 | |
---|---|---|
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 から継承されます。) |
名前 | 説明 | |
---|---|---|
Dispose | HashAlgorithm によって使用されているアンマネージ リソースを解放し、オプションでマネージ リソースも解放します。 ( HashAlgorithm から継承されます。) | |
Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) | |
HashCore | 派生クラスでオーバーライドされると、ハッシュを計算するために、オブジェクトに書き込まれたデータをハッシュ アルゴリズムにルーティングします。 ( HashAlgorithm から継承されます。) | |
HashFinal | 派生クラスでオーバーライドされると、暗号ストリーム オブジェクトによって最後のデータが処理された後に、ハッシュ計算を終了します。 ( HashAlgorithm から継承されます。) | |
MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |
SHA256 メンバ
SHA256 データ型で公開されるメンバを以下の表に示します。
プロテクト コンストラクタ
プロテクト フィールド
名前 | 説明 | |
---|---|---|
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 から継承されます。) |
名前 | 説明 | |
---|---|---|
Dispose | HashAlgorithm によって使用されているアンマネージ リソースを解放し、オプションでマネージ リソースも解放します。 (HashAlgorithm から継承されます。) | |
Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) | |
HashCore | 派生クラスでオーバーライドされると、ハッシュを計算するために、オブジェクトに書き込まれたデータをハッシュ アルゴリズムにルーティングします。 (HashAlgorithm から継承されます。) | |
HashFinal | 派生クラスでオーバーライドされると、暗号ストリーム オブジェクトによって最後のデータが処理された後に、ハッシュ計算を終了します。 (HashAlgorithm から継承されます。) | |
MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |
SHA-2
(sha 256 から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/04/29 00:53 UTC 版)
SHA-2(シャーツー[3])は、Secure Hash Algorithmシリーズの暗号学的ハッシュ関数で、SHA-1の改良版である。アメリカ国家安全保障局によって設計され、2001年にアメリカ国立標準技術研究所によって連邦情報処理標準 PUB 180-4として標準化された。
- ^ a b c Dmitry Khovratovich, Christian Rechberger and Alexandra Savelieva (2011). “Bicliques for Preimages: Attacks on Skein-512 and the SHA-2 family”. IACR Cryptology ePrint Archive 2011:286 .
- ^ a b c Mario Lamberger and Florian Mendel (2011). “Higher-Order Differential Attack on Reduced SHA-256”. IACR Cryptology ePrint Archive 2011:37 .
- ^ “SHA2とは”. 2022年7月9日閲覧。
- ^ Licensing Declaration for US patent 6829355. 2008年2月17日閲覧。.
- ^ Collisions for Hash Functions MD4,MD5,HAVAL-128andRIPEMD 2022年4月28日閲覧。.
- ^ Finding Collisions in the Full SHA-1 2022年4月28日閲覧。.
- ^ “Federal Register / Vol. 72, No. 212” (PDF). Federal Register. Government Printing Office (2007年11月2日). 2022年4月24日閲覧。
- ^ “NIST Selects Winner of Secure Hash Algorithm (SHA-3) Competition”. NIST (2012年10月2日). 2012年10月2日閲覧。
- ^ NIST (August 2015). SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions. doi:10.6028/NIST.FIPS.202 2021年4月24日閲覧。.
- ^ “Announcing Approval of Federal Information Processing Standard (FIPS) 202, SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions, and Revision of the Applicability Clause of FIPS 180-4, Secure Hash Standard”. (2015年8月5日)
- ^ Federal Register Notice 02-21599, Announcing Approval of FIPS Publication 180-2
- ^ FIPS 180-2 with Change Notice 1
- ^ Federal Register Notice E8-24743, Announcing Approval of FIPS Publication 180-3
- ^ a b FIPS SP 800-107 Recommendation for Applications Using Approved Hash Algorithms
- ^ a b FIPS SP 800-57 Recommendation for Key Management: Part 1: General
- ^ NIST Algorithm Examples, Secure Hashing
- ^ FIPS SP 800-131A Recommendation for Transitioning the Use of Cryptographic Algorithms and Key Lengths
- ^ Federal Register Notice 2012-5400, Announcing Approval of FIPS Publication 180-4
- ^ NIST Selects Winner of Secure Hash Algorithm (SHA-3) Competition
- ^ “Debian codebase in Google Code”. Google. 2011年11月8日閲覧。[リンク切れ]
- ^ John Markoff, A Tool to Verify Digital Records, Even as Technology Shifts, New York Times, January 26, 2009
- ^ RFC 5702
- ^ Ulrich Drepper, Unix crypt with SHA-256/512
- ^ “NIST's March 2006 Policy on Hash Functions”. NIST (2006年3月15日). 2014年1月1日閲覧。
- ^ Microsoft Corporation,Overview of Windows XP Service Pack 3
- ^ https://security.googleblog.com/2017/02/announcing-first-sha1-collision.html
- ^ Ji Li, Takanori Isobe and Kyoji Shibutani, Sony China Research Laboratory and Sony Corporation, Converting Meet-in-the-Middle Preimage Attack into Pseudo Collision Attack: Application to SHA-2
- ^ Somitra Kumar Sanadhya and Palash Sarkar (2008). “New Collision attacks Against Up To 24-step SHA-2”. IACR Cryptology ePrint Archive 2008:270 .
- ^ Kazumaro Aoki, Jian Guo, Krystian Matusiewicz, Yu Sasaki, and Lei Wang (2009). “Preimages for step-reduced SHA-2”. Advances in Cryptology - ASIACRYPT 2009. Lecture Notes in Computer Science (Springer Berlin Heidelberg) 5912: 578-597. doi:10.1007/978-3-642-10366-7_34. ISBN 978-3-642-10366-7. ISSN 0302-9743 .
- ^ Jian Guo, San Ling, Christian Rechberger, and Huaxiong Wang (2010). “Advanced meet-in-the-middle preimage attacks: First results on full Tiger, and improved results on MD4 and SHA-2”. Advances in Cryptology - ASIACRYPT 2010. Lecture Notes in Computer Science (Springer Berlin Heidelberg) 6477: 56-75. doi:10.1007/978-3-642-17373-8_4. ISBN 978-3-642-17373-8. ISSN 0302-9743 .
- ^ SHS Validation List
- ^ “Crypto++ 5.6.0 Benchmarks”. 2014年1月1日閲覧。
- ^ AMD Opteron 8354 2.2 GHzプロセッサと64ビット版Linuxによる計測[32]
- ^ “Announcing the first SHA1 collision”. 2017年2月23日閲覧。
- ^ “The Sponge Functions Corner”. 2016年1月28日閲覧。
- ^ “The Keccak sponge function family”. 2016年1月28日閲覧。
- ^ a b SUPERCOP Benchmarks Measurements of hash functions, indexed by machine
- ^ SUPERCOP Benchmarking Toolkit
- sha 256のページへのリンク