問題タブ [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.
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 ドキュメントでは見つかりませんでした。
どうもありがとうございました!
よろしく、
ブラク
java - Crypto.jsを使用してAndroidでHMAC-SHA3を計算するには?
私は Android Studio 1.22 と JRE 1.8 を 64 ビット JVM で使用しています。Crypto,js を Android にインポートする方法は?
HMAC出力から6桁のOTPを計算したい。
hash - ハッシュ関数 (SHA など) はプラットフォームに依存しませんか?
異なるプラットフォームからハッシュ化されたデータを比較する必要があります。使用するハッシュ関数は Keccak の SHA3 です。
ハッシュ生成値はプラットフォームに依存しないという仮定から始めました。しかし、次の 2 つのオンライン ツールは逆の結果をもたらしました。
単語データ(sha3 256bits)をハッシュしたときのそれぞれの出力は次のとおりです。
- 8f54f1c2d0eb5771cd5bf67a6689fcd6eed9444d91a39e5ef32a9b4ae5ca14ff
- efda893aa850b0c0e61f33325615b9d93bcf6b42d60d8f5d37ebc720fd4e3daf
この件に関する私の知識は非常に限られていますが、ハッシュ関数はプラットフォームに依存しないことを常に当然のことと考えてきました (それが、MD5 チェックサムを使用する理由ですよね?)。
主題に関するどんな光も高く評価されます。
一番。
java - Bouncy Castle Sha3 間違った出力?
sha3-256ハッシュを実行する必要がある Java プロジェクトに取り組んでいます。Bouncy Castle は最新のアップデートで Sha3 を実装したので、それらの実装を使用する予定です。これが私のコードです:
を実行するSystem.out.println(Main2.sha3(""));
と、次の出力が得られます。
C5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470
wikipedia: https://en.wikipedia.org/wiki/SHA-3
または NIST 標準: http://csrc.nist.gov/groups/ST/toolkit/documents/Examples/から基本的な sha3 出力を検索すると、SHA3-256_Msg0.pdf
、取得する必要があるようです:
a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a
私のコードに間違いはありますか?バウンシーキャッスルの出力とNISTの出力との間のリンクはありますか? 弾む城の実装に間違いはありますか?
お時間をいただきありがとうございます。
node.js - Browserify は、インストールされているモジュール sha3 を見つけることができません
ethereumjs-lib
モジュールに依存するnpmからインストールされたパッケージに取り組んでいsha3
ます。ただし、browserify は依存関係からそれを取得できません。私は手動でインストールsha3
し、以下に示す簡単なコードを書きましたが、それでも browserify でエラーCannot find module 'sha3'
var unique = require('uniq'); が表示されます。var sha = require('sha3');
python - pysha3が正しい答えを出していない
次のコードでは、
私は得ています
それ以外の
参照。https://en.wikipedia.org/wiki/SHA-3#Examples_of_SHA-3_variants
誰でも私にアドバイスできますか?