問題タブ [hmac]

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 投票する
2 に答える
873 参照

c# - .Net で印刷可能な HMAC 共有キーを生成する

共有キーを使用してデータをハッシュするために HMACSHA512 を使用しています。キーは共有されているので、転送を容易にするためにすべて印刷可能な文字にしたいと思います。これらのキーを生成するための最良のアプローチは何だろうと思っています。

現在、RNGCryptoServiceProvider の GetBytes() メソッドを使用してキーを生成していますが、返されるバイト配列には印刷できない文字が含まれています。だから、結果をbase64でエンコードするのが安全なのか、それともランダム性を侵食しすぎて安全性が低下するのか疑問に思っていますか? それが良いアプローチではない場合、提案できますか?

キーを印刷可能な文字に制限することで、キー空間の全体的な幅を制限している (つまり、8 ビットのうちの 1 つを削除する) ことは理解していますが、それで問題ありません。

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

iphone - PBKDF2-HMAC-SHA256 Objective-C の実装

Objective-C で、HMAC-SHA256 を使用してキーを生成する PBKDF2 の実装を教えてください。これは、後で AES-CBC-Pad 暗号化に使用するキー生成プロセスの一部です。

前もって感謝します

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

php - PHP で Objective-C のような HMAC-SHA1 文字列を作成するにはどうすればよいですか?

PHP と Objective-C を使用して認証ソリューションを実装しようとしています。どちらの言語も、同じキーと同じシークレットを使用して独自の HMAC-SHA1 でエンコードされた文字列を作成します。

どうやらやり方が違うようです。

Objective-C 側では、正しい外観のエンコードされた文字列を生成する署名クラスとして OAuthCustomer を使用しています。

PHP側では、これを生成するbase64エンコーディングで組み込み関数 hash_hmac('sha1',...) を使用しています:

次に、別の関数(ここで説明)を使用しようとしましたが、これは base64 エンコーディングで次のように生成されます。

この問題を解決する方法がまったくわからず、なぜこれが起こるのかさえわかりません。

助けてくれてありがとう、

ポール

0 投票する
3 に答える
3033 参照

php - PHP Password storage with HMAC+nonce - Is nonce randomness important?

ここ数年、PHP のパスワード ストレージを安全にする方法について、stackoverflow で質問しました。主な答えは、次のハッシュアルゴリズムを使用することを提案しています:

答えは、ランダムナンスを使用することを提案しています。単純な一意のナンスよりもランダムなナンスを持つことに利点はありますか?

たとえば、各ユーザーは変更されない独自の ID を持つことができます。ただし、ユーザー ID はシーケンシャル (MySQL の自動インクリメント機能で作成) であり、ランダムではないと仮定しましょう。ユーザー ID はナンスとして適切でしょうか、それともランダム性は重要ですか?

これで、各ユーザーがユーザー名を選択できるようになりました。各ユーザーには変更されない独自のユーザー名があり、2 人の異なるユーザーが同じユーザー名を持つことはできません。ユーザー名はまだランダムではありませんが、シーケンシャルでもありません。ユーザー名はノンスとして十分でしょうか? ユーザーIDを使用するよりも良いでしょうか?

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

php - RFC 2104 HMAC-SHA1 の最適な実装

RFC 2104 HMAC-SHA1 alg の最適な実装は何ですか? phpで?http://us2.php.net/manual/en/function.hash-hmac.phpを読みましたが、試してみると
異なる結果が得られます。
ありがとう

0 投票する
5 に答える
9995 参照

algorithm - SHA1ハッシュをどれだけ切り捨てて、一意のIDを持っていることを合理的に確認できますか?

ドキュメントを保存し、タイムスタンプを含むいくつかのSHA1ダイジェストに基づいて各ドキュメントにUIDを与えるアプリケーションを作成しています。ダイジェストには多くの文字が含まれているため、ユーザーが完全なダイジェストの最初のx文字を使用してドキュメントを識別できるようにしたいと思います。ドキュメントの数が約10K〜100Kの場合、xの適切な値は何ですか?

0 投票する
3 に答える
42081 参照

python - hashlib sha1 を使用した Python 暗号化の基礎

特に python では、暗号化がどのように機能し、コード化されているかを完全に理解するのに苦労しています。基本を理解し、最も単純な形式でコードを作成しようとしています。

2 つの異なるサイト間でユーザー ID を渡す予定ですが、明らかにこれを秘密鍵で暗号化して、Website2 が Website1 からのものであることを認識できるようにする必要があります。これは私にとってはコードのようです: http://docs.python.org/library/hashlib.html#module-hashlibですが、あまり良い例がありません (または、間違った場所にいる可能性があります)。

私が抱えている問題は、エンコードとデコードの方法を完全に理解することです。

したがって、各 Web サイトが認識する共有秘密鍵は次のようになります。

そして、Website1 が Website2 に次のユーザー ID を渡すようにします。

Web サイト 1 は、暗号化を HTTP ヘッダー経由で送信できるように秘密鍵を使用してユーザー ID を暗号化し、Web サイト 2 が共有秘密鍵を使用してユーザー ID を解読して読み取ることができるようにするにはどうすればよいでしょうか?

このような基本的な質問をして申し訳ありませんが、これをどのように行うべきかを理解できていません。ありがとう。

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

wcf - WCF で呼び出し元/サーバーを確認する

私のシナリオ:

  • 私の管理外の環境にある多くの WCF クライアント
  • サーバーは私のものか、私の管理外の環境にあります

したがって、最悪の場合、クライアントとサーバーは私の管理外です。より具体的には、このコードをホストしている誰かが、サーバーまたはクライアント (サーバーの可能性が高い) のいずれかを悪意を持って偽装しようとする可能性があると推測できます。ただし、クライアントはサーバーが私のコードであることを確認する必要があり、サーバーはクライアントが私のコードであることを確認する必要があります。証明書を使用するためのすべての推奨事項を見てきました。ただし、それは私のシナリオでのオプションですか?

私が検討した 1 つのアプローチは、IClientMessageInspector と IDispatchMessageInspector を記述して、両側でカスタム SOAP ヘッダーを設定および検証することです。ソース コードに含まれる秘密鍵に基づいて HMAC 署名を作成し (これを隠しておく方法があると仮定します)、メッセージ本文に基づいてダイジェストを検証します。

これはうまくいくと思います。ただし、ここで見逃している、すぐに使える何かがあるように感じます。私は近づいていますか、軌道から外れていますか?ご指導ありがとうございます。

0 投票する
3 に答える
29339 参照

security - HMAC と単純な MD5 ハッシュ

使用する利点を指摘できる人HMАCはいますか?

たとえば、 textTと keyがある場合、アルゴリズムまたは署名のKいずれかを使用できます。HMAC-MD5Md5(T + K)

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

cryptography - PBKDF2-HMAC-SHA2 テスト ベクトル

RFC6070には PBKDF2-HMAC-SHA1 のテスト ベクトルがあります。RFC4231に HMAC-SHA2 のテスト ベクトルがあります。

しかし、これまでのところ、PBKDF2-HMAC-SHA2 のテスト ベクトルはどこにも見つかりませんでした。

私は SHA256 に最も興味があるので、実装で計算したいくつかのベクトルを投稿します。誰かがそれらを検証/確認したり、自分で貢献したりできれば幸いです。