2017-09-05 78 views
-4

我有一個HMAC的消息。它是一種基於密鑰的消息摘要算法,可用於驗證消息的完整性。蠻力HMAC

我想強暴它,我知道HMAC消息的長度是6,但不知道密鑰。該消息用於驗證令牌的完整性。

在服務器端我使用Python和它的圖書館

import HMAC 

我可以蠻力並獲得密鑰?一個正常的系統可能嗎?因爲它的長度只有6,我希望強制這條消息看到這個消息被加密的密鑰。

+0

StackOverflow的範圍是關於編寫代碼的具體實用問題*。關於安全相關算法是什麼和不可能的問題更可能成爲[security.se]的熱門話題。也就是說,假設鑰匙長度適中,信息短小並不能使暴力行爲的工作更容易。 (事實上​​,這個消息是*已知的*使得它的長度不相關)。 –

+0

是的謝謝你的回覆我已經把問題放在錯誤的部分 – Dumb

回答

0

假設您具有使用HMAC(我們稱之爲last_post)和HMAC(我們稱之爲last_post_hmac)驗證的值。

遍歷密鑰空間:

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

然後,每猜token產生猜測HMAC:

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

,並比較這實際HMAC last_post_hmac。如果它們匹配,則token是服務器使用的實際令牌。

+0

謝謝了:) – Dumb