Encryption
無鹽和 IV 的 AES 加密
我需要用 AES256 加密 16KiB 的塊。我只有一個要求要滿足——如果有一天黑客在沒有密鑰的情況下獲得了數據,他將無法破譯數據。
根據設計:
- 每個塊將有一個不同的隨機密鑰
- 塊彼此不同
由於空間問題,我打算不使用鹽也不使用 IV。
- 給定 1 + 2,放棄鹽和靜脈注射仍然安全嗎?
- 我應該使用哪種模式?
謝謝
這裡有兩個塊需要考慮。您提到的 16KiB 塊必須加密,並且這些塊由 AES 塊密碼加密。讓我們稱你的塊片段。
ECB 對於彼此沒有任何關聯的區塊是安全的。您的片段,無論多麼獨特,仍可能包含不唯一的塊。如果是這種情況,那麼歐洲央行將洩露有關相同區塊的資訊。CBC 將克服這一點,特別是如果每個塊都有自己的密鑰。
所以:
給定 1 + 2,放棄鹽和靜脈注射仍然安全嗎?
是的,但不適用於歐洲央行;歐洲央行幾乎從來都不是一個好主意。
我應該使用哪種模式?
CBC 或任何其他可安全保護靜態數據的模式。
如果您還需要完整性和真實性,則需要經過身份驗證的密碼或 MAC。這些在傳輸協議中基本上總是需要的。