Block-Cipher
位填充而不是 PKCS#5 填充
當使用 CBC 模式加密而不進行身份驗證時,填充預言攻擊是一個巨大的麻煩。如果我們只使用位填充,難道不會避免所有這些填充預言攻擊嗎?還是位填充在解密過程中也會洩漏資訊?
對於字節對齊的數據,位填充允許填充預言攻擊。每條消息都必須以一個
0x80
字節結尾,後跟任意數量的零字節。您可以一次迭代一個字節,就像使用許多其他字節填充一樣。如果您允許的明文長度不是完整的字節數,就不可能進行攻擊。(不是以完整的零塊結尾的每個明文都會解碼,因此不會受到攻擊。)但是,大多數現實世界的加密都使用字節對齊的數據。