Keys

我可以壓縮嗎192192192字節鍵進入161616或者323232稍後可在 KDF 中用於恢復完整密鑰的字節

  • September 4, 2020

我有鑰匙 $ k $ 這是 $ 192 $ 字節長。有沒有一種安全的方法可以首先將此密鑰壓縮成 $ 16 $ 或者 $ 32 $ 字節,但是以這樣一種方式,後來給了那些 $ 16 $ ( $ 32 $ ) 字節我可以使用密鑰派生函式來恢復完整的 $ 192 $ 字節 $ k $ ?

不,沒有辦法(安全或其他)壓縮隨機 $ 192 $ 字節值變成更小的東西;編碼是不可能的 $ 2^{8 \times 192} $ 位可能的設置僅 32 個字節(或 $ 191 $ 字節,就此而言…)

一些例外:

  • 如果這 192 個字節是非隨機的,也就是說,那些 192 位設置中的絕大多數是不可能的,那麼您可以將哪個可能的設置編碼為 32 個字節;這意味著,在 $ 2^{1536} $ 這 192 個字節的可能值,僅 $ 2^{256} $ 是可能的,那麼你就可以做到。我能想到的唯一可能發生這種情況的方法是,如果 192 字節是某種公鑰或私鑰,源自更小的 32 字節種子(並且您只需儲存 32 字節種子,並根據需要重新導出)。
  • 如果您不介意失敗的可能性很大;如果你不介意失敗 $ 99.6% $ 當時,您可以將其修剪為 $ 191 $ 字節。但是,這實際上並不能擴展到將事情歸結為 $ 32 $ 您感興趣的字節級別。
  • 如果你不關心具體的價值 $ 192 $ bytes 密鑰(只是它是“安全地”生成的),那麼你可以做的是選擇一個 $ 32 $ 字節秘密種子,並使用 KDF 將其擴展為完整的 $ 192 $ 字節。這會奏效;但是,從您的問題來看,這聽起來不像您要問的。

順便說一句:如果您詢問“安全”方法,您需要定義您的意思。哪些操作需要讓對手難以應對?在這種情況下,沒有方法(因此問題沒有實際意義),但是在其他情況下,這很重要。

引用自:https://crypto.stackexchange.com/questions/83748