シャー‐ワン【SHA-1】
sha1
sha1 — 文字列の sha1 ハッシュを計算する
説明
string sha1 ( string str [, bool raw_output] )» US Secure Hash Algorithm 1 を使用して str の sha1 ハッシュを計算し、 そのハッシュ値を返します。ハッシュは 40 文字の 16 進数です。 オプションの raw_output に TRUE が 指定された場合、sha1 ダイジェストは 20 バイト長のバイナリ形式で 返されます。
注意: オプションの raw_output パラメータは PHP 5.0.0 で追加され、デフォルトは FALSE です。
例 2284. sha1() の例
<?php
$str = 'apple';
if (sha1($str) === 'd0be2dc421be4fcd0172e5afceea3970e2f3d940') {
echo "Would you like a green or red apple?";
exit;
}
?>
sha1_file()、 crc32() および md5() も参照ください。
SHA1 クラス
アセンブリ: mscorlib (mscorlib.dll 内)
構文
ハッシュは、大量のデータを表す固定サイズの一意の値として使用されます。2 つのデータ セットのハッシュが一致するのは、対応するデータも一致する場合です。データを少し変更しただけでも、ハッシュは予測できないほど大幅に変更されてしまいます。
data の SHA1 ハッシュを計算し、result に格納する例を次に示します。この例では、定義済みの定数 DATA_SIZE があることを前提にしています。
Dim data(DATA_SIZE) As Byte Dim result() As Byte Dim sha As New SHA1CryptoServiceProvider() ' This is one implementation of the abstract class SHA1. result = sha.ComputeHash(data)
byte[] data = new byte[DATA_SIZE]; byte[] result; SHA1 sha = new SHA1CryptoServiceProvider(); // This is one implementation of the abstract class SHA1. result = sha.ComputeHash(data);
System.Security.Cryptography.HashAlgorithm
System.Security.Cryptography.SHA1
System.Security.Cryptography.SHA1CryptoServiceProvider
System.Security.Cryptography.SHA1Managed
プラットフォーム
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
SHA1 コンストラクタ
アセンブリ: mscorlib (mscorlib.dll 内)
構文
解説
プラットフォーム
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
SHA1 フィールド
プロテクト フィールド
名前 | 説明 | |
---|---|---|
HashSizeValue | 計算されたハッシュ コードのサイズをビット単位で表します。 ( HashAlgorithm から継承されます。) | |
HashValue | 計算されたハッシュ コードの値を表します。 ( HashAlgorithm から継承されます。) | |
State | ハッシュ計算の状態を表します。 ( HashAlgorithm から継承されます。) |
SHA1 プロパティ
パブリック プロパティ
名前 | 説明 | |
---|---|---|
CanReuseTransform | 現在の変換を再利用できるかどうかを示す値を取得します。 ( HashAlgorithm から継承されます。) | |
CanTransformMultipleBlocks | 派生クラスでオーバーライドされると、複数のブロックを変換できるかどうかを示す値を取得します。 ( HashAlgorithm から継承されます。) | |
Hash | 計算されたハッシュ コードの値を取得します。 ( HashAlgorithm から継承されます。) | |
HashSize | 計算されたハッシュ コードのサイズをビット単位で取得します。 ( HashAlgorithm から継承されます。) | |
InputBlockSize | 派生クラスでオーバーライドされると、入力ブロック サイズを取得します。 ( HashAlgorithm から継承されます。) | |
OutputBlockSize | 派生クラスでオーバーライドされると、出力ブロック サイズを取得します。 ( HashAlgorithm から継承されます。) |
SHA1 メソッド
パブリック メソッド
名前 | 説明 | |
---|---|---|
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 から継承されます。) |
SHA1 メンバ
プロテクト コンストラクタ
プロテクト フィールド
名前 | 説明 | |
---|---|---|
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-1
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/05/04 04:48 UTC 版)
SHA-1(シャーワン[3][4])は、Secure Hash Algorithmシリーズの暗号学的ハッシュ関数で、SHAの最初のバージョンであるSHA-0の弱点を修正したものである。National Security Agency(NSA)によって設計され、National Institute of Standards and Technology(NIST)によってFederal Information Processing Standard(FIPS) PUB 180-4として標準化されている。NISTは2030年12月31日に仕様を廃止予定[5]。
- ^ Marc Stevens. hashclash - Framework for MD5 & SHA-1 Differential Path Construction and Chosen-Prefix Collisions for MD5 .
- ^ ShAttered
- ^ “シャーワン”. NTTPCコミュニケーションズ. 2017年9月30日閲覧。
- ^ “SHA-1とは”. IT用語辞典 e-words. 2022年6月29日閲覧。
- ^ a b NIST Retires SHA-1 Cryptographic Algorithm | NIST
- ^ Bruce Schneier (2005年2月18日). “Schneier on Security: Cryptanalysis of SHA-1”. 2014年1月1日閲覧。
- ^ a b “Secure Hashing”. NIST. 2014年1月1日閲覧。[1]
- ^ “SHA1 Deprecation Policy”. Microsoft (2013年11月12日). 2014年1月1日閲覧。
- ^ “Intent to Deprecate: SHA-1 certificates”. Google (2014年9月3日). 2014年9月4日閲覧。
- ^ “Bug 942515 - stop accepting SHA-1-based SSL certificates with notBefore >= 2014-03-01 and notAfter >= 2017-01-01, or any SHA-1-based SSL certificates after 2017-01-01”. Mozilla. 2014年9月4日閲覧。
- ^ “CA:Problematic Practices - MozillaWiki”. Mozilla. 2014年9月9日閲覧。
- ^ “Phasing Out Certificates with SHA-1 based Signature Algorithms | Mozilla Security Blog”. Mozilla (2014年9月23日). 2014年9月24日閲覧。
- ^ “電子政府における調達のために参照すべき暗号のリスト(CRYPTREC暗号リスト)”. 総務省及び経済産業省. 2014年9月4日閲覧。
- ^ “政府機関の情報システムにおいて使用されている暗号アルゴリズムSHA-1及びRSA1024に係る移行指針”. 情報セキュリティ対策推進会議 (2012年10月26日). 2014年9月4日閲覧。
- ^ えきねっとの例
- ^ サーバ証明書の切り替えによるドコモ ケータイへの影響について2015年7月15日
- ^ auケータイをご利用のお客さまへ、サーバ証明書切り替えによる影響について
- ^ SoftBank 3G(携帯電話)をご利用のお客さまへ サーバ証明書切り替えによる影響のご案内2015年7月15日
- ^ “NIST's March 2006 Policy on Hash Functions”. NIST (2006年3月15日). 2014年1月1日閲覧。
- ^ http://debugmo.de/?p=61 Debugmo.de "For verifying the hash (which is the only thing they verify in the signature), they have chosen to use a function (strncmp) which stops on the first nullbyte – with a positive result. Out of the 160 bits of the SHA1-hash, up to 152 bits are thrown away."
- ^ Niels Ferguson, Bruce Schneier, and Tadayoshi Kohno, Cryptography Engineering, John Wiley & Sons, 2010. ISBN 978-0-470-47424-2
- ^ Cryptology ePrint Archive
- ^ a b Schneier on Security: SHA-1 Broken
- ^ Schneier on Security: New Cryptanalytic Results Against SHA-1
- ^ Notes on the Wang et al. $2^{63}$ SHA-1 Differential Path
- ^ Christophe De Cannière, Christian Rechberger (2006-11-15). Finding SHA-1 Characteristics: General Results and Applications .
- ^ “IAIK Krypto Group – Description of SHA-1 Collision Search Project”. 2009年6月30日閲覧。
- ^ “Collisions for 72-step and 73-step SHA-1: Improvements in the Method of Characteristics”. 2010年7月24日閲覧。
- ^ “SHA-1 Collision Search Graz”. 2014年1月2日閲覧。
- ^ SHA-1 hash function under pressure – heise Security
- ^ Crypto 2006 Rump Schedule
- ^ Stéphane Manuel. Classification and Generation of Disturbance Vectors for Collision Attacks against SHA-1 2011年5月19日閲覧。.
- ^ Stéphane Manuel. Classification and Generation of Disturbance Vectors for Collision Attacks against SHA-1 2012年10月4日閲覧。. the most efficient disturbance vector is the one first reported as Codeword2 by Jutla and Patthak
- ^ SHA-1 collisions now 2^52
- ^ International Association for Cryptologic Research
- ^ Cryptanalysis of MD5 & SHA-1
- ^ When Will We See Collisions for SHA-1?
- ^ HashClash - Framework for MD5 & SHA-1 Differential Path Construction and Chosen-Prefix Collisions for MD5
- ^ a b c “The SHAppening: freestart collisions for SHA-1”. 2015年10月9日閲覧。
- ^ https://shattered.io/ 2017年2月26日閲覧。
- ^ a b Announcing the first SHA1 collision Google Security Blog、2017年2月23日(2017年2月26日閲覧)。
- ^ The end of SHA-1 on the Public Web Mozilla Security Blog、2017年2月23日(2017年2月26日閲覧)。
- ^ Differential Collisions in SHA-0
- ^ Freedom to Tinker » Blog Archive » Report from Crypto 2004
- ^ (中国語) Sdu.edu.cn, Shandong University
- ^ National Institute of Standards and Technology
- ^ SHS Validation List
- ^ http://www.faqs.org/rfcs/rfc3174.html
- ^ Locktyukhin, Max; Farrel, Kathy (2010-03-31), “Improving the Performance of the Secure Hash Algorithm (SHA-1)”, Intel Software Knowledge Base (Intel) 2014年1月1日閲覧。
- ^ “Crypto++ 5.6.0 Benchmarks”. 2014年1月1日閲覧。
- ^ AMD Opteron 8354 2.2 GHzプロセッサと64ビット版Linuxによる計測[50]
- ^ “Announcing the first SHA1 collision”. 2017年2月23日閲覧。
- ^ “The Sponge Functions Corner”. 2016年1月28日閲覧。
- ^ “The Keccak sponge function family”. 2016年1月28日閲覧。
SHA-1
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/02/11 03:54 UTC 版)
「Secure Hash Algorithm」の記事における「SHA-1」の解説
詳細は「SHA-1」を参照 SHA-0の欠点を修正した。SHA-1のハッシュ値の長さは、SHA-0と同じく160ビット。 2017年に、衝突攻撃の成功と実例が報告された。
※この「SHA-1」の解説は、「Secure Hash Algorithm」の解説の一部です。
「SHA-1」を含む「Secure Hash Algorithm」の記事については、「Secure Hash Algorithm」の概要を参照ください。
固有名詞の分類
- SHA-1のページへのリンク