2017-09-05 17 views
-4

私はメッセージ用のHMACを持っています。これは、メッセージの整合性を検証するために使用できるキーベースのメッセージダイジェストアルゴリズムです。ブルートフォースHMAC

私はそれを強要したいと思います。私はHMACメッセージの長さを知っていますが、これは6ですが、秘密鍵は分かりません。このメッセージは、トークンの整合性を検証するために使用されます。サーバー側では

私はPythonとそのライブラリを使用しています

import HMAC 

は私が力をブルートと秘密鍵を取得することはできますか?通常のシステムでは可能ですか?その長さはわずか6であり、私はこのメッセージがこのメッセージが暗号化されている秘密鍵を見ることを強要したい。

+0

StackOverflowのスコープは具体的な、実用的な質問です*コードを書くことについて*。セキュリティ関連のアルゴリズムに関して何が可能かどうかについての質問は、[security.se]のトピックになる可能性が高いです。つまり、キーが適切に長いと仮定すると、メッセージが短くてもブルートフォースの仕事は簡単にはなりません。 (実際、*知られている*メッセージはその長さを無関係にします)。 –

+0

返信ありがとう私は間違ったセクションに質問を入れました – Dumb

答えて

0

HMAC(それはlast_postと呼ぶ)とHMAC(それをlast_post_hmacと呼ぶ)を使って検証された値があると仮定します。

鍵空間を反復:

guessed = hmac.new(token.encode(), last_post).hexdigest() 

と実際のHMAC last_post_hmacこの比較:それぞれについて

for i, token in enumerate(permutations(string.ascii_lowercase, 6)): 

その後は推測HMACを生成tokenを推測しました。一致する場合は、サーバーによって使用される実際のトークンはtokenです。

+0

ありがとう:) – Dumb