問題タブ [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.

0 投票する
1 に答える
5067 参照

php - SHA-3 Keccak ハッシュ アルゴリズムの実装を理解する簡単な方法

インターネットでアルゴリズム keccak に関する参考文献を探していますが、理解できるものはありません。

ここに私が見つけたいくつかのリンクがあります。

実装やアルゴリズム keccak を簡単に理解する方法はありますか? このアルゴリズムの PHP 実装にコードはありますか?

0 投票する
1 に答える
2088 参照

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 ドキュメントでは見つかりませんでした。

どうもありがとうございました!

よろしく、

ブラク

0 投票する
2 に答える
719 参照

java - Crypto.jsを使用してAndroidでHMAC-SHA3を計算するには?

私は Android Studio 1.22 と JRE 1.8 を 64 ビット JVM で使用しています。Crypto,js を Android にインポートする方法は?

HMAC出力から6桁のOTPを計算したい。

0 投票する
2 に答える
886 参照

hash - ハッシュ関数 (SHA など) はプラットフォームに依存しませんか?

異なるプラットフォームからハッシュ化されたデータを比較する必要があります。使用するハッシュ関数は Keccak の SHA3 です。

ハッシュ生成値はプラットフォームに依存しないという仮定から始めました。しかし、次の 2 つのオンライン ツールは逆の結果をもたらしました。

単語データ(sha3 256bits)をハッシュしたときのそれぞれの出力は次のとおりです。

  • 8f54f1c2d0eb5771cd5bf67a6689fcd6eed9444d91a39e5ef32a9b4ae5ca14ff
  • efda893aa850b0c0e61f33325615b9d93bcf6b42d60d8f5d37ebc720fd4e3daf

この件に関する私の知識は非常に限られていますが、ハッシュ関数はプラットフォームに依存しないことを常に当然のことと考えてきました (それが、MD5 チェックサムを使用する理由ですよね?)。

主題に関するどんな光も高く評価されます。

一番。

0 投票する
4 に答える
6535 参照

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の出力との間のリンクはありますか? 弾む城の実装に間違いはありますか?

お時間をいただきありがとうございます。

0 投票する
0 に答える
253 参照

node.js - Browserify は、インストールされているモジュール sha3 を見つけることができません

ethereumjs-libモジュールに依存するnpmからインストールされたパッケージに取り組んでいsha3ます。ただし、browserify は依存関係からそれを取得できません。私は手動でインストールsha3し、以下に示す簡単なコードを書きましたが、それでも browserify でエラーCannot find module 'sha3' var unique = require('uniq'); が表示されます。var sha = require('sha3');

0 投票する
2 に答える
1624 参照

python - pysha3が正しい答えを出していない

次のコードでは、

私は得ています

それ以外の

参照。https://en.wikipedia.org/wiki/SHA-3#Examples_of_SHA-3_variants

誰でも私にアドバイスできますか?