Key-Derivation

來自 n 個密鑰的 NMaster 密鑰

  • December 8, 2015

我必須從 N 密鑰派生主密鑰。在主密鑰的幫助下,我可以收集所有用於派生主密鑰的密鑰。

key1, key2,..keyN ==>單一主密鑰

單一主密鑰==> key1, key2,..keyN

這甚至可能嗎?

對的,這是可能的。有許多不同的解決方案。

一個依賴於一個大的隨機排列,易於計算的排列 $ (\pi,\pi^{-1}) $ 在字元串上 $ Nl $ 位。萬能鑰匙是 $ n $ -位串 $ \mathit{mk} $ , 這 $ i $ 第一個關鍵份額 $ k_i $ 是一個 $ l $ -位串,有 $ N $ 關鍵股份和 $ 0^{Nl-n} $ 是一串 $ Nl-n $ 零。字元串的連接 $ x $ 和 $ y $ 表示為 $ x||y $ . 然後使用從主密鑰派生密鑰份額

$$ k_1 || k_2 || \dots || k_N = \pi(\mathit{mk} || 0^{Nl-n}). $$ 要從密鑰共享中恢復主密鑰,請計算 $$ \mathit{mk} || 0^{Nl-n} = \pi^{-1}(k_1 || k_2 || \dots || k_N). $$ 這對於隨機排列是安全的,因此對於看起來隨機的排列也應該是安全的。

您可以使用 Feistel 構造、Luby-Rackoff 和隨機預言機建構足夠大的隨機排列。

如果您希望能夠從密鑰共享的子集中恢復主密鑰,則需要進行秘密共享。應該可以做到這一點,但它比較棘手,而且您沒有獲得資訊理論安全性。這可能不是問題。(上述排列解決方案也沒有獲得資訊理論安全性。)

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