問題タブ [sha-3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cryptography - ハッシュとしての Skein のセキュリティは、ブロック暗号としての Threefish のセキュリティを意味しますか?
SHA-3 用に提案されたSkein ハッシュは、いくつかの印象的な速度の結果を誇っています。これは、Threefish ブロック暗号の中心部に適用できると思われますが、Skein が SHA-3 用に承認されている場合、これは Threefish も安全であると見なされていることを意味します。 ? つまり、Threefish の脆弱性は SHA-3 の脆弱性を意味するのでしょうか? (したがって、既知の問題の欠如と SHA-3 に対する一般的な信頼は、Threefish についても同じことを意味します)
hash - ファイルの整合性チェックに Skein を使用する
ファイルの整合性チェックに MD5 または SHA1 の代わりにskeinを使用することは可能ですか?
それは SHA1 や MD5 よりも本当に優れているか、または高速ですか?
アップデート:
あなたの応答について。実際には、OSSEC のようなホスト IDS のより高速なアルゴリズム (たとえば、10 分ごとにファイルの整合性チェックを実行する) を使用して、ホストの負荷を減らし、リソースの使用を減らしたいと考えています。
したがって、2つのオプションがあります。
- 新しいアルゴリズム
- SHA1 または MD5 を改善します。
どちらの方法が実装可能で優れているか説明できますか?
unit-testing - Keccak (SHA-3) のサンプル ハッシュ (テスト ベクトル) は利用可能になりましたか?
Keccak (SHA-3) の実装に興味があり、入力と期待される出力のペアのセットをテストしたいと考えています。公式のテスト ベクトルはリリースされていますか? 他の SHA ルーチン用にいくつか持っていたのを覚えていますが、それらは非常に役に立ちました。
c# - C#の間違った出力へのSHA-3 Keccakハッシュの単純な実装?
新しいSHA-3Keccakアルゴリズムで動作するHashLibライブラリ@https://hashlib.codeplex.com/を取得しようとしています。正しいハッシュコードを出力する必要があると思われる単純なコンソールアプリケーションを作成しましたが、そうではありません。
アプリケーションは正常にビルドおよび実行されますが、出力は非常に間違っています。他の人のKeccakアルゴリズムの実装を使用すると、異なる結果が得られ、たとえばこのwiki投稿とも一致しません。https://en.wikipedia.org/wiki/SHA-3つまり、明らかに何かが間違っています。
たとえば、テキストを空のままにすると、「df987cfd23fbc92e7e87faaca300ec3fなど」というメッセージが表示されます。ウィキや他のツールは私が取得する必要があると言っている間
"0eab42de4c3ceb9235fc91acffe746b29c29a8c366b7c60e4e67c466f36a4304c00fa9caf9d87976ba469bcbe06713b435f091ef2769fb160cdab33d3670680e"
、これはまったく異なるものです。もちろん、空でない文字列でも試してみました。
誰か提案がありますか?
php - パスワードのハッシュ化: Keccak かどうか
ハッシュ アルゴリズム コンテストの勝者SHA-3
が選ばれました。勝者のアルゴリズムはKeccakです。
私はフグを使っていてとても気に入っていますが、ケッカの方がいいと言われています。Web サイトにユーザーのパスワードを保存するために使用する価値はありますか?
はいの場合、Web プログラミングで使用される PHP、Python、Ruby、またはその他の言語用の Keccak の実装はありますか?
この質問が他の人にも役立つことを願っています。ありがとう!
c# - C# 暗号化ライブラリ hashlib はその実装で正しいですか?
ハッシュリブチーム、
SHA3 ライブラリ (Keccak) が正しい暗号化を返すかどうかはわかりません。codeplex からダウンロードした最新のソース コード (変更セット 78295) を使用しましたが、Wikipedia (sha3 ページ) で提供されているベクトルと結果と一致しません。
次のコードを使用すると
私のVS 2012 IDEでは、次のような結果が得られます
これは実際に返されるはずです:
次の投稿によると、SHA-3 Keccak ハッシュの単純な実装が C# の間違った出力に出力されますか? David は、最新のコードベースは正しい結果を返すはずだと答えました。変更が適用されているかどうかはわかりません。
ExtremelyLongMsgKAT_512.txt ファイルから取得したテスト ベクトルを使用した場合
そしてコードを使用して
結果も期待とは異なります。テスト ベクトル ファイルには、結果は次のようになります。
しかし、実際の結果は
scala - SHA3 ステータスと PBKDF2-HMAC-SHA3 テスト ベクトル
SHA-3は既知の関数 (NIST ハッシュ関数コンペティションのファイナリストとしての Keccak) であるように思われるため、このトピックに関連するいくつかの質問があります。
- NIST のサイトによると、NIST は政府の資金提供の失効により閉鎖されています。SHA-3 が最終的に受け入れられる可能性はありますか?
- BouncyCastleライブラリには SHA-3 の実装があり、ダイジェスト結果はウィキペディアの記事に投稿された例と同じです(私はこれをテストしました)。最終的な規格が承認されていないので、これは信頼できますか? ウィキペディアは、これは変更される可能性が高いと述べていますが、最終的なアルゴリズムは変更の対象ではないように思われるため、どのように変更できますか (または、別のアルゴリズムになる可能性があります)。
- ここで誰かが、キーの強化とパスワードのハッシュのために SHA-3 で PBKDF2 を使用することは避けるべきであると指摘しました。しかし、私はなぜ理解できないのですか?(アルゴリズムが高速でない場合、攻撃者にどのように有利になるでしょうか?)
- BouncyCastle Java api に基づく scala での PBKDF2 -HMAC-SHA3の実装をテストするためのテスト ベクトルがどこにも見つかりませんでした。テスト仕様をいくつかの結果とともに投稿できます。しかし、最初に誰でも/仕様のテスト ベクトルを投稿できますか?
これがscalaでの私の実装です:
私にとって疑わしいことの1つはnew SHA3Digest(256)
、コンストラクターの256ビット長です。提供されたキーの長さと同じにする必要がありますか、それとも私が行ったように固定されたものにする必要がありますか? 一部の固定値しか使用できず、オブジェクト API ユーザーがキー長パラメーターとして任意の値を指定できるため、固定長を使用することにしましたが、一般的でないもののほとんどはSHA3Digest
コンストラクター内から例外がスローされます。また、デフォルト値は 288 (キーの長さが指定されていない場合) のようで、奇妙に見えます。
前もって感謝します!
php - 5.4 にアップグレードしてから php-sha3 が機能しない
PHP インストールを次のようにアップグレードしました。
https://github.com/strawbrary/php-sha3のインストールが壊れました。再コンパイルしようとしましたが、うまくいきませんでした。ファイルが php.ini ファイルにリンクされています。私の phpinfo() は、sha3 がインストールされている兆候を示していません。
phpize
sha3 をコンパイルするときにサーバー上で実行すると、次のようになります。
ただし、phpinfo ファイルを見ると、次のようになります。
プラグインを再コンパイルした方法は次のとおりです。
php - SHA-3 Keccak ハッシュ アルゴリズムの実装を理解する簡単な方法
インターネットでアルゴリズム keccak に関する参考文献を探していますが、理解できるものはありません。
ここに私が見つけたいくつかのリンクがあります。
- http://plaintext.crypto.lo.gy/article/495/untwisted-a-cryptol-%20implementation-of-keccak-part-1
- http://en.wikipedia.org/wiki/SHA-3
実装やアルゴリズム keccak を簡単に理解する方法はありますか? このアルゴリズムの PHP 実装にコードはありますか?
hash - いくつかのプログラムで Keccak / SHA-3 のハッシュが異なりますか?
私は keccak スポンジ関数を開発していますが、ハッシュ結果に関していくつかの奇妙な動作があります。
24 ビット (3 バイト) の文字列 "abc" を使用します。http://www.di-mgt.com.au/sha_testvectors.htmlの SHA-3 のテスト ベクトルでは、SHA3-512 の結果は次のようになります。
テストベクターからの SHA3-512
また、cryptpp バージョン 5.62 を使用したところ、次の出力が得られました。
CryptoPP 18587dc2ea106b9a1563e32b3312421ca164c7f1f07bc922a9c83d77cea3a1e5d0c69910739025372dc14ac9642629379540c17e2a65b19d77aa511a9d00bb96
WindowsでHashTab 5.2.0.14を使用すると、「abc」を含むファイルに同じ出力が得られます。
ハッシュタブ 5.2.0.14 18587dc2ea106b9a1563e32b3312421ca164c7f1f07bc922a9c83d77cea3a1e5d0c69910739025372dc14ac9642629379540c17e2a65b19d77aa5bb19a6
したがって、いくつかの参照がありますが、そのうちの 1 つは他とは異なります。Web サイトでは、入力メッセージには FIPS-202 ドラフトで定義されている 2 ビット「10」が付加されていると説明されています。では、CryptoPP と HashTab はおそらく別の実装を使用していますが、どれを使用していますか??
これで、プログラムと keccak サイトの「参照コード」と、Python での別の実装ができました。
私のプログラムは、「abc」に対して次のハッシュ値を返します。
マイプログラム
これは、同じ値を計算するhttp://keccak.noekeon.org/files.htmlの keccak 参照コード ( http://keccak.noekeon.org/KeccakReferenceAndOptimized-3.2.zip )です。
Keccak-Reference 3.2 Message of size 2040 bits with Keccak[r=1024, c=576] 20FF13D217D5789FA7FC9E0E9A2EE627363EC28171D0B6C52BBD2F240554DBC94289F4D61CB57DF72DF08AAC4366022D5DF23E703B8FDFF6306021DB4D5E6760 (truncated to the same length)
これはhttps://github.com/mgoffin/keccak-python/blob/master/Keccak.pyからの python 実装で、同じ値になります:
keccak-python Value after squeezing : 20FF13D217D5789FA7FC9E0E9A2EE627363EC28171D0B6C52BBD2F240554DBC94289F4D61CB57DF72DF08AAC4366022D5DF23E703B8FDFF6306021DB4D5E67601173D04BF5AEC3EBBCA87696355C5FB4D72D00D2CC4F843A0A3A0ED8924A16FC37769A3DB7C3A84F31E92375A7D74A0136D80A647FBC5AF8D733B43873A3709F
だから私の質問:
1) FIPS 202 で作成された NIST の仕様に基づいて、Keccak と SHA-3 の出力が異なるというのは本当ですか?
2) 一意ではない 3 つの異なるハッシュ値があるのはなぜですか?
3) SHA3-512 で容量が変更され、512 ビット容量と 1600-512 ビットレートになりますか? これは、SHA-3 に関するプレゼンテーションで読んだもう 1 つの違いですが、FIPS-202 ドキュメントでは見つかりませんでした。
どうもありがとうございました!
よろしく、
ブラク