分割加密文件對經典或量子是安全的
我對密碼學很陌生,這聽起來很愚蠢。我經常讀到量子電腦會暴力破解密鑰。讓我們假設這是真的(它取決於密鑰長度嗎?還是取決於算法?我不知道,假設他們會)。
如果我有一個使用 ChaCha20-Poly1305 加密的文件,或者可能是一個具有預設選項(AES 256?)的 LUKS 加密分區,我將該文件一分為二。如果你只有兩者中的一個,你能暴力破解任何東西嗎?你能恢復什麼嗎?是否有包含元數據的標題?
讓我們假設這是真的(它取決於密鑰長度嗎?取決於算法?我不知道,假設他們會)。
對於量子電腦的密鑰搜尋,我們有 Grover 算法。給定關鍵空間 $ 2^n $ , Grover 算法可以在 $ \mathcal{O}(\sqrt{2^n}) $ -時間和 $ \mathcal{O}(\log{2^n}) $ -空間。如果我們考慮密鑰大小 128 和 256 位,我們將有成本;
$$ \begin{array} {|c|c|}\hline \text{Key Size} & \text{time} & \text{space} \ \hline 2^{128} & c\sqrt{2^{128}} = c{2^{64}} & d\log{2^{128}} \ \hline 2^{256} & c’\sqrt{2^{256}} = c’{2^{128}}& d’\log{2^{256}} \ \hline \end{array} $$
在哪裡 $ c,c’,d,d’ $ 是一些整數常數(我們量化了 $ n $ 所以我們需要常數)。
預計 128 位密碼將會消失,儘管這是一個短篇故事,因為目前尚不清楚如何執行 ~ $ 2^{64} $ Grover算法的順序評估。而且,我們可以從 NIST 的後量子密碼學競賽中看到這一點;比賽中沒有分組密碼部分!
雖然,格羅弗斯的算法可以並行化 $ t $ 機器,不像經典的,我們只得到 $ \sqrt{t} $ 加速而不是 $ t $ .
如果你只有兩者中的一個,你能暴力破解任何東西嗎?你能恢復什麼嗎?
AES-256 或任何經典安全的 256 位密鑰密碼對量子攻擊是安全的。我們已經知道,Grover 的算法對於暴力搜尋是最佳的。
AES-256 或 ChaCha20-Poly1305(使用 256 位密鑰)具有統一隨機生成的密鑰* - 用於加密,但密鑰加密密鑰 (KEK) 存在危險;
- 在使用 LUKS 時,通常會選擇一個密碼來轉換為帶有密鑰導出函式 (KDF) 的 KEK,該函式可從已實現的 KDF 中選擇。雖然密鑰派生功能可以增加密碼搜尋的暴力破解時間(時間和空間),但您有責任擁有一個不可暴力破解的好密碼。建議您使用必須提供等於 256 位密碼強度的 Dicewire 或類似 Bip39 的密碼生成方法。
- 對於Bip-39,您需要 15 個單詞才能到達周圍 $ \approx 2^{260} $
將該文件一分為二
這可以通過兩種方式閱讀;
- 文件被加密然後拆分 這在攻擊者的意義上並不重要,因為如果他們獲得第二部分,它只會影響 nonce 部分。他們可以根據您的除法算法嘗試候選人,我們可能認為這種算法很簡單和/或已知。
- 文件被拆分然後加密
這與攻擊使用不同密鑰加密的兩個文件沒有什麼不同。只是雙倍時間。
是否有包含元數據的標題?
是的,在容器的頂部,建議您備份它。看
簡而言之
使用帶有良好密碼的 AES-256 或 ChaCHa20,就可以了,只要安全實施 LUKS,似乎可以。
*嗯,那也是一個短篇小說。在 IV 上應該小心,因為它們是 CTR 模式(AES-GCM 和 ChaCha20 使用 CTR 模式),這可能會導致刪除機密性的嬰兒床拖動攻擊,至少